Opm::BlackoilPressureModel< Grid, WellModel > Class Template Reference

A model implementation for the pressure equation in three-phase black oil. More...

#include <BlackoilPressureModel.hpp>

Inheritance diagram for Opm::BlackoilPressureModel< Grid, WellModel >:
Opm::BlackoilModelBase< Grid, WellModel, BlackoilPressureModel< Grid, WellModel > >

List of all members.

Public Types

typedef BlackoilModelBase
< Grid, WellModel,
BlackoilPressureModel< Grid,
WellModel > > 
Base
typedef Base::ReservoirState ReservoirState
typedef Base::WellState WellState
typedef Base::SolutionState SolutionState
typedef Base::V V

Public Member Functions

 BlackoilPressureModel (const typename Base::ModelParameters &param, const Grid &grid, const BlackoilPropsAdFromDeck &fluid, const DerivedGeology &geo, const RockCompressibility *rock_comp_props, const StandardWells &std_wells, const NewtonIterationBlackoilInterface &linsolver, std::shared_ptr< const EclipseState > eclState, const bool has_disgas, const bool has_vapoil, const bool terminal_output)
 Construct the model.

Public Attributes

friend Base

Protected Member Functions

SimulatorReport assemble (const ReservoirState &reservoir_state, WellState &well_state, const bool initial_assembly)
SolutionState variableState (const ReservoirState &x, const WellState &xw) const
void computeAccum (const SolutionState &state, const int aix)
void assembleMassBalanceEq (const SolutionState &state)
void updateState (const V &dx, ReservoirState &reservoir_state, WellState &well_state)
bool getConvergence (const SimulatorTimerInterface &, const int iteration)
 Compute convergence based on total mass balance (tol_mb) and maximum residual mass balance (tol_cnv).

Protected Attributes

SolutionState state0_
double max_dp_rel_ = std::numeric_limits<double>::infinity()
ADB scaling_ [3] = { ADB::null(), ADB::null(), ADB::null() }

Detailed Description

template<class Grid, class WellModel>
class Opm::BlackoilPressureModel< Grid, WellModel >

A model implementation for the pressure equation in three-phase black oil.

The model is based on the normal black oil model. It uses automatic differentiation via the class AutoDiffBlock to simplify assembly of the jacobian matrix.


Constructor & Destructor Documentation

template<class Grid , class WellModel >
Opm::BlackoilPressureModel< Grid, WellModel >::BlackoilPressureModel ( const typename Base::ModelParameters &  param,
const Grid &  grid,
const BlackoilPropsAdFromDeck fluid,
const DerivedGeology geo,
const RockCompressibility *  rock_comp_props,
const StandardWells std_wells,
const NewtonIterationBlackoilInterface linsolver,
std::shared_ptr< const EclipseState >  eclState,
const bool  has_disgas,
const bool  has_vapoil,
const bool  terminal_output 
) [inline]

Construct the model.

It will retain references to the arguments of this functions, and they are expected to remain in scope for the lifetime of the solver.

Parameters:
[in] param parameters
[in] grid grid data structure
[in] fluid fluid properties
[in] geo rock properties
[in] rock_comp_props if non-null, rock compressibility properties
[in] wells_arg well structure
[in] linsolver linear solver
[in] eclState eclipse state
[in] has_disgas turn on dissolved gas
[in] has_vapoil turn on vaporized oil feature
[in] terminal_output request output to cout/cerr

Member Function Documentation

template<class Grid , class WellModel >
bool Opm::BlackoilPressureModel< Grid, WellModel >::getConvergence ( const SimulatorTimerInterface timer,
const int  iteration 
) [inline, protected]

Compute convergence based on total mass balance (tol_mb) and maximum residual mass balance (tol_cnv).

Parameters:
[in] timer simulation timer
[in] iteration current iteration number

Reimplemented from Opm::BlackoilModelBase< Grid, WellModel, BlackoilPressureModel< Grid, WellModel > >.


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

Generated on 26 Mar 2018 by  doxygen 1.6.1