20 #ifndef LIBMESH_MESH_SMOOTHER_LAPLACE_H 21 #define LIBMESH_MESH_SMOOTHER_LAPLACE_H 27 #include "libmesh/libmesh.h" 28 #include "libmesh/mesh_smoother.h" 72 void smooth(
unsigned int n_iterations);
104 std::vector<std::vector<dof_id_type>>
_graph;
110 #endif // LIBMESH_MESH_SMOOTHER_LAPLACE_H std::vector< std::vector< dof_id_type > > _graph
Data structure for holding the L-graph.
virtual void smooth() override
Redefinition of the smooth function from the base class.
bool _initialized
True if the L-graph has been created, false otherwise.
void print_graph(std::ostream &out_stream=libMesh::out) const
Mainly for debugging, this function will print out the connectivity graph which has been created...
void init()
Initialization for the Laplace smoothing routine is basically identical to building an "L-graph" whic...
The libMesh namespace provides an interface to certain functionality in the library.
This class defines the data structures necessary for Laplace smoothing.
The UnstructuredMesh class is derived from the MeshBase class.
LaplaceMeshSmoother(UnstructuredMesh &mesh)
Constructor.
void allgather_graph()
This function allgather's the (local) graph after it is computed on each processor by the init() func...
This class provides the necessary interface for mesh smoothing.
virtual ~LaplaceMeshSmoother()=default
Destructor.