My Project
|
a simulator for the blackoil model More...
#include <SimulatorFullyImplicitBlackoil.hpp>
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_ |
PhaseUsage | phaseUsage_ |
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_ |
a simulator for the blackoil model
|
inlineexplicit |
Initialise from parameters and objects to observe.
[in] | param | parameters, this class accepts the following: |
output (true) write output to files? output_dir ("output") output directoty output_interval (1) output every nth step nl_pressure_residual_tolerance (0.0) pressure solver residual tolerance (in Pascal) nl_pressure_change_tolerance (1.0) pressure solver change tolerance (in Pascal) nl_pressure_maxiter (10) max nonlinear iterations in pressure nl_maxiter (30) max nonlinear iterations in transport nl_tolerance (1e-9) transport solver absolute residual tolerance num_transport_substeps (1) number of transport steps per pressure step use_segregation_split (false) solve for gravity segregation (if false, segregation is ignored).
[in] | props | fluid and rock properties |
[in] | linsolver | linear solver |
[in] | eclipse_state | the object which represents an internalized ECL deck |
[in] | output_writer | |
[in] | threshold_pressures_by_face | if nonempty, threshold pressures that inhibit flow |
|
inlineoverrideprotectedvirtual |
Returns local-to-global cell mapping.
Implements Opm::SerializableSim.
|
inlineoverrideprotectedvirtual |
Returns header data.
Implements Opm::SerializableSim.
|
inlineoverrideprotectedvirtual |
Load simulator state from hdf5 serializer.
Implements Opm::SerializableSim.
|
inline |
Run the simulation.
This will run succesive timesteps until timer.done() is true. It will modify the reservoir and well states.
[in,out] | timer | governs the requested reporting timesteps |
[in,out] | state | state of reservoir: pressure, fluxes |
|
inlineoverrideprotectedvirtual |
Save simulator state using hdf5 serializer.
Implements Opm::SerializableSim.