10#ifdef MOOSE_MFEM_ENABLED
47 std::vector<std::filesystem::path>
53 std::unique_ptr<MooseMesh>
safeClone()
const override;
72 void displace(mfem::GridFunction
const & displacement);
104inline const mfem::ParMesh &
MFEMMesh inherits a MOOSE mesh class which allows us to work with other MOOSE objects.
SubdomainID nSubdomains() const override
std::optional< std::string > _mesh_displacement_variable
Holds name of variable used for mesh displacement, if set.
mfem::ParMesh & getMFEMParMesh()
Accessors for the _mfem_par_mesh object.
std::unique_ptr< MooseMesh > safeClone() const override
Clones the mesh.
std::optional< std::reference_wrapper< std::string const > > getMeshDisplacementVariable() const
Returns an optional reference to displacement variable name.
unsigned int dimension() const override
Returns MeshBase::mesh_dimension(), (not MeshBase::spatial_dimension()!) of the underlying libMesh me...
std::vector< std::filesystem::path > writeRecoveryFiles(const std::filesystem::path &file_base) override
Write the mesh files needed for recovery/checkpointing.
dof_id_type nActiveElem() const override
static InputParameters validParams()
void uniformRefinement(mfem::Mesh &mesh, const unsigned int nref) const
Performs a uniform refinement on the chosen mesh nref times.
bool isDistributedMesh() const override
Returns the final Mesh distribution type.
std::shared_ptr< mfem::ParMesh > getMFEMParMeshPtr()
Copy a shared_ptr to the mfem::ParMesh object.
void displace(mfem::GridFunction const &displacement)
Displace the nodes of the mesh by the given displacement.
unsigned int spatialDimension() const override
Returns MeshBase::spatial_dimension.
void buildDummyMooseMesh()
Builds a placeholder mesh when no MOOSE mesh is required.
dof_id_type nActiveLocalElem() const override
void init() override
Build MFEM ParMesh and a placeholder MOOSE mesh.
std::shared_ptr< mfem::ParMesh > _mfem_par_mesh
Smart pointers to mfem::ParMesh object.
bool shouldDisplace() const
Returns true if mesh displacement is required.
void buildMesh() override
Must be overridden by child classes.
const InputParameters & parameters() const
Get the parameters of the object.