MOOSE Newsletter (September 2022)
MOOSE Improvements
New Mesh Generators
With the new PolyLineMeshGenerator, a set of user points can be connected into a mesh (either an open-ended polyline or a closed loop) of Edge2
elements.
Starting with an edge loop in the X-Y plane (or with the boundary of a different 2D mesh) to define an outer boundary, and optionally adding holes defined by other edge loops and/or 2D meshes, the new XYDelaunayGenerator can generate a triangle mesh inside the defined domain. User options allow for uniform (or as-needed) refinement of external and internal boundaries, and uniform or spatially-varying bounds on internal triangle sizes. A simple Laplacian mesh smoothing option exists to improve the resulting triangulation shape quality. Each hole can be left empty or can be stitched to the input mesh which was used to define it. This generator can be used recursively, so holes within holes can be used to define layered internal boundaries.
libMesh-level Changes
2022.09.09
Update
Performance logging via
PerfLog
has been added to more of theExodusII
interface.The
Parameters
classprint_helper()
has been overloaded to handle nested vector-of-vectors-of-vectors parameters, soParameter<T>::print()
can now operate with that type asT
.ExodusII::write_added_sides()
support, which can be turned on to automatically generate "side elements" in output, useful for visualization ofSIDE_DISCONTINUOUS
data fields which are discontinuous on true elements' edges and vertices.Overloads for
TypeTensor
andTypeVector
classes in the template metafunctionsRawType
andReplaceAlgebraicType
.A new
TensorTraits
class, for easier writing of generic algorithms that can handle scalar, vector, and tensor classes.Code refactoring and bug fixes, including
Fixed preconditioner reuse in the
PetscNonlinearSolver
interface when combined with Adaptive Mesh RefinementFixed the
Poly2TriTriangulator
refinement code behavior when it is told not to refine at all.Fixed
MeshedHole
boundary orientation issues, thereby fixing a bug whenPoly2TriTriangulator
is required to refine a hole boundary initially defined by another mesh.Fixed fragile
SIDE_DISCONTINUOUS
behavior when combined with other variable types on aHEX27
.
More test coverage