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
PerfLoghas been added to more of theExodusIIinterface.The
Parametersclassprint_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_DISCONTINUOUSdata fields which are discontinuous on true elements' edges and vertices.Overloads for
TypeTensorandTypeVectorclasses in the template metafunctionsRawTypeandReplaceAlgebraicType.A new
TensorTraitsclass, 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
PetscNonlinearSolverinterface when combined with Adaptive Mesh RefinementFixed the
Poly2TriTriangulatorrefinement code behavior when it is told not to refine at all.Fixed
MeshedHoleboundary orientation issues, thereby fixing a bug whenPoly2TriTriangulatoris required to refine a hole boundary initially defined by another mesh.Fixed fragile
SIDE_DISCONTINUOUSbehavior when combined with other variable types on aHEX27.
More test coverage