#include <FlowGenericVanguard.hpp>

Inheritance diagram for Opm::FlowGenericVanguard:
Inheritance graph

Classes

struct  SimulationModelParams
 

Public Types

using ParallelWellStruct = std::vector< std::pair< std::string, bool > >
 

Public Member Functions

 FlowGenericVanguard ()
 Constructor. More...
 
 FlowGenericVanguard (SimulationModelParams &&params)
 
 ~FlowGenericVanguard ()
 Destructor. More...
 
double setupTime ()
 Returns the wall time required to set up the simulator before it was born. More...
 
void defineSimulationModel (SimulationModelParams &&params)
 Set the simulation configuration objects. More...
 
const EclipseState & eclState () const
 Return a reference to the internalized ECL deck. More...
 
EclipseState & eclState ()
 
const Schedule & schedule () const
 Return a reference to the object that managages the ECL schedule. More...
 
Schedule & schedule ()
 
const SummaryConfig & summaryConfig () const
 Return a reference to the object that determines which quantities ought to be put into the ECL summary output. More...
 
SummaryState & summaryState ()
 Returns the summary state. More...
 
const SummaryState & summaryState () const
 
Action::State & actionState ()
 Returns the action state. More...
 
const Action::State & actionState () const
 
UDQState & udqState ()
 Returns the udq state. More...
 
const UDQState & udqState () const
 
std::unique_ptr< WellTestState > transferWTestState ()
 
const std::string & caseName () const
 Returns the name of the case. More...
 
Dune::EdgeWeightMethod edgeWeightsMethod () const
 Parameter deciding the edge-weight strategy of the load balancer. More...
 
int numJacobiBlocks () const
 Number of blocks in the Block-Jacobi preconditioner. More...
 
bool ownersFirst () const
 Parameter that decide if cells owned by rank are ordered before ghost cells. More...
 
Dune::PartitionMethod partitionMethod () const
 Parameter deciding which partition method to use. More...
 
bool serialPartitioning () const
 Parameter that decides if partitioning for parallel runs should be performed on a single process only. More...
 
double imbalanceTol () const
 Parameter that sets the imbalance tolarance, depending on the chosen partition method. More...
 
const std::string & externalPartitionFile () const
 
bool enableDistributedWells () const
 Whether perforations of a well might be distributed. More...
 
const ParallelWellStructparallelWells () const
 Returns vector with name and whether the has local perforated cells for all wells. More...
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const FlowGenericVanguard &rhs) const
 

Static Public Member Functions

static SimulationModelParams serializationTestParams ()
 
static std::string canonicalDeckPath (const std::string &caseName)
 Returns the canonical path to a deck file. More...
 
static void readDeck (const std::string &filename)
 Read a deck. More...
 
static void setCommunication (std::unique_ptr< Opm::Parallel::Communication > comm)
 Set global communication. More...
 
static Parallel::Communicationcomm ()
 Obtain global communicator. More...
 

Static Public Attributes

static SimulationModelParams modelParams_
 

Protected Member Functions

void updateOutputDir_ (std::string outputDir, bool enableEclCompatFile)
 
void updateNOSIM_ (std::string_view enableDryRun)
 
bool drsdtconEnabled () const
 
std::unordered_map< std::size_t, const NumericalAquiferCell * > allAquiferCells () const
 
void init ()
 

Static Protected Member Functions

template<class Scalar >
static void registerParameters_ ()
 

Protected Attributes

double setupTime_
 
std::string caseName_
 
std::string fileName_
 
Dune::EdgeWeightMethod edgeWeightsMethod_
 
bool ownersFirst_
 
Dune::PartitionMethod partitionMethod_
 
bool serialPartitioning_
 
double imbalanceTol_
 
bool zoltanImbalanceTolSet_
 
double zoltanImbalanceTol_
 
std::string zoltanParams_
 
std::string metisParams_
 
std::string externalPartitionFile_ {}
 
