21 #ifndef GEOS_MESH_SURFACEELEMENTREGION_HPP_
22 #define GEOS_MESH_SURFACEELEMENTREGION_HPP_
24 #include "ElementRegionBase.hpp"
89 {
return "SurfaceElementRegion"; }
158 template<
typename SUBREGION_TYPE >
161 return getSubRegion< SUBREGION_TYPE >( getUniqueSubRegionName< SUBREGION_TYPE >() );
170 template<
typename SUBREGION_TYPE >
173 return getSubRegion< SUBREGION_TYPE >( getUniqueSubRegionName< SUBREGION_TYPE >() );
211 template<
typename SUBREGION_TYPE >
212 string getUniqueSubRegionName()
const
215 forElementSubRegions< SUBREGION_TYPE >( [&]( SUBREGION_TYPE
const & sr )
217 subRegionNames.push_back( sr.getName() );
220 GEOS_FMT(
"Surface region should have one unique sub region ({} found).", subRegionNames.size() ),
222 return subRegionNames.front();
234 string m_faceBlockName;
#define GEOS_ERROR_IF(COND,...)
Conditionally raise a hard error and terminate the program.
The ElementRegionBase is the base class to manage the data stored at the element level.
The FaceManager class provides an interface to ObjectManagerBase in order to manage face data.
SUBREGION_TYPE const & getUniqueSubRegion() const
Returns the unique sub-region of type SUBREGION_TYPE for the current SurfaceElementRegion.
localIndex addToFractureMesh(real64 const time_np1, FaceManager const *const faceManager, ArrayOfArraysView< localIndex const > const &originalFaceToEdges, localIndex const faceIndices[2])
This function generates and adds entries to the face/fracture mesh.
virtual ~SurfaceElementRegion() override
Default destructor.
localIndex addToSurfaceMesh(FaceManager const *const faceManager, localIndex const faceIndices[2])
This function generates and adds entries to the face/surface mesh.
SurfaceElementRegion()=delete
Deleted default constructor.
SUBREGION_TYPE & getUniqueSubRegion()
Returns the unique sub-region of type SUBREGION_TYPE for the current SurfaceElementRegion.
real64 getDefaultAperture() const
Get default aperture value.
SurfaceElementRegion(string const &name, Group *const parent)
Constructor.
virtual string getCatalogName() const override final
Get the name of the catalog.
void updateSets(FaceManager const &faceManager)
This function updates the face/surface mesh entries for the faces that are part of the surface region...
SurfaceSubRegionType subRegionType() const
Get subRegion type.
static string catalogName()
Get the key name for the SurfaceElementRegion in the object catalog.
virtual void initializePreSubGroups() override
Called by Initialize() prior to initializing sub-Groups.
virtual void generateMesh(Group const &faceBlocks) override
Generate mesh.
DataContext const & getDataContext() const
LvArray::ArrayOfArraysView< T, INDEX_TYPE const, CONST_SIZES, LvArray::ChaiBuffer > ArrayOfArraysView
View of array of variable-sized arrays. See LvArray::ArrayOfArraysView for details.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
int integer
Signed integer type.
ENUM_STRINGS(LinearSolverParameters::SolverType, "direct", "cg", "gmres", "fgmres", "bicgstab", "richardson", "preconditioner")
Declare strings associated with enumeration values.
internal::StdVectorWrapper< T, Allocator, USE_STD_CONTAINER_BOUNDS_CHECKING > stdVector
Struct to serve as a container for variable strings and keys.
A struct to serve as a container for variable strings and keys.
static constexpr char const * defaultApertureString()
static constexpr char const * fractureSetString()
static constexpr char const * ruptureTimeString()
static constexpr char const * subRegionTypeString()
static constexpr char const * faceBlockString()