21 #ifndef GEOS_MESH_SURFACEELEMENTREGION_HPP_
22 #define GEOS_MESH_SURFACEELEMENTREGION_HPP_
24 #include "ElementRegionBase.hpp"
89 {
return "SurfaceElementRegion"; }
143 template<
typename SUBREGION_TYPE >
146 return getSubRegion< SUBREGION_TYPE >( getUniqueSubRegionName< SUBREGION_TYPE >() );
155 template<
typename SUBREGION_TYPE >
158 return getSubRegion< SUBREGION_TYPE >( getUniqueSubRegionName< SUBREGION_TYPE >() );
196 template<
typename SUBREGION_TYPE >
197 string getUniqueSubRegionName()
const
199 std::vector< string > subRegionNames;
200 forElementSubRegions< SUBREGION_TYPE >( [&]( SUBREGION_TYPE
const & sr )
202 subRegionNames.push_back( sr.getName() );
206 "\" should have one unique sub region (" << subRegionNames.size() <<
" found)." );
207 return subRegionNames.front();
219 string m_faceBlockName;
#define GEOS_ERROR_IF(EXP, msg)
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.
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.
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
ENUM_STRINGS(LinearSolverParameters::SolverType, "direct", "cg", "gmres", "fgmres", "bicgstab", "preconditioner")
Declare strings associated with enumeration values.
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).
std::int32_t integer
Signed integer type.
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()