20 #ifndef GEOS_MESH_SURFACEELEMENTSUBREGION_HPP_ 
   21 #define GEOS_MESH_SURFACEELEMENTSUBREGION_HPP_ 
   27 #include "CellElementSubRegion.hpp" 
   58   { 
return "SurfaceElementSubRegion"; }
 
localIndex const  & numNodesPerElement() const
Get the number of nodes per element.
 
void calculateElementCenters(NODE_MAP const &toNodesRelation, arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &X) const
Compute the center of each element in the subregion.
 
void calculateElementCenters(arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &X) const
Compute the center of each element in the subregion.
 
arrayView2d< real64 const > getNormalVector() const
Const accessor to the normal vectors.
 
arrayView1d< real64 > getElementArea()
Get face element surface area.
 
EdgeMapType const  & edgeList() const
Get the surface element to edges map.
 
array1d< real64 > m_elementAperture
Member level field for the element center.
 
NodeMapType m_toNodesRelation
list of nodes
 
map< localIndex, array1d< globalIndex > > m_unmappedGlobalIndicesInToNodes
Unmapped surface elements to nodes map.
 
arrayView1d< real64 const > getElementAperture() const
Get face element aperture.
 
arrayView2d< real64 const > getTangentVector2() const
Get an array of the second tangent vector of the surface elements.
 
SurfaceElementSubRegion(string const &name, dataRepository::Group *const parent)
Constructor.
 
static string catalogName()
Get catalog name.
 
localIndex numNodesPerElement(localIndex const k) const final
Get the number of nodes per element.
 
arrayView2d< real64 const > getTangentVector1() const
Get an array of the first tangent vector of the surface elements.
 
virtual ~SurfaceElementSubRegion() override
Destructor.
 
localIndex const  & nodeList(localIndex const k, localIndex a) const
Get the local index of the a-th node of the k-th element.
 
array1d< real64 > m_elementArea
Member level field for the element center.
 
arrayView2d< real64 > getNormalVector()
Non const accessor to the normal vectors.
 
arrayView1d< real64 > getElementAperture()
Get face element aperture.
 
arrayView1d< real64 const > getElementArea() const
Get face element surface area.
 
arrayView2d< real64 > getTangentVector1()
Get an array of the first tangent vector of the surface elements.
 
localIndex & nodeList(localIndex const k, localIndex a)
Get the local index of the a-th node of the k-th element.
 
array2d< real64 > m_tangentVector1
Unit vector indicating the first tangential direction.
 
array2d< real64 > m_tangentVector2
Unit vector indicating the second tangential direction.
 
EdgeMapType & edgeList()
Get the surface element to edges map.
 
arraySlice1d< real64 const > getNormalVector(localIndex k) const
Get normal vector of a specific surface element.
 
EdgeMapType m_toEdgesRelation
list of edges
 
NodeMapType & nodeList()
Get the face element to nodes map.
 
arraySlice1d< real64 const > getTangentVector1(localIndex const k) const
Get the first tangent vector of a specific surface element.
 
virtual string getCatalogName() const override
Get catalog name.
 
NodeMapType const  & nodeList() const
Get the face element to nodes map.
 
arrayView2d< real64 > getTangentVector2()
Get an array of the first tangent vector of the surface elements.
 
array2d< real64 > m_normalVector
Normal vector to the surface element.
 
arraySlice1d< real64 const > getTangentVector2(localIndex const k) const
Get the second tangent vector of a specific surface element.
 
Base template for ordered and unordered maps.
 
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
 
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
 
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
 
ArraySlice< T, 1, USD > arraySlice1d
Alias for 1D array slice.
 
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
 
Array< T, 1 > array1d
Alias for 1D array.
 
A struct to serve as a container for variable strings and keys.
 
Struct containing the keys to all surface element views.
 
static constexpr char const  * surfaceElementsToCellSubRegionsString()
 
static constexpr char const  * surfaceElementsToCellIndexString()
 
static constexpr char const  * surfaceElementsToCellRegionsString()
 
constexpr static char const  * surfaceElementToParentPlaneString()