bool enableDistributedWells_
 
std::string ignoredKeywords_
 
std::optional< int > outputInterval_
 
bool useMultisegmentWell_
 
bool enableExperiments_
 
std::unique_ptr< SummaryState > summaryState_
 
std::unique_ptr< UDQState > udqState_
 
std::unique_ptr< Action::State > actionState_
 
std::unique_ptr< WellTestState > wtestState_
 
std::shared_ptr< Python > python
 
std::shared_ptr< EclipseState > eclState_
 
std::shared_ptr< Schedule > eclSchedule_
 
std::shared_ptr< SummaryConfig > eclSummaryConfig_
 
ParallelWellStruct parallelWells_
 Information about wells in parallel. More...
 

Static Protected Attributes

static std::unique_ptr< Parallel::Communicationcomm_
 

Member Typedef Documentation

◆ ParallelWellStruct

using Opm::FlowGenericVanguard::ParallelWellStruct = std::vector<std::pair<std::string,bool> >

Constructor & Destructor Documentation

◆ FlowGenericVanguard() [1/2]

Opm::FlowGenericVanguard::FlowGenericVanguard ( )

Constructor.

Needs to be in compile unit.

◆ FlowGenericVanguard() [2/2]

Opm::FlowGenericVanguard::FlowGenericVanguard ( SimulationModelParams &&  params)
explicit

◆ ~FlowGenericVanguard()

Opm::FlowGenericVanguard::~FlowGenericVanguard ( )

Destructor.

Empty, but needs to be in compile unit.

Member Function Documentation

◆ actionState() [1/2]

Action::State & Opm::FlowGenericVanguard::actionState ( )
inline

Returns the action state.

The ActionState keeps track of how many times the various actions have run.

References actionState_.

◆ actionState() [2/2]

const Action::State & Opm::FlowGenericVanguard::actionState ( ) const
inline

References actionState_.

◆ allAquiferCells()

std::unordered_map< std::size_t, const NumericalAquiferCell * > Opm::FlowGenericVanguard::allAquiferCells ( ) const
protected

◆ canonicalDeckPath()

static std::string Opm::FlowGenericVanguard::canonicalDeckPath ( const std::string &  caseName)
static

Returns the canonical path to a deck file.

The input can either be the canonical deck file name or the name of the case (i.e., without the .DATA extension)

◆ caseName()

const std::string & Opm::FlowGenericVanguard::caseName ( ) const
inline

Returns the name of the case.

i.e., the all-uppercase version of the file name from which the deck is loaded with the ".DATA" suffix removed.

References caseName_.

◆ comm()

static Parallel::Communication & Opm::FlowGenericVanguard::comm ( )
inlinestatic

◆ defineSimulationModel()

void Opm::FlowGenericVanguard::defineSimulationModel ( SimulationModelParams &&  params)

Set the simulation configuration objects.

◆ drsdtconEnabled()

bool Opm::FlowGenericVanguard::drsdtconEnabled ( ) const
protected

◆ eclState() [1/2]

EclipseState & Opm::FlowGenericVanguard::eclState ( )
inline

References eclState_.

◆ eclState() [2/2]

◆ edgeWeightsMethod()

Dune::EdgeWeightMethod Opm::FlowGenericVanguard::edgeWeightsMethod ( ) const
inline

Parameter deciding the edge-weight strategy of the load balancer.

References edgeWeightsMethod_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ enableDistributedWells()

bool Opm::FlowGenericVanguard::enableDistributedWells ( ) const
inline

Whether perforations of a well might be distributed.

References enableDistributedWells_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ externalPartitionFile()

const std::string & Opm::FlowGenericVanguard::externalPartitionFile ( ) const
inline

◆ imbalanceTol()

double Opm::FlowGenericVanguard::imbalanceTol ( ) const
inline

Parameter that sets the imbalance tolarance, depending on the chosen partition method.

References imbalanceTol_, zoltanImbalanceTol_, and zoltanImbalanceTolSet_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ init()

