12#ifndef MFEM_PNCSUBMESH
13#define MFEM_PNCSUBMESH
22#include <unordered_map>
A class for non-conforming AMR. The class is not used directly by the user, rather it is an extension...
friend class ParNCSubMesh
A parallel extension of the NCMesh class.
Class representing a Parallel Nonconformal SubMesh. This is only used by ParSubMesh.
Array< int > parent_node_ids_
static bool IsParNCSubMesh(const NCMesh *m)
Check if NCMesh m is a ParNCSubMesh.
Array< int > parent_element_ids_
SubMesh::From From
Convenience type alias.
const HashTable< Face > & ParentFaces() const
Accessor for parent faces.
const ParNCMesh * parent_
The parent ParNCMesh. Not owned.
const HashTable< Node > & ParentNodes() const
Accessor for parent nodes.
const ParNCMesh * GetParent() const
Get the parent ParNCMesh object.
std::unordered_map< int, int > parent_to_submesh_element_ids_
Mapping from parent NCMesh element ids to submesh NCMesh element ids.
std::unordered_map< int, int > parent_to_submesh_node_ids_
Mapping from parent NCMesh node ids to submesh NCMesh node ids.
Subdomain representation of a topological parent in another ParMesh.
From
Indicator from which part of the parent Mesh the SubMesh is created.
void ConstructFaceTree(NCSubMeshT &submesh, const Array< int > &attributes)
Construct a nonconformal mesh (serial or parallel) for a surface submesh, from an existing nonconform...
void ConstructVolumeTree(NCSubMeshT &submesh, const Array< int > &attributes)
Construct a nonconformal mesh (serial or parallel) for a volume submesh, from an existing nonconforma...