10#ifdef MOOSE_MFEM_ENABLED
33 void labelMesh(mfem::ParMesh & parent_mesh);
36 void setAttributes(mfem::ParMesh & parent_mesh, mfem::Array<int> & transition_els);
39 bool isInDomain(
const int & el,
const mfem::Array<int> & subdomains,
const mfem::ParMesh &
mesh);
Base class for construction of an object that is restricted to a subset of subdomains of the problem ...
Modifies the MFEM Mesh to label a subdomain consisting of elements adjacent to an interior surface on...
static InputParameters validParams()
const SubdomainName & _transition_subdomain
const SubdomainName & _closed_subdomain
const BoundaryName & _transition_subdomain_boundary
void labelMesh(mfem::ParMesh &parent_mesh)
Add attributes to the parent mesh representing the cut transition region.
const BoundaryName & _cut_boundary
void setAttributes(mfem::ParMesh &parent_mesh, mfem::Array< int > &transition_els)
Set new attributes for the provided transition region elements.
bool isInDomain(const int &el, const mfem::Array< int > &subdomains, const mfem::ParMesh &mesh)
Checks whether a given element is within a certain domain or vector of domains.
mfem::Vector findFaceNormal(const mfem::ParMesh &mesh, const int &face)
Finds the normal vector of a face in the mesh from its vertices.
virtual void buildSubMesh() override
Constructs the submesh.
std::shared_ptr< mfem::ParSubMesh > _cut_submesh
bool isPositiveSideOfCut(const int &el, const int &el_vertex_on_cut, mfem::ParMesh &mesh)
Checks whether an element lies on the positive or negative side of the cut plane.
Base class for construction of a mfem::ParSubMesh object.
const InputParameters & parameters() const
Get the parameters of the object.