opm-simulators
Loading...
Searching...
No Matches
Opm::SimulatorFullyImplicitBlackoil< TypeTag > Class Template Reference

a simulator for the blackoil model More...

#include <SimulatorFullyImplicitBlackoil.hpp>

Inheritance diagram for Opm::SimulatorFullyImplicitBlackoil< TypeTag >:
Opm::SerializableSim

Public Types

using Simulator = GetPropType<TypeTag, Properties::Simulator>
using Grid = GetPropType<TypeTag, Properties::Grid>
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>
using ElementContext = GetPropType<TypeTag, Properties::ElementContext>
using BlackoilIndices = GetPropType<TypeTag, Properties::Indices>
using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>
using MaterialLaw = GetPropType<TypeTag, Properties::MaterialLaw>
using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>
using MaterialLawParams = GetPropType<TypeTag, Properties::MaterialLawParams>
using AquiferModel = GetPropType<TypeTag, Properties::AquiferModel>
using Model = GetPropType<TypeTag, Properties::NonlinearSystem>
using TimeStepper = AdaptiveTimeStepping<TypeTag>
using PolymerModule = BlackOilPolymerModule<TypeTag>
using BioeffectsModule = BlackOilBioeffectsModule<TypeTag>
using Solver = NonlinearSolver<TypeTag, Model>
using ModelParameters = typename Model::ModelParameters
using SolverParameters = typename Solver::SolverParameters
using WellModel = BlackoilWellModel<TypeTag>

Public Member Functions

 SimulatorFullyImplicitBlackoil (Simulator &simulator)
 Initialise from parameters and objects to observe.
SimulatorReport run (SimulatorTimer &timer)
 Run the simulation.
void init (const SimulatorTimer &timer)
void updateTUNING (const Tuning &tuning)
bool runStep (SimulatorTimer &timer)
SimulatorReport finalize ()
const Grid & grid () const
template<class Serializer>
void serializeOp (Serializer &serializer)
const Model & model () const

Static Public Member Functions

static void registerParameters ()

Protected Member Functions

void loadState (HDF5Serializer &serializer, const std::string &groupName) override
 Load simulator state from hdf5 serializer.
void saveState (HDF5Serializer &serializer, const std::string &groupName) const override
 Save simulator state using hdf5 serializer.
std::array< std::string, 5 > getHeader () const override
 Returns header data.
const std::vector< int > & getCellMapping () const override
 Returns local-to-global cell mapping.
std::unique_ptr< Solver > createSolver (WellModel &wellModel)
const EclipseState & eclState () const
const Schedule & schedule () const
bool isRestart () const
WellModel & wellModel_ ()
const WellModel & wellModel_ () const

Protected Attributes

Simulator & simulator_
ModelParameters modelParam_
SolverParameters solverParam_
std::unique_ptr< Solver > solver_
bool terminalOutput_
SimulatorReport report_
std::unique_ptr< time::StopWatch > solverTimer_
std::unique_ptr< time::StopWatch > totalTimer_
std::unique_ptr< TimeStepper > adaptiveTimeStepping_
SimulatorConvergenceOutput convergence_output_ {}
SimulatorSerializer serializer_

Detailed Description

template<class TypeTag>
class Opm::SimulatorFullyImplicitBlackoil< TypeTag >

a simulator for the blackoil model

Constructor & Destructor Documentation

◆ SimulatorFullyImplicitBlackoil()

template<class TypeTag>
Opm::SimulatorFullyImplicitBlackoil< TypeTag >::SimulatorFullyImplicitBlackoil ( Simulator & simulator)
inlineexplicit

Initialise from parameters and objects to observe.

Parameters
simulatorReference to main simulator

Member Function Documentation

◆ getCellMapping()

template<class TypeTag>
const std::vector< int > & Opm::SimulatorFullyImplicitBlackoil< TypeTag >::getCellMapping ( ) const
inlineoverrideprotectedvirtual

Returns local-to-global cell mapping.

Implements Opm::SerializableSim.

◆ getHeader()

template<class TypeTag>
std::array< std::string, 5 > Opm::SimulatorFullyImplicitBlackoil< TypeTag >::getHeader ( ) const
inlineoverrideprotectedvirtual

Returns header data.

Implements Opm::SerializableSim.

◆ loadState()

template<class TypeTag>
void Opm::SimulatorFullyImplicitBlackoil< TypeTag >::loadState ( HDF5Serializer & serializer,
const std::string & groupName )
inlineoverrideprotectedvirtual

Load simulator state from hdf5 serializer.

Implements Opm::SerializableSim.

◆ run()

template<class TypeTag>
SimulatorReport Opm::SimulatorFullyImplicitBlackoil< TypeTag >::run ( SimulatorTimer & timer)
inline

Run the simulation.

This will run succesive timesteps until timer.done() is true. It will modify the reservoir and well states.

Parameters
[in,out]timergoverns the requested reporting timesteps
[in,out]statestate of reservoir: pressure, fluxes
Returns
simulation report, with timing data

◆ saveState()

template<class TypeTag>
void Opm::SimulatorFullyImplicitBlackoil< TypeTag >::saveState ( HDF5Serializer & serializer,
const std::string & groupName ) const
inlineoverrideprotectedvirtual

Save simulator state using hdf5 serializer.

Implements Opm::SerializableSim.


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