#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
 
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...
 
bool serialPartitioning () const
 Parameter that decides if partitioning for parallel runs should be performed on a single process only. More...
 
double zoltanImbalanceTol () const
 Parameter that sets the zoltan imbalance tolarance. 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)
 
bool drsdtconEnabled () const
 
std::unordered_map< std::size_t, const NumericalAquiferCell * > allAquiferCells () const
 
void init ()
 

Protected Attributes

double setupTime_
 
std::string caseName_
 
std::string fileName_
 
Dune::EdgeWeightMethod edgeWeightsMethod_
 
bool ownersFirst_
 
bool serialPartitioning_
 
double zoltanImbalanceTol_
 
std::string zoltanParams_
 
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()

◆ 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

◆ 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_.

◆ readDeck()

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

Read a deck.

Parameters
filenamefile to read

◆ 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()

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_.

◆ updateOutputDir_()

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

◆ zoltanImbalanceTol()

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

Parameter that sets the zoltan imbalance tolarance.

References zoltanImbalanceTol_.

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

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

◆ 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().

◆ 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

◆ zoltanParams_

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

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