Go to the documentation of this file.
16 #include "libmesh/mesh_smoother_laplace.h"
17 #include "libmesh/unstructured_mesh.h"
27 params.
addClassDescription(
"Utilizes a simple Laplacian based smoother to attempt to improve "
28 "mesh quality. Will not move boundary nodes or nodes along "
29 "block/subdomain boundaries");
31 params.
addParam<
unsigned int>(
"iterations", 1,
"The number of smoothing iterations to do.");
37 :
MeshModifier(parameters), _iterations(getParam<unsigned int>(
"iterations"))
46 mooseError(
"_mesh_ptr must be initialized before calling SmoothMesh::modify()");
48 LaplaceMeshSmoother lms(static_cast<UnstructuredMesh &>(
_mesh_ptr->
getMesh()));
void mooseError(Args &&... args) const
InputParameters validParams< MeshModifier >()
SmoothMesh(const InputParameters ¶meters)
registerMooseObjectReplaced("MooseApp", SmoothMesh, "11/30/2019 00:00", SmoothMeshGeneraotr)
InputParameters validParams< SmoothMesh >()
MooseMesh * _mesh_ptr
Pointer to the mesh.
MeshModifier for doing mesh smoothing.
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
unsigned int _iterations
The number of smoothing passes to do.
virtual void modify() override
Pure virtual modify function MUST be overridden by children classes.
MeshModifiers are objects that can modify or add to an existing mesh.