Opm::SimulatorCompressiblePolymer Class Reference

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

#include <SimulatorCompressiblePolymer.hpp>

Public Member Functions

 SimulatorCompressiblePolymer (const parameter::ParameterGroup &param, const UnstructuredGrid &grid, const BlackoilPropertiesInterface &props, const PolymerProperties &poly_props, const RockCompressibility *rock_comp_props, WellsManager &wells_manager, const PolymerInflowInterface &polymer_inflow, LinearSolverInterface &linsolver, const double *gravity)
 
SimulatorReport run (SimulatorTimer &timer, PolymerBlackoilState &state, WellState &well_state)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ SimulatorCompressiblePolymer()

Opm::SimulatorCompressiblePolymer::SimulatorCompressiblePolymer ( const parameter::ParameterGroup &  param,
const UnstructuredGrid &  grid,
const BlackoilPropertiesInterface &  props,
const PolymerProperties poly_props,
const RockCompressibility *  rock_comp_props,
WellsManager &  wells_manager,
const PolymerInflowInterface polymer_inflow,
LinearSolverInterface &  linsolver,
const double *  gravity 
)

Initialise from parameters and objects to observe.

Parameters
[in]paramparameters, 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).

Parameters
[in]gridgrid data structure
[in]propsfluid and rock properties
[in]poly_propspolymer properties
[in]rock_comp_propsif non-null, rock compressibility properties
[in]wells_managerwell manager, may manage no (null) wells
[in]polymer_inflowpolymer inflow controls
[in]linsolverlinear solver
[in]gravityif non-null, gravity vector

Member Function Documentation

◆ run()

SimulatorReport Opm::SimulatorCompressiblePolymer::run ( SimulatorTimer &  timer,
PolymerBlackoilState 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]timergoverns the requested reporting timesteps
[in,out]statestate of reservoir: pressure, fluxes, polymer concentration, saturations, surface volumes.
[in,out]well_statestate of wells: bhp, perforation rates
Returns
simulation report, with timing data

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