19 #ifndef GEOSX_MESHUTILITIES_PERFORATIONDATA_HPP 20 #define GEOSX_MESHUTILITIES_PERFORATIONDATA_HPP 25 #include "meshUtilities/InternalWellGenerator.hpp" 30 class DomainPartition;
32 class WellElementSubRegion;
196 string const & permeabilityKey );
293 void GetReservoirElementDimensions(
MeshLevel const & mesh,
300 void DebugLocalPerforations()
const;
322 #endif //GEOSX_MESHUTILITIES_PERFORATIONDATA_HPP dataRepository::ViewKey location
ViewKey for the well location.
virtual const string getCatalogName() const override
Get the catalog name.
void ConnectToMeshElements(MeshLevel const &mesh, InternalWellGenerator const &wellGeometry)
Locate connected local mesh elements and resizes current object appropriately.
struct to serve as a container for group strings and keys
void SetNumPerforationsGlobal(globalIndex nPerfs)
Set the global number of perforations used for well initialization.
long long int globalIndex
Global index type (for indexing objects across MPI partitions).
struct to serve as a container for group strings and keys
arrayView2d< real64 const > GetLocation() const
Provide an immutable accessor to a const perforation location arrayView.
Class facilitating the representation of a multi-level discretization of a MeshBody.
dataRepository::ViewKey reservoirElementSubregion
ViewKey for the reservoir element subregion index.
Base template for ordered and unordered maps.
geosx::PerforationData::groupKeyStruct groupKeysPerforationData
groupKey struct for the PerforationData class
static constexpr auto wellElementIndexString
String key for the well element index.
static constexpr auto wellTransmissibilityString
String key for the well transmissibility.
This class serves to provide a "view" of a multidimensional array.
dataRepository::ViewKey wellTransmissibility
ViewKey for the well transmissibility.
ToElementRelation< array1d< localIndex > > & GetMeshElements()
Get perforation-to-mesh-element connectivity.
A relationship to an element.
static constexpr auto reservoirElementIndexString
String key for the reservoir element index.
double real64
64-bit floating point type.
The ObjectManagerBase is the base object of all object managers in the mesh data hierachy.
Group::wrapperMap::KeyIndex ViewKey
Type alias for KeyIndexT type used for wrapper lookups.
geosx::PerforationData::viewKeyStruct viewKeysPerforationData
ViewKey struct for the PerforationData class.
PerforationData & operator=(PerforationData const &)=delete
Deleted assignment operator.
arrayView1d< real64 const > GetWellTransmissibility() const
Provide an immutable accessor to a const perforation well indices array.
ToElementRelation< array1d< localIndex > > const & GetMeshElements() const
Provide an immutable accessor to a const perforation-to-mesh-element connectivity.
void ComputeWellTransmissibility(MeshLevel const &mesh, WellElementSubRegion const *const wellElemSubRegion, string const &permeabilityKey)
Compute the well transmissibility for each local perforation on this well.
globalIndex GetNumPerforationsGlobal() const
Get the global number of perforations (used for well initialization).
~PerforationData() override
Default destructor.
dataRepository::ViewKey wellElementIndex
ViewKey for the well element index.
arrayView2d< real64 > GetLocation()
Get perforation locations.
static constexpr auto reservoirElementRegionString
String key for the reservoir element region index.
static constexpr auto locationString
String key for the perforation location.
arrayView1d< real64 > GetWellTransmissibility()
Get perforation well indices.
void ConnectToWellElements(InternalWellGenerator const &wellGeometry, unordered_map< globalIndex, localIndex > const &globalToLocalWellElementMap, globalIndex elemOffsetGlobal)
Connect each perforation to a local wellbore element.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
static constexpr auto reservoirElementSubregionString
String key for the reservoir element subregion index.
arrayView1d< localIndex > GetWellElements()
Get perforation-to-well-element connectivity.
arrayView1d< localIndex const > GetWellElements() const
Provide an immutable accessor to a const perforation-to-well-element connectivity.
static constexpr auto numPerforationsGlobalString
String key for the global number of perforations.
dataRepository::ViewKey reservoirElementRegion
ViewKey for the reservoir element region index.
PerforationData()=delete
Deleted default constructor.
static string CatalogName()
Get the catalog name.
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...
This class describes a collection of local well elements and perforations.
struct to serve as a container for variable strings and keys
dataRepository::ViewKey reservoirElementIndex
ViewKey for the reservoir element index.
dataRepository::ViewKey numPerforationsGlobal
ViewKey for the global number of perforations.
Struct to serve as a container for variable strings and keys.