Opm::SimulatorIncompTwophase Class Reference

Class collecting all necessary components for a two-phase simulation. More...

#include <SimulatorIncompTwophase.hpp>

List of all members.

Classes

struct  Impl

Public Member Functions

 SimulatorIncompTwophase (const ParameterGroup &param, const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const RockCompressibility *rock_comp_props, WellsManager &wells_manager, const std::vector< double > &src, const FlowBoundaryConditions *bcs, LinearSolverInterface &linsolver, const double *gravity)
 Initialise from parameters and objects to observe.
SimulatorReport run (SimulatorTimer &timer, TwophaseState &state, WellState &well_state)
 Run the simulation.
Event & timestep_completed ()
void sync ()
 Notify the simulator that a callback has an interest in reading for reporting purposes the contents of the state argument that was passed to the run() method.

Detailed Description

Class collecting all necessary components for a two-phase simulation.


Constructor & Destructor Documentation

Opm::SimulatorIncompTwophase::SimulatorIncompTwophase ( const ParameterGroup &  param,
const UnstructuredGrid &  grid,
const IncompPropertiesInterface &  props,
const RockCompressibility *  rock_comp_props,
WellsManager &  wells_manager,
const std::vector< double > &  src,
const FlowBoundaryConditions *  bcs,
LinearSolverInterface &  linsolver,
const double *  gravity 
)

Initialise from parameters and objects to observe.

Parameters:
[in] param parameters, this class accepts the following: parameter (default) effect ----------------------------------------------------------- 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] grid grid data structure
[in] props fluid and rock properties
[in] rock_comp_props if non-null, rock compressibility properties
[in] well_manager well manager, may manage no (null) wells
[in] src source terms
[in] bcs boundary conditions, treat as all noflow if null
[in] linsolver linear solver
[in] gravity if non-null, gravity vector

Member Function Documentation

SimulatorReport Opm::SimulatorIncompTwophase::run ( SimulatorTimer timer,
TwophaseState &  state,
WellState &  well_state 
)

Run the simulation.

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

Parameters:
[in,out] timer governs the requested reporting timesteps
[in,out] state state of reservoir: pressure, fluxes
[in,out] well_state state of wells: bhp, perforation rates
Returns:
simulation report, with timing data
void Opm::SimulatorIncompTwophase::sync (  ) 

Notify the simulator that a callback has an interest in reading for reporting purposes the contents of the state argument that was passed to the run() method.

The simulator will then flush any internal state which is currently not reflected in it.

Note:
This should only be called from within a notification which has been setup with timestep_completed(). Avoid calling this method outside of run().
See also:
Opm::SimulatorIncompTwophase::run, Opm::SimulatorIncompTwophase::timestep_completed

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

Generated on 26 Mar 2018 by  doxygen 1.6.1