10 #ifdef MOOSE_MFEM_ENABLED 32 void labelMesh(mfem::ParMesh & parent_mesh);
35 void setAttributes(mfem::ParMesh & parent_mesh, mfem::Array<int> & transition_els);
38 bool isInDomain(
const int & el,
const mfem::Array<int> & subdomains,
const mfem::ParMesh &
mesh);
44 int sideOfCut(
const int & el,
const int & el_vertex_on_cut, mfem::ParMesh &
mesh);
const BoundaryName & _cut_boundary
Modifies the MFEM Mesh to label a subdomain consisting of elements adjacent to an interior surface on...
const SubdomainName & _closed_subdomain
const InputParameters & parameters() const
Get the parameters of the object.
virtual void buildSubMesh() override
Constructs the submesh.
const BoundaryName & _transition_subdomain_boundary
void labelMesh(mfem::ParMesh &parent_mesh)
Add attributes to the parent mesh representing the cut transition region.
int sideOfCut(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. ...
MFEMCutTransitionSubMesh(const InputParameters ¶meters)
const SubdomainName & _transition_subdomain
Base class for construction of a mfem::ParSubMesh object.
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.
std::shared_ptr< mfem::ParSubMesh > _cut_submesh
void setAttributes(mfem::ParMesh &parent_mesh, mfem::Array< int > &transition_els)
Set new attributes for the provided transition region elements.
mfem::Vector findFaceNormal(const mfem::ParMesh &mesh, const int &face)
Finds the normal vector of a face in the mesh from its vertices.
static InputParameters validParams()
Base class for construction of an object that is restricted to a subset of subdomains of the problem ...