Opm::FlowMainBase< Implementation, Grid, Simulator > Class Template Reference

This class encapsulates the setup and running of a simulator based on an input deck. More...

#include <FlowMain.hpp>

Public Member Functions

int execute (int argc, char **argv)
 This is the main function of Flow. More...
 

Protected Types

typedef BlackoilPropsAdFromDeck FluidProps
 
typedef FluidProps::MaterialLawManager MaterialLawManager
 
typedef Simulator::ReservoirState ReservoirState
 
typedef Simulator::OutputWriter OutputWriter
 

Protected Member Functions

void setupParallelism (int argc, char **argv)
 
bool cartesianAdjacent (const Grid &grid, int g1, int g2)
 checks cartesian adjacency of global indices g1 and g2
 
void printStartupMessage ()
 
bool setupParameters (int argc, char **argv)
 
void setupOutput ()
 
void setupLogging ()
 
void mergeParallelLogFiles ()
 
void readDeckInput ()
 
void setupGridAndProps ()
 
void setupState ()
 
void distributeData ()
 
void extractMessages ()
 
void runDiagnostics ()
 
void writeInit ()
 
void setupOutputWriter ()
 
void setupLinearSolver ()
 
int runSimulator ()
 
Implementation & asImpl ()
 

Protected Attributes

int mpi_rank_ = 0
 
bool output_cout_ = false
 
bool must_distribute_ = false
 
ParameterGroup param_
 
bool output_to_files_ = false
 
std::string output_dir_ = std::string(".")
 
std::shared_ptr< Deck > deck_
 
std::shared_ptr< EclipseState > eclipse_state_
 
std::unique_ptr< GridInit< Grid > > grid_init_
 
std::shared_ptr< MaterialLawManager > material_law_manager_
 
std::unique_ptr< FluidPropsfluidprops_
 
std::unique_ptr< RockCompressibility > rock_comp_
 
std::array< double, 3 > gravity_
 
bool use_local_perm_ = true
 
std::unique_ptr< DerivedGeologygeoprops_
 
std::unique_ptr< ReservoirState > state_
 
std::vector< double > threshold_pressures_
 
boost::any parallel_information_
 
std::unique_ptr< EclipseIO > eclipse_writer_
 
std::unique_ptr< OutputWriter > output_writer_
 
std::unique_ptr< NewtonIterationBlackoilInterfacefis_solver_
 
std::unique_ptr< Simulator > simulator_
 
std::string logFile_
 
std::unordered_set< std::string > defunct_well_names_
 

Detailed Description

template<class Implementation, class Grid, class Simulator>
class Opm::FlowMainBase< Implementation, Grid, Simulator >

This class encapsulates the setup and running of a simulator based on an input deck.

Member Function Documentation

◆ execute()

template<class Implementation, class Grid, class Simulator>
int Opm::FlowMainBase< Implementation, Grid, Simulator >::execute ( int  argc,
char **  argv 
)
inline

This is the main function of Flow.

It runs a complete simulation, with the given grid and simulator classes, based on user command-line input. The content of this function used to be in the main() function of flow.cpp.


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