void Opm::FlowGenericVanguard::init ( )
protected

◆ numJacobiBlocks()

int Opm::FlowGenericVanguard::numJacobiBlocks ( ) const
inline

Number of blocks in the Block-Jacobi preconditioner.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ operator==()

bool Opm::FlowGenericVanguard::operator== ( const FlowGenericVanguard rhs) const

◆ ownersFirst()

bool Opm::FlowGenericVanguard::ownersFirst ( ) const
inline

Parameter that decide if cells owned by rank are ordered before ghost cells.

References ownersFirst_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ parallelWells()

const ParallelWellStruct & Opm::FlowGenericVanguard::parallelWells ( ) const
inline

Returns vector with name and whether the has local perforated cells for all wells.

Will only have usable values for CpGrid.

References parallelWells_.

◆ partitionMethod()

Dune::PartitionMethod Opm::FlowGenericVanguard::partitionMethod ( ) const
inline

Parameter deciding which partition method to use.

References partitionMethod_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ readDeck()

static void Opm::FlowGenericVanguard::readDeck ( const std::string &  filename)
static

Read a deck.

Parameters
filenamefile to read

◆ registerParameters_()

template<class Scalar >
static void Opm::FlowGenericVanguard::registerParameters_ ( )
staticprotected

◆ schedule() [1/2]

Schedule & Opm::FlowGenericVanguard::schedule ( )
inline

References eclSchedule_.

◆ schedule() [2/2]

const Schedule & Opm::FlowGenericVanguard::schedule ( ) const
inline

Return a reference to the object that managages the ECL schedule.

References eclSchedule_.

Referenced by Opm::CpGridVanguard< TypeTag >::filterConnections_(), and Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ serializationTestParams()

static SimulationModelParams Opm::FlowGenericVanguard::serializationTestParams ( )
static

◆ serializeOp()

template<class Serializer >
void Opm::FlowGenericVanguard::serializeOp ( Serializer &  serializer)

◆ serialPartitioning()

bool Opm::FlowGenericVanguard::serialPartitioning ( ) const
inline

Parameter that decides if partitioning for parallel runs should be performed on a single process only.

References serialPartitioning_.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance().

◆ setCommunication()

static void Opm::FlowGenericVanguard::setCommunication ( std::unique_ptr< Opm::Parallel::Communication comm)
inlinestatic

Set global communication.

References comm(), and comm_.

◆ setupTime()

double Opm::FlowGenericVanguard::setupTime ( )
inline

Returns the wall time required to set up the simulator before it was born.

References setupTime_.

◆ summaryConfig()

const SummaryConfig & Opm::FlowGenericVanguard::summaryConfig ( ) const
inline

Return a reference to the object that determines which quantities ought to be put into the ECL summary output.

References eclSummaryConfig_.

◆ summaryState() [1/2]

SummaryState & Opm::FlowGenericVanguard::summaryState ( )
inline

Returns the summary state.

The summary state is a small container object for computed, ready to use summary values. The values will typically be used by the UDQ, WTEST and ACTIONX calculations.

References summaryState_.

◆ summaryState() [2/2]

const SummaryState & Opm::FlowGenericVanguard::summaryState ( ) const
inline

References summaryState_.

◆ transferWTestState()

std::unique_ptr< WellTestState > Opm::FlowGenericVanguard::transferWTestState ( )
inline

References wtestState_.

◆ udqState() [1/2]

UDQState & Opm::FlowGenericVanguard::udqState ( )
inline

Returns the udq state.

The UDQState keeps track of the result of UDQ evaluations.

References udqState_.

◆ udqState() [2/2]

const UDQState & Opm::FlowGenericVanguard::udqState ( ) const
inline

References udqState_.

◆ updateNOSIM_()

void Opm::FlowGenericVanguard::updateNOSIM_ ( std::string_view  enableDryRun)
protected

◆ updateOutputDir_()

