My Project
|
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_grid_type instance. More...
#include <EclipseGrid.hpp>
Public Member Functions | |
EclipseGrid (const std::string &filename) | |
Will create an EclipseGrid instance based on an existing GRID/EGRID file. | |
EclipseGrid (const EclipseGrid &src, const std::vector< int > &actnum) | |
EclipseGrid (const EclipseGrid &src, const double *zcorn, const std::vector< int > &actnum) | |
EclipseGrid (size_t nx, size_t ny, size_t nz, double dx=1.0, double dy=1.0, double dz=1.0, double top=0.0) | |
EclipseGrid (const GridDims &gd) | |
EclipseGrid (const std::array< int, 3 > &dims, const std::vector< double > &coord, const std::vector< double > &zcorn, const int *actnum=nullptr) | |
EclipseGrid (const Deck &deck, const int *actnum=nullptr) | |
EclipseGrid ignores ACTNUM in Deck, and therefore needs ACTNUM explicitly. | |
size_t | getNumActive () const |
bool | allActive () const |
size_t | activeIndex (size_t i, size_t j, size_t k) const |
size_t | activeIndex (size_t globalIndex) const |
size_t | getTotalActiveLGR () const |
size_t | getActiveIndexLGR (const std::string &label, size_t i, size_t j, size_t k) const |
size_t | getActiveIndexLGR (const std::string &label, size_t localIndex) const |
size_t | activeIndexLGR (const std::string &label, size_t i, size_t j, size_t k) const |
size_t | activeIndexLGR (const std::string &label, size_t localIndex) const |
size_t | getActiveIndex (size_t i, size_t j, size_t k) const |
size_t | getActiveIndex (size_t globalIndex) const |
std::vector< std::string > | get_all_lgr_labels () const |
const std::vector< std::string > & | get_all_labels () const |
std::string | get_lgr_tag () const |
std::vector< GridDims > | get_lgr_children_gridim () const |
void | assertIndexLGR (size_t localIndex) const |
void | assertLabelLGR (const std::string &label) const |
void | save (const std::string &filename, bool formatted, const std::vector< Opm::NNCdata > &nnc, const Opm::UnitSystem &units) const |
void | init_children_host_cells (bool logical=true) |
void | init_children_host_cells_logical (void) |
void | init_children_host_cells_geometrical (void) |
size_t | getGlobalIndex (size_t active_index) const |
Observe: the input argument is assumed to be in the space [0,num_active). | |
bool | circle () const |
bool | isPinchActive () const |
double | getPinchThresholdThickness () const |
PinchMode | getPinchOption () const |
PinchMode | getMultzOption () const |
PinchMode | getPinchGapMode () const |
double | getPinchMaxEmptyGap () const |
MinpvMode | getMinpvMode () const |
const std::vector< double > & | getMinpvVector () const |
template<typename T > | |
std::vector< T > | compressedVector (const std::vector< T > &input_vector) const |
const std::vector< int > & | getActiveMap () const |
Will return a vector a length num_active; where the value of each element is the corresponding global index. | |
void | init_lgr_cells (const LgrCollection &lgr_input) |
void | create_lgr_cells_tree (const LgrCollection &) |
std::tuple< std::array< double, 3 >, std::array< double, 3 >, std::array< double, 3 > > | getCellAndBottomCenterNormal (size_t globalIndex) const |
get cell center, and center and normal of bottom face | |
std::array< double, 3 > | getCellCenter (size_t i, size_t j, size_t k) const |
std::array< double, 3 > | getCellCenter (size_t globalIndex) const |
std::array< double, 3 > | getCornerPos (size_t i, size_t j, size_t k, size_t corner_index) const |
const std::vector< double > & | activeVolume () const |
double | getCellVolume (size_t globalIndex) const |
double | getCellVolume (size_t i, size_t j, size_t k) const |
double | getCellThickness (size_t globalIndex) const |
double | getCellThickness (size_t i, size_t j, size_t k) const |
std::array< double, 3 > | getCellDims (size_t i, size_t j, size_t k) const |
std::array< double, 3 > | getCellDims (size_t globalIndex) const |
bool | cellActive (size_t globalIndex) const |
bool | cellActive (size_t i, size_t j, size_t k) const |
bool | cellActiveAfterMINPV (size_t i, size_t j, size_t k, double cell_porv) const |
bool | is_lgr () const |
std::array< double, 3 > | getCellDimensions (size_t i, size_t j, size_t k) const |
std::array< double, 3 > | getCellDimensionsLGR (const std::size_t i, const std::size_t j, const std::size_t k, const std::string &lgr_tag) const |
Computes the dimensions of a local grid refinement (LGR) cell. | |
double | getCellDepthLGR (size_t i, size_t j, size_t k, const std::string &lgr_tag) const |
bool | isCellActive (size_t i, size_t j, size_t k) const |
bool | isValidCellGeomtry (const std::size_t globalIndex, const UnitSystem &usys) const |
Whether or not given cell has a valid cell geometry. | |
double | getCellDepth (size_t i, size_t j, size_t k) const |
double | getCellDepth (size_t globalIndex) const |
ZcornMapper | zcornMapper () const |
const std::vector< double > & | getCOORD () const |
const std::vector< double > & | getZCORN () const |
const std::vector< int > & | getACTNUM () const |
const std::optional< MapAxes > & | getMapAxes () const |
const std::map< size_t, std::array< int, 2 > > & | getAquiferCellTabnums () const |
size_t | fixupZCORN () |
size_t | getZcornFixed () |
void | resetACTNUM () |
void | resetACTNUM (const std::vector< int > &actnum) |
void | setMINPVV (const std::vector< double > &minpvv) |
Sets MINPVV if MINPV and MINPORV are not used. | |
bool | equal (const EclipseGrid &other) const |
EclipseGridLGR & | getLGRCell (std::size_t index) |
const EclipseGridLGR & | getLGRCell (const std::string &lgr_tag) const |
int | getLGR_global_father (std::size_t global_index, const std::string &lgr_tag) const |
virtual void | set_lgr_refinement (const std::string &lgr_tag, const std::vector< double > &coords, const std::vector< double > &zcorn) |
Sets Local Grid Refinement for the EclipseGrid. | |
std::size_t | getGlobalIndex (std::size_t i, std::size_t j, std::size_t k) const |
![]() | |
GridDims (const std::array< int, 3 > &xyz) | |
GridDims (std::size_t nx, std::size_t ny, std::size_t nz) | |
GridDims (const Deck &deck) | |
std::size_t | getNX () const |
std::size_t | getNY () const |
std::size_t | getNZ () const |
std::size_t | operator[] (int dim) const |
std::array< int, 3 > | getNXYZ () const |
std::size_t | getGlobalIndex (std::size_t i, std::size_t j, std::size_t k) const |
std::array< int, 3 > | getIJK (std::size_t globalIndex) const |
std::size_t | getCartesianSize () const |
void | assertGlobalIndex (std::size_t globalIndex) const |
void | assertIJK (std::size_t i, std::size_t j, std::size_t k) const |
bool | operator== (const GridDims &data) const |
template<class Serializer > | |
void | serializeOp (Serializer &serializer) |
Static Public Member Functions | |
static bool | hasGDFILE (const Deck &deck) |
static bool | hasRadialKeywords (const Deck &deck) |
static bool | hasSpiderKeywords (const Deck &deck) |
static bool | hasCylindricalKeywords (const Deck &deck) |
static bool | hasCornerPointKeywords (const Deck &) |
static bool | hasCartesianKeywords (const Deck &) |
static bool | hasDVDEPTHZKeywords (const Deck &) |
static bool | hasEqualDVDEPTHZ (const Deck &) |
static bool | allEqual (const std::vector< double > &v) |
![]() | |
static GridDims | serializationTestObject () |
Public Attributes | |
std::vector< EclipseGridLGR > | lgr_children_cells |
Protected Attributes | |
std::size_t | lgr_global_counter = 0 |
std::string | lgr_label = "GLOBAL" |
int | lgr_level = 0 |
int | lgr_level_father = 0 |
std::vector< std::string > | lgr_children_labels |
std::vector< std::size_t > | lgr_active_index |
std::vector< std::size_t > | lgr_level_active_map |
std::vector< std::string > | all_lgr_labels |
std::map< std::vector< std::size_t >, std::size_t > | num_lgr_children_cells |
std::vector< double > | m_zcorn |
std::vector< double > | m_coord |
std::vector< int > | m_actnum |
std::vector< std::size_t > | m_print_order_lgr_cells |
std::optional< std::vector< double > > | m_input_zcorn |
std::optional< std::vector< double > > | m_input_coord |
![]() | |
std::size_t | m_nx |
std::size_t | m_ny |
std::size_t | m_nz |
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_grid_type instance.
This pointer must be used for access to all cell related properties, including:
|
explicit |
EclipseGrid ignores ACTNUM in Deck, and therefore needs ACTNUM explicitly.
If a null pointer is passed, every cell is active.
std::array< double, 3 > Opm::EclipseGrid::getCellDimensionsLGR | ( | const std::size_t | i, |
const std::size_t | j, | ||
const std::size_t | k, | ||
const std::string & | lgr_tag | ||
) | const |
Computes the dimensions of a local grid refinement (LGR) cell.
This function calculates the dimensions of an LGR cell by dividing the parent cell's dimensions by the subdivision ratio for the given LGR tag.
i | Local index of the parent cell in the x-direction. |
j | Local index of the parent cell in the y-direction. |
k | Local index of the parent cell in the z-direction. |
lgr_tag | Identifier for the LGR region. |
bool Opm::EclipseGrid::isValidCellGeomtry | ( | const std::size_t | globalIndex, |
const UnitSystem & | usys | ||
) | const |
Whether or not given cell has a valid cell geometry.
Valid geometry is defined as all vertices have finite coordinates and at least one pair of coordinates are separated by a physical distance along a pillar.
|
virtual |
Sets Local Grid Refinement for the EclipseGrid.
lgr_tag | The string that contains the name of a given LGR cell. |
coords | The coordinates of a given LGR cell in CPG COORDSformat. |
zcorn | The z-coordinates values of a given LGR cell in CPG ZCORN format. |
Reimplemented in Opm::EclipseGridLGR.