GEOSX
|
#include <EmbeddedSurfaceSubRegion.hpp>
Classes | |
struct | viewKeyStruct |
Struct containing the keys to all embedded surface element views. More... | |
Public Types | |
using | FaceMapType = FixedOneToManyRelation |
Embedded surface element to faces map type. | |
Public Types inherited from geosx::SurfaceElementSubRegion | |
using | NodeMapType = InterObjectRelation< ArrayOfArrays< localIndex > > |
Surface element to nodes map type. | |
using | EdgeMapType = InterObjectRelation< ArrayOfArrays< localIndex > > |
Surface element to edges map type. | |
Public Types inherited from geosx::ObjectManagerBase | |
using | CatalogInterface = dataRepository::CatalogInterface< ObjectManagerBase, std::string const &, dataRepository::Group *const > |
Nested type for the factory pattern, defining the base class (ObjectManagerBase) and the builder arguments (std::string const &, dataRepository::Group * const) of the derived products. | |
Public Types inherited from geosx::dataRepository::Group | |
using | subGroupMap = MappedVector< Group, Group *, keyType, indexType > |
The template specialization of MappedVector to use for the collection of sub-Group objects. | |
using | wrapperMap = MappedVector< WrapperBase, WrapperBase *, keyType, indexType > |
The template specialization of MappedVector to use for the collection wrappers objects. | |
using | CatalogInterface = dataRepository::CatalogInterface< Group, std::string const &, Group *const > |
Type alias for catalog interface used by this class. See CatalogInterface. | |
Public Member Functions | |
virtual void | setupRelatedObjectsInRelations (MeshLevel const *const mesh) override |
Link the connectivity maps of the subregion to the managers storing the mesh information. More... | |
virtual string | GetElementTypeString () const override final |
Get the type of element in this subregion. More... | |
Constructor / Destructor | |
EmbeddedSurfaceSubRegion (string const &name, dataRepository::Group *const parent) | |
Constructor. More... | |
virtual | ~EmbeddedSurfaceSubRegion () override |
Destructor. | |
Geometry computation / Connectivity | |
virtual void | CalculateElementGeometricQuantities (NodeManager const &nodeManager, FaceManager const &facemanager) override |
Calculate the geometric quantities for each element in the subregion. More... | |
void | CalculateElementGeometricQuantities (arrayView2d< real64 const > const intersectionPoints, localIndex k) |
Function to compute the geometric quantities of a specific embedded surface element. More... | |
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. More... | |
void | inheritGhostRank (array1d< array1d< arrayView1d< integer const > > > const &cellGhostRank) |
inherit ghost rank from cell elements. More... | |
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 to the fracture element. More... | |
Properties Getters | |
Getters to embedded surface elements properties. | |
localIndex & | numOfJumpEnrichments () |
Get number of jump enrichments. More... | |
localIndex const & | numOfJumpEnrichments () const |
Get number of jump enrichments. More... | |
array2d< real64 > & | getNormalVector () |
Get normal vectors. More... | |
arrayView2d< real64 const > | getNormalVector () const |
Get normal vectors. More... | |
arraySlice1d< real64 > | getNormalVector (localIndex k) |
Get normal vector of a specific embedded surface element. More... | |
arraySlice1d< real64 const > | getNormalVector (localIndex k) const |
Get normal vector of a specific embedded surface element. More... | |
array2d< real64 > & | getTangentVector1 () |
Get an array of the first tangent vector of the embedded surface elements. More... | |
arrayView2d< real64 const > | getTangentVector1 () const |
Get an array of the first tangent vector of the embedded surface elements. More... | |
arraySlice1d< real64 > | getTangentVector1 (localIndex k) |
Get the first tangent vector of a specific embedded surface element. More... | |
arraySlice1d< real64 const > | getTangentVector1 (localIndex k) const |
Get the first tangent vector of a specific embedded surface element. More... | |
array2d< real64 > & | getTangentVector2 () |
Get an array of the second tangent vector of the embedded surface elements. More... | |
arrayView2d< real64 const > | getTangentVector2 () const |
Get an array of the second tangent vector of the embedded surface elements. More... | |
arraySlice1d< real64 > | getTangentVector2 (localIndex k) |
Get the second tangent vector of a specific embedded surface element. More... | |
arraySlice1d< real64 const > | getTangentVector2 (localIndex k) const |
Get the second tangent vector of a specific embedded surface element. More... | |
array1d< real64 > & | getConnectivityIndex () |
Get the connectivity index of the embedded surface element. More... | |
array1d< real64 > const & | getConnectivityIndex () const |
Get the connectivity index of the embedded surface element. More... | |
Public Member Functions inherited from geosx::SurfaceElementSubRegion | |
SurfaceElementSubRegion (string const &name, dataRepository::Group *const parent) | |
Constructor. More... | |
virtual | ~SurfaceElementSubRegion () override |
Destructor. | |
NodeMapType const & | nodeList () const |
Get the face element to nodes map. More... | |
NodeMapType & | nodeList () |
Get the face element to nodes map. More... | |
localIndex & | nodeList (localIndex const k, localIndex a) |
Get the local index of the a-th node of the k-th element. More... | |
localIndex const & | nodeList (localIndex const k, localIndex a) const |
Get the local index of the a-th node of the k-th element. More... | |
EdgeMapType const & | edgeList () const |
Get the surface element to edges map. More... | |
EdgeMapType & | edgeList () |
Get the surface element to edges map. More... | |
FixedToManyElementRelation & | getToCellRelation () |
Get the surface element to cells map. More... | |
FixedToManyElementRelation const & | getToCellRelation () const |
Get the surface element to cells map. More... | |
arrayView1d< real64 > | getElementAperture () |
Get face element aperture. More... | |
arrayView1d< real64 const > | getElementAperture () const |
Get face element aperture. More... | |
arrayView1d< real64 > | getElementArea () |
Get face element surface area. More... | |
arrayView1d< real64 const > | getElementArea () const |
Get face element surface area. More... | |
Public Member Functions inherited from geosx::ElementSubRegionBase | |
ElementSubRegionBase (string const &name, dataRepository::Group *const parent) | |
Constructor for this class. More... | |
~ElementSubRegionBase () | |
Destructor. | |
virtual void | FixUpDownMaps (bool const clearIfUnmapped) |
Call ObjectManagerBase::FixUpDownMaps for the connectivity maps needed by the derived class (i.e., element-to-node map, element-to-face map, etc) More... | |
localIndex const & | numNodesPerElement () const |
Get the number of nodes per element. More... | |
virtual localIndex | numNodesPerElement (localIndex const k) const |
Get the number of nodes per element. More... | |
void | setNumNodesPerElement (localIndex numNodes) |
Set the number of nodes per element. More... | |
localIndex const & | numIndependentNodesPerElement () const |
Get the number of independent nodes per element. More... | |
void | setNumIndependentNodesPerElement (localIndex const numNodes) |
Set the number of independent nodes per element. More... | |
localIndex const & | numEdgesPerElement () const |
Get the number of edges per element. More... | |
void | setNumEdgesPerElement (localIndex const numEdges) |
Set the number of edges per element. More... | |
localIndex const & | numFacesPerElement () const |
Get the number of faces per element. More... | |
void | setNumFacesPerElement (localIndex const numFaces) |
Set the number of faces per element. More... | |
arrayView2d< real64 const > | getElementCenter () const |
Get the center of each element in this subregion. More... | |
arrayView2d< real64 > | getElementCenter () |
Get the center of each element in this subregion. More... | |
arrayView1d< real64 const > | getElementVolume () const |
Get the volume of each element in this subregion. More... | |
dataRepository::Group const * | GetConstitutiveModels () const |
Get the group in which the constitutive models of this subregion are registered. More... | |
dataRepository::Group * | GetConstitutiveModels () |
Get the group in which the constitutive models of this subregion are registered. More... | |
template<typename T = constitutive::ConstitutiveBase> | |
T const * | getConstitutiveModel (string const &name) const |
Get a pointer to the constitutive model. More... | |
template<typename T = constitutive::ConstitutiveBase> | |
T * | getConstitutiveModel (string const &name) |
Get a pointer to the constitutive model. More... | |
virtual void | SetElementType (string const &elementType) |
Set the type of element in this subregion. More... | |
std::vector< int > | getVTKNodeOrdering () const |
Get the VTK ordering for this subregion. More... | |
Public Member Functions inherited from geosx::ObjectManagerBase | |
ObjectManagerBase (std::string const &name, dataRepository::Group *const parent) | |
Constructor. More... | |
~ObjectManagerBase () override | |
Destructor. | |
virtual localIndex | PackSize (string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool on_device=false) const override |
Get the size required to pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Pack (buffer_unit_type *&buffer, string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool on_device=false) const override |
Pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Unpack (buffer_unit_type const *&buffer, arrayView1d< localIndex > &packList, integer const recursive, bool on_device=false) override |
Unpack a buffer. More... | |
template<bool DOPACK> | |
localIndex | PackSets (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList) const |
Packs the elements of each set that actually are in packList . More... | |
localIndex | UnpackSets (buffer_unit_type const *&buffer) |
Unpack the content of buffer into the sets of the instance. More... | |
virtual void | ViewPackingExclusionList (SortedArray< localIndex > &exclusionList) const |
Inserts in exclusionList the data that shall not be packed. More... | |
virtual localIndex | PackGlobalMapsSize (arrayView1d< localIndex const > const &packList, integer const recursive) const |
Computes the pack size of the global maps elements in the @ packList. More... | |
virtual localIndex | PackGlobalMaps (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList, integer const recursive) const |
Packs the global maps elements in the @ packList. More... | |
void | SetReceiveLists () |
Clear and redefines the ghosts to receive. | |
virtual localIndex | PackUpDownMapsSize (arrayView1d< localIndex const > const &packList) const |
Computes the pack size of the specific elements in the @ packList. More... | |
virtual localIndex | PackUpDownMaps (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList) const |
Packs the specific elements in the @ packList. More... | |
virtual localIndex | UnpackUpDownMaps (buffer_unit_type const *&buffer, array1d< localIndex > &packList, bool const overwriteUpMaps, bool const overwriteDownMaps) |
Unpacks the specific elements in the @ packList. More... | |
virtual localIndex | UnpackGlobalMaps (buffer_unit_type const *&buffer, localIndex_array &packList, integer const recursive) |
Unpacks the global maps from buffer . More... | |
localIndex | PackParentChildMapsSize (arrayView1d< localIndex const > const &packList) const |
Computes the pack size of the parent/child relations in packList . More... | |
localIndex | PackParentChildMaps (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList) const |
Packs the parent/child relations in packList . More... | |
localIndex | UnpackParentChildMaps (buffer_unit_type const *&buffer, localIndex_array &packList) |
Unacks the parent/child relations in packList . More... | |
void | moveSets (LvArray::MemorySpace const targetSpace) |
Manually move all sets to a memory space. More... | |
localIndex | resize (localIndex const newSize, const bool) |
Resize the group and all contained wrappers that resize with parent. More... | |
void | CreateSet (const std::string &newSetName) |
Creates a new set. More... | |
void | ConstructSetFromSetAndMap (SortedArrayView< localIndex const > const &inputSet, const array2d< localIndex > &map, const std::string &setName) |
Builds a new set on this instance given another objects set and the map between them. More... | |
void | ConstructSetFromSetAndMap (SortedArrayView< localIndex const > const &inputSet, const array1d< localIndex_array > &map, const std::string &setName) |
Builds a new set on this instance given another objects set and the map between them. More... | |
void | ConstructSetFromSetAndMap (SortedArrayView< localIndex const > const &inputSet, ArrayOfArraysView< localIndex const > const &map, const std::string &setName) |
Builds a new set on this instance given another objects set and the map between them. More... | |
void | ConstructGlobalToLocalMap () |
Constructs the global to local map. | |
void | ConstructLocalListOfBoundaryObjects (localIndex_array &objectList) const |
Computes the (local) index list that are domain boundaries. More... | |
void | ConstructGlobalListOfBoundaryObjects (globalIndex_array &objectList) const |
Computes the (global) index list that are domain boundaries. More... | |
virtual void | ExtractMapFromObjectForAssignGlobalIndexNumbers (ObjectManagerBase const *const obj, std::vector< std::vector< globalIndex > > &map) |
Extract map from object and assign global indices. More... | |
void | SetGhostRankForSenders (int const neighborRank) |
Defines neighborRank ownership for ghost objects. More... | |
localIndex | GetNumberOfGhosts () const |
Get the number of ghost objects. More... | |
localIndex | GetNumberOfLocalIndices () const |
Get the number of locally owned objects. More... | |
integer | SplitObject (localIndex const indexToSplit, int const rank, localIndex &newIndex) |
Split object to deal with topology changes. More... | |
void | inheritGhostRankFromParent (std::set< localIndex > const &indices) |
sets the value of m_ghostRank to the value of the objects parent. More... | |
void | CopyObject (localIndex const source, localIndex const destination) |
Copy object from source to @ destination. More... | |
void | SetMaxGlobalIndex () |
Computes the maximum global index allong all the MPI ranks. | |
virtual void | enforceStateFieldConsistencyPostTopologyChange (std::set< localIndex > const &targetIndices) |
Updates the child and target indices after a topology change. More... | |
template<typename MESH_DATA_TRAIT > | |
dataRepository::Wrapper< typename MESH_DATA_TRAIT::type > & | registerExtrinsicData (string const &nameOfRegisteringObject) |
Register data with this ObjectManagerBase using a dataRepository::Wrapper. More... | |
template<typename MESH_DATA_TRAIT0 , typename MESH_DATA_TRAIT1 , typename ... MESH_DATA_TRAITS> | |
void | registerExtrinsicData (string const &nameOfRegisteringObject) |
Register a collection of data with this ObjectManagerBase using a dataRepository::Wrapper. More... | |
template<typename MESH_DATA_TRAIT > | |
GEOSX_DECLTYPE_AUTO_RETURN | getExtrinsicData () const |
Get a view to the data associated with a trait from this ObjectManagerBase. More... | |
template<typename MESH_DATA_TRAIT > | |
GEOSX_DECLTYPE_AUTO_RETURN | getExtrinsicData () |
Get the data associated with a trait from this ObjectManagerBase. More... | |
template<typename MESH_DATA_TRAIT > | |
bool | hasExtrinsicData () const |
Checks if an extrinsic data has been registered. More... | |
virtual viewKeyStruct & | viewKeys () |
Get the view keys for Group access. More... | |
virtual viewKeyStruct const & | viewKeys () const |
Get the view keys for Group access, const version. More... | |
virtual groupKeyStruct & | groupKeys () |
Get the group keys for Group access. More... | |
virtual groupKeyStruct const & | groupKeys () const |
Get the group keys for Group access, const version. More... | |
Group & | sets () |
Get the group holding the object sets. More... | |
Group const & | sets () const |
Get the group holding the object sets, const version. More... | |
SortedArray< localIndex > & | externalSet () |
Get the external set. More... | |
SortedArrayView< localIndex const > | externalSet () const |
Get the external set, const version. More... | |
void | updateGlobalToLocalMap (localIndex const lid) |
Updates (if needed) the global index for local index lid . More... | |
arrayView1d< globalIndex > | localToGlobalMap () |
Get local to global map. More... | |
arrayView1d< globalIndex const > | localToGlobalMap () const |
Get local to global map, const version. More... | |
unordered_map< globalIndex, localIndex > const & | globalToLocalMap () const |
Get global to local map. More... | |
localIndex | globalToLocalMap (globalIndex const gid) const |
Retrieves the local index for given global index. More... | |
array1d< integer > const & | isExternal () |
Get the locality information of the objects. More... | |
arrayView1d< integer const > | isExternal () const |
Get the locality information of the objects. More... | |
array1d< integer > const & | ghostRank () |
Get the ghost information of each object. More... | |
arrayView1d< integer const > | ghostRank () const |
Get the ghost information of each object, const version. More... | |
NeighborData & | getNeighborData (int const rank) |
Get neighbor data for given rank . More... | |
NeighborData const & | getNeighborData (int const rank) const |
Get neighbor data for given rank , const version. More... | |
void | addNeighbor (int const rank) |
Add a neighbor for rank . More... | |
void | removeNeighbor (int const rank) |
Remove neighbor for rank . More... | |
globalIndex | maxGlobalIndex () const |
Get the maximum global index of all objects across all rank. See. More... | |
arrayView1d< integer > | getDomainBoundaryIndicator () |
Get the domain boundary indicator. More... | |
arrayView1d< integer const > | getDomainBoundaryIndicator () const |
Get the domain boundary indicator. More... | |
Public Member Functions inherited from geosx::dataRepository::Group | |
Group (std::string const &name, Group *const parent) | |
Constructor. More... | |
Group (Group &&source) | |
Move constructor. More... | |
virtual | ~Group () |
Destructor, deletes all Groups and Wrappers owned by this Group. | |
Group ()=delete | |
Deleted default constructor. | |
Group (Group const &)=delete | |
Deleted copy constructor. | |
Group (Group const &&)=delete | |
Deleted move constructor. | |
Group & | operator= (Group const &)=delete |
Deleted copy assignment operator. More... | |
Group & | operator= (Group &&)=delete |
Deleted move assignment operator. More... | |
virtual const std::type_info & | get_typeid () const |
Get typeid for current group. More... | |
bool | CheckTypeID (std::type_info const &typeToCheck) const |
Check a type_info against the type_info of this Group. More... | |
void | PrintDataHierarchy (integer indent=0) |
Prints the data hierarchy recursively. More... | |
string | dumpInputOptions () const |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name, std::unique_ptr< T > newObject) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name, T *newObject) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (std::string const &name) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (subGroupMap::KeyIndex const &keyIndex) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group, typename TBASE = Group> | |
T * | RegisterGroup (std::string const &name, std::string const &catalogName) |
Register a new Group as a sub-group of current Group. More... | |
void | deregisterGroup (std::string const &name) |
Removes a child group from this group. More... | |
virtual Group * | CreateChild (string const &childKey, string const &childName) |
Creates a new sub-Group using the ObjectCatalog functionality. More... | |
template<typename T = Group> | |
T * | GetGroup (localIndex index) |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T const * | GetGroup (localIndex index) const |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T * | GetGroup (string const &name) |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T const * | GetGroup (string const &name) const |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T & | getGroupReference (string const &key) |
template<typename T = Group> | |
T const & | getGroupReference (string const &key) const |
template<typename T = Group> | |
T & | GetGroupReference (subGroupMap::KeyIndex const &key) |
template<typename T = Group> | |
T const & | GetGroupReference (subGroupMap::KeyIndex const &key) const |
template<typename T = Group> | |
T * | GetGroup (subGroupMap::KeyIndex const &key) |
Retrieve a sub-group from the current Group using a KeyIndexT. More... | |
template<typename T = Group> | |
T const * | GetGroup (subGroupMap::KeyIndex const &key) const |
Retrieve a sub-group from the current Group using a KeyIndexT. More... | |
template<typename T = Group> | |
T * | GetGroupByPath (string const &path) |
Retrieve a group from the hierarchy using a path. More... | |
template<typename T = Group> | |
T const * | GetGroupByPath (string const &path) const |
Retrieve a group from the hierarchy using a path. More... | |
subGroupMap & | GetSubGroups () |
Get the subgroups object. More... | |
subGroupMap const & | GetSubGroups () const |
Get the subgroups object. More... | |
localIndex | numSubGroups () const |
return the number of sub groups in this Group More... | |
bool | hasGroup (std::string const &name) const |
Check whether a sub-group exists. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > | |
void | forSubGroups (LAMBDA lambda) |
Apply the given functor to subgroups that can be casted to one of specified types. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > | |
void | forSubGroups (LAMBDA lambda) const |
Apply the given functor to subgroups that can be casted to one of specified types. More... | |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) const |
template<typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) |
Apply the given functor to wrappers. More... | |
template<typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) const |
Apply the given functor to wrappers. More... | |
template<typename TYPE , typename ... TYPES, typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) |
Apply the given functor to wrappers that can be cast to one of specified types. More... | |
template<typename TYPE , typename ... TYPES, typename LAMBDA > | |
void | forWrappers (LAMBDA lambda) const |
Apply the given functor to wrappers that can be cast to one of specified types. More... | |
void | Initialize (Group *const group) |
Run initialization functions on this and all subgroups. More... | |
virtual void | InitializationOrder (string_array &order) |
Sets the initialization order for sub-Groups. More... | |
void | InitializePostInitialConditions (Group *const group) |
Initialization routine to be called after calling ApplyInitialConditions(). More... | |
void | postRestartInitializationRecursive (Group *const domain) |
Initialization routine to be called after calling reading a restart file. More... | |
void | ProcessInputFileRecursive (xmlWrapper::xmlNode &targetNode) |
Recursively read values using ProcessInputFile() from the input file and put them into the wrapped values for this group. More... | |
void | PostProcessInputRecursive () |
Recursively call PostProcessInput() to apply post processing after reading input values. | |
template<typename T , typename TBASE = T> | |
Wrapper< TBASE > * | registerWrapper (std::string const &name, wrapperMap::KeyIndex::index_type *const rkey=nullptr) |
Create and register a Wrapper around a new object. More... | |
template<typename T , typename TBASE = T> | |
Wrapper< TBASE > * | registerWrapper (Group::wrapperMap::KeyIndex const &viewKey) |
template<typename T > | |
Wrapper< T > * | registerWrapper (std::string const &name, std::unique_ptr< T > newObject) |
Register a Wrapper around a given object and take ownership. More... | |
template<typename T > | |
Wrapper< T > * | registerWrapper (std::string const &name, T *newObject) |
Register a Wrapper around an existing object, does not take ownership of the object. More... | |
WrapperBase * | registerWrapper (string const &name, std::unique_ptr< WrapperBase > wrapper) |
Register and take ownership of an existing Wrapper. More... | |
void | deregisterWrapper (string const &name) |
Removes a Wrapper from this group. More... | |
void | GenerateDataStructureSkeleton (integer const level) |
Build a complete datastructure for schema generation. More... | |
virtual void | ExpandObjectCatalogs () |
Expand any catalogs in the data structure. | |
virtual void | SetSchemaDeviations (xmlWrapper::xmlNode schemaRoot, xmlWrapper::xmlNode schemaParent, integer documentationType) |
Inform the schema generator of any deviations between the xml and GEOS data structures. More... | |
virtual void | RegisterDataOnMeshRecursive (Group *const meshBodies) |
Calls RegisterDataOnMesh() recursively. More... | |
virtual void | RegisterDataOnMesh (Group *const meshBodies) |
Register data on mesh entities. More... | |
virtual localIndex | PackSize (string_array const &wrapperNames, integer const recursive, bool on_device=false) const |
Get the size required to pack a list of wrappers. More... | |
virtual localIndex | Pack (buffer_unit_type *&buffer, string_array const &wrapperNames, integer const recursive, bool on_device=false) const |
Pack a list of wrappers to a buffer. More... | |
WrapperBase const * | getWrapperBase (indexType const index) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (indexType const index) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (std::string const &name) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (std::string const &name) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) |
Retrieve a WrapperBase stored in this group. More... | |
indexType | getWrapperIndex (std::string const &name) const |
wrapperMap const & | wrappers () const |
Get access to the internal wrapper storage. More... | |
wrapperMap & | wrappers () |
Get access to the internal wrapper storage. More... | |
template<typename LOOKUP_TYPE > | |
bool | hasWrapper (LOOKUP_TYPE const &lookup) const |
Check if a wrapper exists. More... | |
template<typename T , typename LOOKUP_TYPE > | |
Wrapper< T > const * | getWrapper (LOOKUP_TYPE const &index) const |
Retrieve a Wrapper stored in this group. More... | |
template<typename T , typename LOOKUP_TYPE > | |
Wrapper< T > * | getWrapper (LOOKUP_TYPE const &index) |
Retrieve a Wrapper stored in this group. More... | |
template<typename T > | |
Wrapper< T > const * | getWrapper (char const *const key) const |
Retrieve a Wrapper stored in this group. More... | |
template<typename T > | |
Wrapper< T > * | getWrapper (char const *const key) |
Retrieve a Wrapper stored in this group. More... | |
template<typename T , typename LOOKUP_TYPE > | |
GEOSX_DECLTYPE_AUTO_RETURN | getReference (LOOKUP_TYPE const &lookup) const |
Look up a wrapper and get reference to wrapped object. More... | |
template<typename T , typename LOOKUP_TYPE > | |
T & | getReference (LOOKUP_TYPE const &lookup) |
Look up a wrapper and get reference to wrapped object. More... | |
template<typename T > | |
GEOSX_DECLTYPE_AUTO_RETURN | getReference (char const *const name) const |
template<typename T > | |
T & | getReference (char const *const name) |
virtual void | resize (localIndex const newSize) |
Resize the group and all contained wrappers that resize with parent. More... | |
virtual void | reserve (indexType const newsize) |
Set the new capacity and reserve it in all wrappers that resize with parent. More... | |
localIndex | capacity () const |
Get the "capacity" of the group, which determines the capacity of resizable wrappers. More... | |
localIndex | size () const |
Get the "size" of the group, which determines the number of elements in resizable wrappers. More... | |
const string | getName () const |
Get group name. More... | |
Group * | getParent () |
Access the group's parent. More... | |
Group const * | getParent () const |
Access the group's parent. More... | |
localIndex | getIndexInParent () const |
Get the group's index withing its parent group. More... | |
integer | sizedFromParent () const |
Check whether this Group is resized when its parent is resized. More... | |
Group * | setSizedFromParent (int val) |
Set whether this wrapper is resized when its parent is resized. More... | |
RestartFlags | getRestartFlags () const |
Get flags that control restart output of this group. More... | |
void | setRestartFlags (RestartFlags flags) |
Set flags that control restart output of this group. More... | |
InputFlags | getInputFlags () const |
Get input flags for schema generation. More... | |
void | setInputFlags (InputFlags flags) |
Set input flags for schema generation. More... | |
conduit::Node & | getConduitNode () |
Get the Conduit node object associated with this group. More... | |
void | prepareToWrite () |
Register the group and its wrappers with Conduit. | |
void | finishWriting () |
Write the group and its wrappers into Conduit. | |
void | loadFromConduit () |
Read the group and its wrappers from Conduit. | |
void | enableLogLevelInput () |
Enable verbosity input for object. | |
integer | getLogLevel () const |
template<typename T > | |
T | group_cast () |
Downcast this Group. More... | |
template<typename T > | |
T | group_cast () const |
Downcast this Group. More... | |
Static factory catalog functions | |
static const string | CatalogName () |
Get catalog name. More... | |
virtual const string | getCatalogName () const override |
Get catalog name. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from geosx::SurfaceElementSubRegion | |
static const string | CatalogName () |
Get catalog name. More... | |
Static Public Member Functions inherited from geosx::ObjectManagerBase | |
template<typename TYPE_RELATION > | |
static void | FixUpDownMaps (TYPE_RELATION &relation, map< localIndex, array1d< globalIndex > > &unmappedIndices, bool const clearIfUnmapped) |
Fixing the up/down maps by mapping the unmapped indices. More... | |
template<typename TYPE_RELATION > | |
static void | FixUpDownMaps (TYPE_RELATION &relation, map< localIndex, SortedArray< globalIndex > > &unmappedIndices, bool const clearIfUnmapped) |
Fixing the up/down maps by mapping the unmapped indices. More... | |
static void | FixUpDownMaps (ArrayOfSets< localIndex > &relation, unordered_map< globalIndex, localIndex > const &globalToLocal, map< localIndex, SortedArray< globalIndex > > &unmappedIndices, bool const clearIfUnmapped) |
Fixing the up/down maps by mapping the unmapped indices. More... | |
static void | CleanUpMap (std::set< localIndex > const &targetIndices, array1d< SortedArray< localIndex > > &upmap, arrayView2d< localIndex const > const &downmap) |
Removes from the list of arrays of upmap all the elements for which the "mirror target array" of downmap does not contain the proper target index. More... | |
static void | CleanUpMap (std::set< localIndex > const &targetIndices, ArrayOfSetsView< localIndex > const &upmap, arrayView2d< localIndex const > const &downmap) |
Removes from the list of sets of upmap all the elements for which the "mirror target array" of downmap does not contain the proper target index. More... | |
static void | CleanUpMap (std::set< localIndex > const &targetIndices, array1d< SortedArray< localIndex > > &upmap, arrayView1d< arrayView1d< localIndex const > const > const &downmap) |
Removes from the list of arrays of upmap all the elements for which the "mirror target array" of downmap does not contain the proper target index. More... | |
static void | CleanUpMap (std::set< localIndex > const &targetIndices, ArrayOfSetsView< localIndex > const &upmap, arrayView1d< arrayView1d< localIndex const > const > const &downmap) |
Removes from the list of sets of upmap all the elements for which the "mirror target array" of downmap does not contain the proper target index. More... | |
static void | CleanUpMap (std::set< localIndex > const &targetIndices, ArrayOfSetsView< localIndex > const &upmap, ArrayOfArraysView< localIndex const > const &downmap) |
Removes from the list of sets of upmap all the elements for which the "mirror target array" of downmap does not contain the proper target index. More... | |
static localIndex | GetParentRecusive (arraySlice1d< localIndex const > const &parentIndices, localIndex const lookup) |
Get the upmost parent. More... | |
static CatalogInterface::CatalogType & | GetCatalog () |
Acessing the unique instance of this catalog. More... | |
Static Public Member Functions inherited from geosx::dataRepository::Group | |
template<typename T0 , typename T1 , typename ... CASTTYPES, typename CONTAINERTYPE , typename LAMBDA > | |
static bool | applyLambdaToContainer (CONTAINERTYPE &container, LAMBDA &&lambda) |
Apply a given functor to a container if the container can be cast to one of the specified types. More... | |
static CatalogInterface::CatalogType & | GetCatalog () |
Get the singleton catalog for this class. More... | |
template<typename T > | |
static T | group_cast (Group *group) |
Downcast a Group *. More... | |
template<typename T > | |
static T | group_cast (Group const *group) |
Downcast a Group const *. More... | |
Public Attributes inherited from geosx::SurfaceElementSubRegion | |
FixedToManyElementRelation | m_surfaceElementsToCells |
Map between the face elements and the cells. | |
Public Attributes inherited from geosx::ObjectManagerBase | |
struct geosx::ObjectManagerBase::viewKeyStruct | m_ObjectManagerBaseViewKeys |
viewKey struct for the ObjectManagerBase class | |
struct geosx::ObjectManagerBase::groupKeyStruct | m_ObjectManagerBaseGroupKeys |
groupKey struct for the ObjectManagerBase class | |
Protected Member Functions inherited from geosx::dataRepository::Group | |
virtual void | PostProcessInput () |
virtual void | InitializePreSubGroups (Group *const group) |
Called by Initialize() prior to initializing sub-Groups. More... | |
virtual void | InitializePostSubGroups (Group *const group) |
Called by Initialize() after to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PreSubGroups (Group *const group) |
Called by InitializePostInitialConditions() prior to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PostSubGroups (Group *const group) |
Called by InitializePostInitialConditions() after to initializing sub-Groups. More... | |
virtual void | postRestartInitialization (Group *const domain) |
Performs initialization required after reading from a restart file. More... | |
Protected Attributes inherited from geosx::SurfaceElementSubRegion | |
NodeMapType | m_toNodesRelation |
list of nodes | |
EdgeMapType | m_toEdgesRelation |
list of edges | |
array1d< real64 > | m_elementAperture |
Member level field for the element center. | |
array1d< real64 > | m_elementArea |
Member level field for the element center. | |
Protected Attributes inherited from geosx::ElementSubRegionBase | |
localIndex | m_numNodesPerElement |
Number of nodes per element in this subregion. | |
localIndex | m_numIndependentNodesPerElement |
Number of independent nodes per element in this subregion. | |
localIndex | m_numEdgesPerElement |
Number of edges per element in this subregion. | |
localIndex | m_numFacesPerElement |
Number of faces per element in this subregion. | |
array2d< real64 > | m_elementCenter |
Member level field for the element center. | |
array1d< real64 > | m_elementVolume |
Member level field for the element volume. | |
string | m_elementTypeString |
Type of element in this subregion. | |
Protected Attributes inherited from geosx::ObjectManagerBase | |
Group | m_sets |
Group that holds object sets. | |
Group | m_neighborGroup |
Group that holds all the NeighborData objects. | |
array1d< globalIndex > | m_localToGlobalMap |
Contains the global index of each object. | |
unordered_map< globalIndex, localIndex > | m_globalToLocalMap |
Map from object global index to the local index. | |
array1d< integer > | m_isExternal |
Array that holds if an object is external. | |
array1d< integer > | m_domainBoundaryIndicator |
Domain boundary indicator: 1 means the "index" is on the boundary. | |
array1d< integer > | m_ghostRank |
Array that holds the ghost information about each object. More... | |
unordered_map< int, NeighborData > | m_neighborData |
A map from rank to the associated NeighborData object. | |
real64 | m_overAllocationFactor = 1.1 |
Factor by which to overallocate when adding objects. | |
globalIndex | m_maxGlobalIndex = -1 |
The maximum global index of all objects across all rank. | |
globalIndex | m_localMaxGlobalIndex = -1 |
The maximum global index of any object of all objects on this rank. | |
The EmbeddedSurfaceSubRegion class contains the functionality to support the concept of an embedded surface element. It consists of a 2D surface that cuts a 3D matrix cell.
Definition at line 38 of file EmbeddedSurfaceSubRegion.hpp.
geosx::EmbeddedSurfaceSubRegion::EmbeddedSurfaceSubRegion | ( | string const & | name, |
dataRepository::Group *const | parent | ||
) |
Constructor.
name | the group name |
parent | the parent group |
bool geosx::EmbeddedSurfaceSubRegion::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.
cellIndex | cell element index |
regionIndex | cell element region index |
subRegionIndex | cell element subregion index |
nodeManager | the nodemanager group |
edgeManager | the edgemanager group |
cellToEdges | cellElement to edges map |
fracture | pointer to the bounded plane which is defining the embedded surface element |
|
overridevirtual |
Calculate the geometric quantities for each element in the subregion.
[in] | nodeManager | the nodeManager (for geometrical info and connectivity involving nodes) |
[in] | faceManager | the faceManager (for geometrical info and connectivity involving faces) |
Implements geosx::ElementSubRegionBase.
void geosx::EmbeddedSurfaceSubRegion::CalculateElementGeometricQuantities | ( | arrayView2d< real64 const > const | intersectionPoints, |
localIndex | k | ||
) |
Function to compute the geometric quantities of a specific embedded surface element.
intersectionPoints | array containing the nodes defining the embedded surface elements |
k | index of the face element |
|
inlinestatic |
Get catalog name.
Definition at line 54 of file EmbeddedSurfaceSubRegion.hpp.
real64 geosx::EmbeddedSurfaceSubRegion::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 to the fracture element.
nodeCoord | coordinate of the node |
k | embedded surface cell index |
|
inlineoverridevirtual |
Get catalog name.
Reimplemented from geosx::SurfaceElementSubRegion.
Definition at line 61 of file EmbeddedSurfaceSubRegion.hpp.
Get the connectivity index of the embedded surface element.
Definition at line 255 of file EmbeddedSurfaceSubRegion.hpp.
Get the connectivity index of the embedded surface element.
Definition at line 260 of file EmbeddedSurfaceSubRegion.hpp.
|
inlinefinaloverridevirtual |
Get the type of element in this subregion.
See class FiniteElementBase for possible element type.
Reimplemented from geosx::ElementSubRegionBase.
Definition at line 161 of file EmbeddedSurfaceSubRegion.hpp.
Get normal vectors.
Definition at line 185 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get normal vectors.
Definition at line 190 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get normal vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 197 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get normal vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 202 of file EmbeddedSurfaceSubRegion.hpp.
Get an array of the first tangent vector of the embedded surface elements.
Definition at line 208 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get an array of the first tangent vector of the embedded surface elements.
Definition at line 213 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get the first tangent vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 220 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get the first tangent vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 225 of file EmbeddedSurfaceSubRegion.hpp.
Get an array of the second tangent vector of the embedded surface elements.
Definition at line 231 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get an array of the second tangent vector of the embedded surface elements.
Definition at line 236 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get the second tangent vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 243 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get the second tangent vector of a specific embedded surface element.
k | index of the embedded surface element |
Definition at line 248 of file EmbeddedSurfaceSubRegion.hpp.
void geosx::EmbeddedSurfaceSubRegion::inheritGhostRank | ( | array1d< array1d< arrayView1d< integer const > > > const & | cellGhostRank | ) |
inherit ghost rank from cell elements.
cellGhostRank | cell element ghost ranks |
|
inline |
Get number of jump enrichments.
Definition at line 173 of file EmbeddedSurfaceSubRegion.hpp.
|
inline |
Get number of jump enrichments.
Definition at line 179 of file EmbeddedSurfaceSubRegion.hpp.
|
overridevirtual |
Link the connectivity maps of the subregion to the managers storing the mesh information.
[in] | mesh | the meshLevel object (single level only) |
In the derived classes, this function is used to passe a pointer to the nodeManager, faceManager, and (if needed) edgeManager to, respectively, the node list, face list, and edge list of the subregion.
Implements geosx::ElementSubRegionBase.