21 #ifndef GEOS_MESH_GENERATORS_WELLGENERATORABC_HPP_
22 #define GEOS_MESH_GENERATORS_WELLGENERATORABC_HPP_
25 #include "codingUtilities/Utilities.hpp"
47 Group *
const parent )
virtual globalIndex numPerforations() const =0
Get the global number of perforations on this well.
virtual arrayView2d< real64 const > getNodeCoords() const =0
Get the physical location of the centers of well elements.
virtual arrayView2d< real64 const > getPerfCoords() const =0
Get the locations of the perforations.
virtual arrayView1d< arrayView1d< globalIndex const > const > getPrevElemIndices() const =0
Get the global indices mapping an element to the previous ones.
virtual arrayView1d< globalIndex const > getPerfElemIndex() const =0
Get the global indices of the well elements connected to each perforation.
virtual globalIndex numNodesPerElement() const =0
Get the number of nodes per well element.
virtual void generateWellGeometry()=0
Main function of the class that generates the well geometry.
virtual const string getWellControlsName() const =0
virtual arrayView1d< real64 const > getPerfSkinFactor() const =0
Get the skin factor at a perforation.
virtual globalIndex numNodes() const =0
Get the global number of well nodes.
virtual const string getWellRegionName() const =0
virtual arrayView2d< real64 const > getElemCoords() const =0
Get the physical location of the centers of well elements.
virtual const string_array & getPerforationList() const =0
virtual globalIndex numElements() const =0
Get the global number of well elements.
virtual real64 getMinSegmentLength() const =0
virtual arrayView1d< globalIndex const > getNextElemIndex() const =0
Get the global indices mapping an element to the next.
virtual real64 getMinElemLength() const =0
virtual const array2d< real64 > & getPolyNodeCoord() const =0
Get the Coordinates of the polyline nodes.
virtual real64 getElementRadius() const =0
Get the radius in the well.
virtual arrayView2d< globalIndex const > getElemToNodesMap() const =0
Get the global indices of the well nodes nodes connected to each element.
virtual const array2d< globalIndex > & getSegmentToPolyNodeMap() const =0
Getter to the Segment to PolyNode mapping.
virtual int getPhysicalDimensionsNumber() const =0
virtual arrayView1d< real64 const > getPerfTransmissibility() const =0
Get the well transmissibility at the perforations.
WellGeneratorABC(const string &name, Group *const parent)
Constructor.
virtual arrayView1d< real64 const > getElemVolume() const =0
Get the volume of the well elements.
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).
array1d< string > string_array
A 1-dimensional array of geos::string types.
double real64
64-bit floating point type.
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.