19 #ifndef GEOSX_MESH_EMBEDDEDSURFACESUBREGION_HPP_ 20 #define GEOSX_MESH_EMBEDDEDSURFACESUBREGION_HPP_ 26 #include "CellElementSubRegion.hpp" 55 {
return "EmbeddedSurfaceSubRegion"; }
localIndex & numOfJumpEnrichments()
Get number of jump enrichments.
virtual string GetElementTypeString() const override final
Get the type of element in this subregion.
arraySlice1d< real64 > getTangentVector1(localIndex k)
Get the first tangent vector of a specific embedded surface element.
void inheritGhostRank(array1d< array1d< arrayView1d< integer const > > > const &cellGhostRank)
inherit ghost rank from cell elements.
array1d< real64 > & getConnectivityIndex()
Get the connectivity index of the embedded surface element.
InterObjectRelation< array2d< localIndex > > FixedOneToManyRelation
A relationship from single objects to many other objects, where each object is related to the same nu...
This class serves to provide a sliced multidimensional interface to the family of LvArray classes...
Class facilitating the representation of a multi-level discretization of a MeshBody.
The NodeManager class provides an interface to ObjectManagerBase in order to manage node data...
arrayView2d< real64 const > getTangentVector1() const
Get an array of the first tangent vector of the embedded surface elements.
real64 ComputeHeavisideFunction(ArraySlice< real64 const, 1, nodes::REFERENCE_POSITION_USD - 1 > const nodeCoord, localIndex const k) const
Given the coordinates of a node, it computes the Heaviside function iside a cut element with respect ...
EmbeddedSurfaceSubRegion(string const &name, dataRepository::Group *const parent)
Constructor.
array2d< real64 > & getNormalVector()
Get normal vectors.
array1d< real64 > const & getConnectivityIndex() const
Get the connectivity index of the embedded surface element.
Class to represent a geometric box in GEOSX.
arrayView2d< real64 const > getTangentVector2() const
Get an array of the second tangent vector of the embedded surface elements.
This class serves to provide a "view" of a multidimensional array.
arraySlice1d< real64 > getTangentVector2(localIndex k)
Get the second tangent vector of a specific embedded surface element.
arraySlice1d< real64 > getNormalVector(localIndex k)
Get normal vector of a specific embedded surface element.
arraySlice1d< real64 const > getNormalVector(localIndex k) const
Get normal vector of a specific embedded surface element.
virtual void CalculateElementGeometricQuantities(NodeManager const &nodeManager, FaceManager const &facemanager) override
Calculate the geometric quantities for each element in the subregion.
static constexpr auto normalVectorString
Embedded surface element normal vector string.
double real64
64-bit floating point type.
arraySlice1d< real64 const > getTangentVector2(localIndex k) const
Get the second tangent vector of a specific embedded surface element.
Struct containing the keys to all embedded surface element views.
arraySlice1d< real64 const > getTangentVector1(localIndex k) const
Get the first tangent vector of a specific embedded surface element.
array2d< real64 > & getTangentVector1()
Get an array of the first tangent vector of the embedded surface elements.
virtual ~EmbeddedSurfaceSubRegion() override
Destructor.
static const string CatalogName()
Get catalog name.
virtual void setupRelatedObjectsInRelations(MeshLevel const *const mesh) override
Link the connectivity maps of the subregion to the managers storing the mesh information.
virtual const string getCatalogName() const override
Get catalog name.
static constexpr auto t2VectorString
Tangent vector 2 string.
static constexpr auto connectivityIndexString
Connectivity index string.
Struct containing the keys to all embedded surface element views.
This class provides an interface to ObjectManagerBase in order to manage edge data.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
bool AddNewEmbeddedSurface(localIndex const cellIndex, localIndex const regionIndex, localIndex const subRegionIndex, NodeManager &nodeManager, EdgeManager const &edgeManager, FixedOneToManyRelation const &cellToEdges, BoundedPlane const *fracture)
Function to add a new embedded surface element.
localIndex const & numOfJumpEnrichments() const
Get number of jump enrichments.
The FaceManager class provides an interface to ObjectManagerBase in order to manage face data...
arrayView2d< real64 const > getNormalVector() const
Get normal vectors.
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...
static constexpr auto t1VectorString
Tangent vector 1 string.
array2d< real64 > & getTangentVector2()
Get an array of the second tangent vector of the embedded surface elements.