Class collecting all necessary components for a two-phase simulation.
More...
#include <SimulatorBase.hpp>
|
| SimulatorBase (const parameter::ParameterGroup ¶m, const Grid &grid, const DerivedGeology &geo, BlackoilPropsAdInterface &props, const RockCompressibility *rock_comp_props, NewtonIterationBlackoilInterface &linsolver, const double *gravity, const bool disgas, const bool vapoil, std::shared_ptr< EclipseState > eclipse_state, OutputWriter &output_writer, const std::vector< double > &threshold_pressures_by_face) |
|
SimulatorReport | run (SimulatorTimer &timer, ReservoirState &state) |
|
template<class Implementation>
class Opm::SimulatorBase< Implementation >
Class collecting all necessary components for a two-phase simulation.
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation >
Opm::SimulatorBase< Implementation >::SimulatorBase |
( |
const parameter::ParameterGroup & |
param, |
|
|
const Grid & |
grid, |
|
|
const DerivedGeology & |
geo, |
|
|
BlackoilPropsAdInterface & |
props, |
|
|
const RockCompressibility * |
rock_comp_props, |
|
|
NewtonIterationBlackoilInterface & |
linsolver, |
|
|
const double * |
gravity, |
|
|
const bool |
disgas, |
|
|
const bool |
vapoil, |
|
|
std::shared_ptr< EclipseState > |
eclipse_state, |
|
|
OutputWriter & |
output_writer, |
|
|
const std::vector< double > & |
threshold_pressures_by_face |
|
) |
| |
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).
- Parameters
-
[in] | grid | grid data structure |
[in] | geo | derived geological properties |
[in] | props | fluid and rock properties |
[in] | rock_comp_props | if non-null, rock compressibility properties |
[in] | linsolver | linear solver |
[in] | gravity | if non-null, gravity vector |
[in] | disgas | true for dissolved gas option |
[in] | vapoil | true for vaporized oil option |
[in] | eclipse_state | |
[in] | output_writer | |
[in] | threshold_pressures_by_face | if nonempty, threshold pressures that inhibit flow |
References Opm::SimulatorBase< Implementation >::allcells_, Opm::SimulatorBase< Implementation >::is_parallel_run_, Opm::NewtonIterationBlackoilInterface::parallelInformation(), Opm::SimulatorBase< Implementation >::solver_, and Opm::SimulatorBase< Implementation >::terminal_output_.
template<class Implementation>
template<class Implementation>
template<class Implementation >
void Opm::SimulatorBase< Implementation >::computeRESV |
( |
const std::size_t |
step, |
|
|
const Wells * |
wells, |
|
|
const BlackoilState & |
x, |
|
|
WellState & |
xw |
|
) |
| |
|
protected |
template<class Implementation >
template<class Implementation >
void Opm::SimulatorBase< Implementation >::handleAdditionalWellInflow |
( |
SimulatorTimer & |
timer, |
|
|
WellsManager & |
wells_manager, |
|
|
WellState & |
well_state, |
|
|
const Wells * |
wells |
|
) |
| |
|
protected |
template<class Implementation >
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
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
template<class Implementation>
The documentation for this class was generated from the following files:
|