20 #ifndef GEOS_MESH_PERFORATIONDATA_HPP
21 #define GEOS_MESH_PERFORATIONDATA_HPP
26 #include "mesh/generators/LineBlockABC.hpp"
31 class DomainPartition;
33 class WellElementSubRegion;
276 void getReservoirElementDimensions(
MeshLevel const & mesh,
Class facilitating the representation of a multi-level discretization of a MeshBody.
The ObjectManagerBase is the base object of all object managers in the mesh data hierachy.
~PerforationData() override
Default destructor.
PerforationData & operator=(PerforationData const &)=delete
Deleted assignment operator.
arrayView1d< real64 const > getWellSkinFactor() const
Provide an immutable accessor to a const perforation skin factor array.
void connectToWellElements(LineBlockABC const &lineBlock, unordered_map< globalIndex, localIndex > const &globalToLocalWellElementMap, globalIndex elemOffsetGlobal)
Connect each perforation to a local wellbore element.
arrayView1d< real64 const > getWellTransmissibility() const
Provide an immutable accessor to a const perforation well indices array.
PerforationData(PerforationData const &)=delete
Deleted copy constructor.
void setNumPerforationsGlobal(globalIndex nPerfs)
Set the global number of perforations used for well initialization.
globalIndex getNumPerforationsGlobal() const
Get the global number of perforations (used for well initialization).
PerforationData()=delete
Deleted default constructor.
void computeWellTransmissibility(MeshLevel const &mesh, WellElementSubRegion const &wellElemSubRegion, array1d< array1d< arrayView3d< real64 const > > > const &perm)
Compute the well transmissibility for each local perforation on this well.
PerforationData(PerforationData &&)=delete
Deleted move constructor.
arrayView1d< real64 > getWellSkinFactor()
Get perforation well skin factors.
arrayView2d< real64 > getLocation()
Get perforation locations.
ToElementRelation< array1d< localIndex > > & getMeshElements()
Get perforation-to-mesh-element connectivity.
ToElementRelation< array1d< localIndex > > const & getMeshElements() const
Provide an immutable accessor to a const perforation-to-mesh-element connectivity.
geos::PerforationData::viewKeyStruct viewKeysPerforationData
ViewKey struct for the PerforationData class.
PerforationData(string const &name, dataRepository::Group *const parent)
Constructor for PerforationData Objects.
arrayView1d< globalIndex > getReservoirElementGlobalIndex()
Get perforation-to-reservoir-element connectivity.
arrayView1d< localIndex > getWellElements()
Get perforation-to-well-element connectivity.
arrayView2d< real64 const > getLocation() const
Provide an immutable accessor to a const perforation location arrayView.
virtual string getCatalogName() const override
Get the catalog name.
PerforationData & operator=(PerforationData &&)=delete
Deleted move operator.
static string catalogName()
Get the catalog name.
arrayView1d< globalIndex const > getReservoirElementGlobalIndex() const
Provide an immutable accessor to a const perforation-to-reservoir-element connectivity.
arrayView1d< real64 > getWellTransmissibility()
Get perforation well indices.
arrayView1d< localIndex const > getWellElements() const
Provide an immutable accessor to a const perforation-to-well-element connectivity.
A relationship to an element.
This class describes a collection of local well elements and perforations.
Base template for ordered and unordered maps.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
Array< T, 1 > array1d
Alias for 1D array.
ArrayView< T, 3, USD > arrayView3d
Alias for 3D array view.
struct to serve as a container for variable strings and keys
Struct to serve as a container for variable strings and keys.
static constexpr char const * numPerforationsGlobalString()