void Opm::FlowGenericVanguard::updateOutputDir_ ( std::string  outputDir,
bool  enableEclCompatFile 
)
protected

Member Data Documentation

◆ actionState_

std::unique_ptr<Action::State> Opm::FlowGenericVanguard::actionState_
protected

Referenced by actionState().

◆ caseName_

std::string Opm::FlowGenericVanguard::caseName_
protected

Referenced by caseName().

◆ comm_

std::unique_ptr<Parallel::Communication> Opm::FlowGenericVanguard::comm_
staticprotected

Referenced by comm(), and setCommunication().

◆ eclSchedule_

std::shared_ptr<Schedule> Opm::FlowGenericVanguard::eclSchedule_
protected

Referenced by schedule().

◆ eclState_

std::shared_ptr<EclipseState> Opm::FlowGenericVanguard::eclState_
protected

Referenced by eclState().

◆ eclSummaryConfig_

std::shared_ptr<SummaryConfig> Opm::FlowGenericVanguard::eclSummaryConfig_
protected

Referenced by summaryConfig().

◆ edgeWeightsMethod_

Dune::EdgeWeightMethod Opm::FlowGenericVanguard::edgeWeightsMethod_
protected

◆ enableDistributedWells_

bool Opm::FlowGenericVanguard::enableDistributedWells_
protected

◆ enableExperiments_

bool Opm::FlowGenericVanguard::enableExperiments_
protected

◆ externalPartitionFile_

std::string Opm::FlowGenericVanguard::externalPartitionFile_ {}
protected

◆ fileName_

std::string Opm::FlowGenericVanguard::fileName_
protected

◆ ignoredKeywords_

std::string Opm::FlowGenericVanguard::ignoredKeywords_
protected

◆ imbalanceTol_

double Opm::FlowGenericVanguard::imbalanceTol_
protected

◆ metisParams_

std::string Opm::FlowGenericVanguard::metisParams_
protected

◆ modelParams_

SimulationModelParams Opm::FlowGenericVanguard::modelParams_
static

◆ outputInterval_

std::optional<int> Opm::FlowGenericVanguard::outputInterval_
protected

◆ ownersFirst_

bool Opm::FlowGenericVanguard::ownersFirst_
protected

◆ parallelWells_

ParallelWellStruct Opm::FlowGenericVanguard::parallelWells_
protected

Information about wells in parallel.

For each well in the model there is an entry with its name and a boolean indicating whether it perforates local cells.

Referenced by Opm::CpGridVanguard< TypeTag >::loadBalance(), and parallelWells().

◆ partitionMethod_

Dune::PartitionMethod Opm::FlowGenericVanguard::partitionMethod_
protected

◆ python

std::shared_ptr<Python> Opm::FlowGenericVanguard::python
protected

◆ serialPartitioning_

bool Opm::FlowGenericVanguard::serialPartitioning_
protected

◆ setupTime_

double Opm::FlowGenericVanguard::setupTime_
protected

Referenced by setupTime().

◆ summaryState_

std::unique_ptr<SummaryState> Opm::FlowGenericVanguard::summaryState_
protected

Referenced by summaryState().

◆ udqState_

std::unique_ptr<UDQState> Opm::FlowGenericVanguard::udqState_
protected

Referenced by udqState().

◆ useMultisegmentWell_

bool Opm::FlowGenericVanguard::useMultisegmentWell_
protected

◆ wtestState_

std::unique_ptr<WellTestState> Opm::FlowGenericVanguard::wtestState_
protected

Referenced by transferWTestState().

◆ zoltanImbalanceTol_

double Opm::FlowGenericVanguard::zoltanImbalanceTol_
protected

◆ zoltanImbalanceTolSet_

bool Opm::FlowGenericVanguard::zoltanImbalanceTolSet_
protected

◆ zoltanParams_

std::string Opm::FlowGenericVanguard::zoltanParams_
protected

The documentation for this class was generated from the following file: