16 #ifndef GEOS_FACEBLOCK_HPP
17 #define GEOS_FACEBLOCK_HPP
19 #include "FaceBlockABC.hpp"
38 Group *
const parent )
Block of 2d elements (geometrical surfaces in 3d).
Simple implementation of the FaceBlockABC contract.
void set2dFaceTo2dElems(ArrayOfArrays< localIndex > &&_2dFaceTo2dElems)
Defines the 2d faces to elements mapping.
FaceBlock(string const &name, Group *const parent)
Constructor.
array1d< localIndex > get2dFaceToEdge() const override
Get one 3d edge equivalent for each 2d faces (geometrical edges in 3d).
ArrayOfArrays< array1d< globalIndex > > get2dElemsToCollocatedNodesBuckets() const override
Returns the collocated nodes for each node of each 2d element of the FaceBlockABC.
array1d< globalIndex > localToGlobalMap() const override
Get local to global map for the 2d elements.
void set2dElemToNodes(ArrayOfArrays< localIndex > &&_2dElemToNodes)
Defines the 2d elements to nodes mapping.
void set2dElemToElems(ToCellRelation< ArrayOfArrays< localIndex > > &&_2dElemToElems)
Defines the 2d elements to 3d elements mapping.
void setNum2dFaces(localIndex num2DFaces)
Defines the number of 2d faces.
localIndex num2dFaces() const override
Get the number of 2d faces (geometrical segments in 3d).
ArrayOfArrays< localIndex > get2dElemToEdges() const override
Get the 3d edges of each 2d element (geometrical surfaces in 3d).
void setNum2dElements(localIndex num2DElements)
Defines the number of 2d elements.
void set2dFaceToEdge(array1d< localIndex > &&_2dFaceToEdge)
Defines the 2d faces to edges mapping.
void set2dElemToFaces(ArrayOfArrays< localIndex > &&_2dElemToFaces)
Defines the 2d elements to faces mapping.
ArrayOfArrays< localIndex > get2dElemToNodes() const override
Get the nodes of each 2d element (geometrical surfaces in 3d).
void set2dElemsToCollocatedNodesBuckets(ArrayOfArrays< array1d< globalIndex > > &&collocatedNodesBuckets)
Defines the collocated nodes bucket.
ArrayOfArrays< localIndex > get2dFaceTo2dElems() const override
Get the 2d element(s) (geometrical surfaces in 3d) connected to each 2d face (geometrical 3d segment)...
ArrayOfArrays< localIndex > get2dElemToFaces() const override
Get the 3d faces (of the volumic mesh) that are aside each 2d element (geometrical surfaces in 3d) of...
ToCellRelation< ArrayOfArrays< localIndex > > get2dElemToElems() const override
Get the 3d elements that are aside each 2d element (geometrical surfaces in 3d) of the FaceBlockABC.
void setLocalToGlobalMap(array1d< globalIndex > &&l2g)
void set2dElemToEdges(ArrayOfArrays< localIndex > &&_2dElemToEdges)
Defines the 2d elements to edges mapping.
localIndex num2dElements() const override
Get the number of 2d elements (geometrical surfaces in 3d).
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
Array< T, 1 > array1d
Alias for 1D array.
LvArray::ArrayOfArrays< T, INDEX_TYPE, LvArray::ChaiBuffer > ArrayOfArrays
Array of variable-sized arrays. See LvArray::ArrayOfArrays for details.
Container for maps from a mesh object (node, edge or face) to cells.