#include <BlackoilSolventModel.hpp>

Inheritance diagram for Opm::BlackoilSolventModel< Grid >:
Inheritance graph

Public Types

typedef BlackoilModelBase
< Grid, BlackoilSolventModel
< Grid > > 
Base
 
typedef Base::ReservoirState ReservoirState
 
typedef Base::WellState WellState
 
typedef AutoDiffBlock< double > ADB
 
typedef ADB::V V
 
typedef ADB::M M
 
typedef ModelTraits
< BlackoilSolventModel< Grid >
>::ModelParameters 
ModelParameters
 

Public Member Functions

 BlackoilSolventModel (const typename Base::ModelParameters &param, const Grid &grid, const BlackoilPropsAdInterface &fluid, const DerivedGeology &geo, const RockCompressibility *rock_comp_props, const SolventPropsAdFromDeck &solvent_props, const Wells *wells, const NewtonIterationBlackoilInterface &linsolver, const EclipseStateConstPtr eclState, const bool has_disgas, const bool has_vapoil, const bool terminal_output, const bool has_solvent)
 
void updateState (const V &dx, ReservoirState &reservoir_state, WellState &well_state)
 
void assemble (const ReservoirState &reservoir_state, WellState &well_state, const bool initial_assembly)
 
void setThresholdPressures (const std::vector< double > &threshold_pressures_by_face)
 Set threshold pressures that prevent or reduce flow. This prevents flow across faces if the potential difference is less than the threshold. If the potential difference is greater, the threshold value is subtracted before calculating flow. This is treated symmetrically, so flow is prevented or reduced in both directions equally. More...
 
void prepareStep (const double dt, ReservoirState &reservoir_state, WellState &well_state)
 
void afterStep (const double dt, ReservoirState &reservoir_state, WellState &well_state)
 
std::vector< double > computeResidualNorms () const
 Compute the residual norms of the mass balance for each phase, the well flux, and the well equation. More...
 
int sizeNonLinear () const
 The size (number of unknowns) of the nonlinear system of equations. More...
 
int linearIterationsLastSolve () const
 Number of linear iterations used in last call to solveJacobianSystem(). More...
 
V solveJacobianSystem () const
 
bool terminalOutputEnabled () const
 Return true if output to cout is wanted. More...
 
bool getConvergence (const double dt, const int iteration)
 
int numPhases () const
 The number of active fluid phases in the model. More...
 
int numMaterials () const
 
const std::string & materialName (int material_index) const
 

Protected Types

enum  { Solvent = CanonicalVariablePositions::Next }
 
typedef Base::SolutionState SolutionState
 
typedef Base::DataBlock DataBlock
 

Protected Member Functions

std::vector< ADBcomputeRelPerm (const SolutionState &state) const
 
void makeConstantState (SolutionState &state) const
 
std::vector< VvariableStateInitials (const ReservoirState &x, const WellState &xw) const
 
std::vector< int > variableStateIndices () const
 
SolutionState variableStateExtractVars (const ReservoirState &x, const std::vector< int > &indices, std::vector< ADB > &vars) const
 
void computeAccum (const SolutionState &state, const int aix)
 
void assembleMassBalanceEq (const SolutionState &state)
 
void addWellContributionToMassBalanceEq (const std::vector< ADB > &cq_s, const SolutionState &state, WellState &xw)
 
void computeWellConnectionPressures (const SolutionState &state, const WellState &xw)
 
void updateEquationsScaling ()
 
void computeMassFlux (const int actph, const V &transi, const ADB &kr, const ADB &p, const SolutionState &state)
 
const std::vector< PhasePresence > phaseCondition () const
 
BlackoilSolventModel< Grid > & asImpl ()
 
const BlackoilSolventModel
< Grid > & 
asImpl () const
 
bool wellsActive () const
 
bool localWellsActive () const
 
const Wells & wells () const
 
void makeConstantState (SolutionState &state) const
 
SolutionState variableState (const ReservoirState &x, const WellState &xw) const
 
void variableReservoirStateInitials (const ReservoirState &x, std::vector< V > &vars0) const
 
void variableWellStateInitials (const WellState &xw, std::vector< V > &vars0) const
 
std::vector< int > variableWellStateIndices () const
 
void variableStateExtractWellsVars (const std::vector< int > &indices, std::vector< ADB > &vars, SolutionState &state) const
 
void computeAccum (const SolutionState &state, const int aix)
 
void computeWellConnectionPressures (const SolutionState &state, const WellState &xw)
 
void assembleMassBalanceEq (const SolutionState &state)
 
void solveWellEq (const std::vector< ADB > &mob_perfcells, const std::vector< ADB > &b_perfcells, SolutionState &state, WellState &well_state)
 
void computeWellFlux (const SolutionState &state, const std::vector< ADB > &mob_perfcells, const std::vector< ADB > &b_perfcells, V &aliveWells, std::vector< ADB > &cq_s)
 
void updatePerfPhaseRatesAndPressures (const std::vector< ADB > &cq_s, const SolutionState &state, WellState &xw)
 
void addWellFluxEq (const std::vector< ADB > &cq_s, const SolutionState &state)
 
void addWellContributionToMassBalanceEq (const std::vector< ADB > &cq_s, const SolutionState &state, const WellState &xw)
 
void addWellControlEq (const SolutionState &state, const WellState &xw, const V &aliveWells)
 
void updateWellControls (WellState &xw) const
 
void updateWellState (const V &dwells, WellState &well_state)
 
bool getWellConvergence (const int iteration)
 
bool isVFPActive () const
 
std::vector< ADBcomputePressures (const ADB &po, const ADB &sw, const ADB &so, const ADB &sg) const
 
V computeGasPressure (const V &po, const V &sw, const V &so, const V &sg) const
 
std::vector< ADBcomputeRelPerm (const SolutionState &state) const
 
void computeMassFlux (const int actph, const V &transi, const ADB &kr, const ADB &p, const SolutionState &state)
 
void applyThresholdPressures (ADB &dp)
 
ADB fluidViscosity (const int phase, const ADB &p, const ADB &temp, const ADB &rs, const ADB &rv, const std::vector< PhasePresence > &cond) const
 
ADB fluidReciprocFVF (const int phase, const ADB &p, const ADB &temp, const ADB &rs, const ADB &rv, const std::vector< PhasePresence > &cond) const
 
ADB fluidDensity (const int phase, const ADB &b, const ADB &rs, const ADB &rv) const
 
V fluidRsSat (const V &p, const V &so, const std::vector< int > &cells) const
 
ADB fluidRsSat (const ADB &p, const ADB &so, const std::vector< int > &cells) const
 
V fluidRvSat (const V &p, const V &so, const std::vector< int > &cells) const
 
ADB fluidRvSat (const ADB &p, const ADB &so, const std::vector< int > &cells) const
 
ADB poroMult (const ADB &p) const
 
ADB transMult (const ADB &p) const
 
void classifyCondition (const ReservoirState &state)
 
void updatePrimalVariableFromState (const ReservoirState &state)
 
void updatePhaseCondFromPrimalVariable ()
 Update the phaseCondition_ member based on the primalVariable_ member. More...
 
double convergenceReduction (const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &B, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &tempV, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &R, std::vector< double > &R_sum, std::vector< double > &maxCoeff, std::vector< double > &B_avg, std::vector< double > &maxNormWell, int nc, int nw) const
 Compute the reduction within the convergence check. More...
 
double dpMaxRel () const
 
double dsMax () const
 
double drMaxRel () const
 
double maxResidualAllowed () const
 

Protected Attributes

const bool has_solvent_
 
const int solvent_pos_
 
const SolventPropsAdFromDecksolvent_props_
 
const Grid & grid_
 
const BlackoilPropsAdInterfacefluid_
 
const DerivedGeologygeo_
 
const RockCompressibility * rock_comp_props_
 
const Wells * wells_
 
VFPProperties vfp_properties_
 
const
NewtonIterationBlackoilInterface
linsolver_
 
const std::vector< bool > active_
 
const std::vector< int > canph_
 
const std::vector< int > cells_
 
HelperOps ops_
 
const WellOps wops_
 
const bool has_disgas_
 
const bool has_vapoil_
 
ModelParameters param_
 
bool use_threshold_pressure_
 
bool wells_active_
 
V threshold_pressures_by_interior_face_
 
std::vector
< ReservoirResidualQuant > 
rq_
 
std::vector< PhasePresence > phaseCondition_
 
V isRs_
 
V isRv_
 
V isSg_
 
V well_perforation_densities_
 
V well_perforation_pressure_diffs_
 
LinearisedBlackoilResidual residual_
 
bool terminal_output_
 Whether we print something to std::cout. More...
 
std::vector< int > primalVariable_
 
V pvdt_
 
std::vector< std::string > material_name_
 

Friends

class BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >
 

Detailed Description

template<class Grid>
class Opm::BlackoilSolventModel< Grid >

A model implementation for three-phase black oil with one extra component.

It uses automatic differentiation via the class AutoDiffBlock to simplify assembly of the jacobian matrix.

Member Typedef Documentation

typedef AutoDiffBlock<double> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::ADB
inherited
template<class Grid>
typedef BlackoilModelBase<Grid, BlackoilSolventModel<Grid> > Opm::BlackoilSolventModel< Grid >::Base
template<class Grid>
typedef Base::DataBlock Opm::BlackoilSolventModel< Grid >::DataBlock
protected
typedef ADB::M Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::M
inherited
template<class Grid>
typedef Base::ReservoirState Opm::BlackoilSolventModel< Grid >::ReservoirState
template<class Grid>
typedef Base::SolutionState Opm::BlackoilSolventModel< Grid >::SolutionState
protected
typedef ADB::V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::V
inherited
template<class Grid>
typedef Base::WellState Opm::BlackoilSolventModel< Grid >::WellState

Member Enumeration Documentation

template<class Grid>
anonymous enum
protected
Enumerator
Solvent 

Constructor & Destructor Documentation

template<class Grid>
Opm::BlackoilSolventModel< Grid >::BlackoilSolventModel ( const typename Base::ModelParameters param,
const Grid &  grid,
const BlackoilPropsAdInterface fluid,
const DerivedGeology geo,
const RockCompressibility *  rock_comp_props,
const SolventPropsAdFromDeck solvent_props,
const Wells *  wells,
const NewtonIterationBlackoilInterface linsolver,
const EclipseStateConstPtr  eclState,
const bool  has_disgas,
const bool  has_vapoil,
const bool  terminal_output,
const bool  has_solvent 
)

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]paramparameters
[in]gridgrid data structure
[in]fluidfluid properties
[in]georock properties
[in]rock_comp_propsif non-null, rock compressibility properties
[in]solvent_propssolvent properties
[in]wellswell structure
[in]linsolverlinear solver
[in]has_disgasturn on dissolved gas
[in]has_vapoilturn on vaporized oil feature
[in]terminal_outputrequest output to cout/cerr
[in]has_solventturn on solvent feature

References Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluid_, Opm::BlackoilSolventModel< Grid >::has_solvent_, Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::has_vapoil_, Opm::LinearisedBlackoilResidual::matbalscale, Opm::LinearisedBlackoilResidual::material_balance_eq, Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::material_name_, Opm::AutoDiffBlock< double >::null(), Opm::BlackoilPropsAdInterface::numPhases(), Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::residual_, Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::rq_, and Opm::BlackoilSolventModel< Grid >::solvent_pos_.

Member Function Documentation

template<class Grid >
void Opm::BlackoilSolventModel< Grid >::addWellContributionToMassBalanceEq ( const std::vector< ADB > &  cq_s,
const SolutionState state,
WellState xw 
)
protected
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::addWellContributionToMassBalanceEq ( const std::vector< ADB > &  cq_s,
const SolutionState state,
const WellState xw 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::addWellControlEq ( const SolutionState state,
const WellState xw,
const V aliveWells 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::addWellFluxEq ( const std::vector< ADB > &  cq_s,
const SolutionState state 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::afterStep ( const double  dt,
ReservoirState reservoir_state,
WellState well_state 
)
inherited

Called once after each time step. In this class, this function does nothing.

Parameters
[in]dttime step size
[in,out]reservoir_statereservoir state variables
[in,out]well_statewell state variables
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::applyThresholdPressures ( ADB dp)
protectedinherited
BlackoilSolventModel< Grid > & Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::asImpl ( )
inlineprotectedinherited

Access the most-derived class used for static polymorphism (CRTP).

const BlackoilSolventModel< Grid > & Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::asImpl ( ) const
inlineprotectedinherited

Access the most-derived class used for static polymorphism (CRTP).

template<class Grid >
void Opm::BlackoilSolventModel< Grid >::assemble ( const ReservoirState reservoir_state,
WellState well_state,
const bool  initial_assembly 
)

Assemble the residual and Jacobian of the nonlinear system.

Parameters
[in]reservoir_statereservoir state variables
[in,out]well_statewell state variables
[in]initial_assemblypass true if this is the first call to assemble() in this timestep

References Opm::AutoDiffBlock< double >::constant(), Opm::Gas, Opm::AutoDiffBlock< double >::null(), Opm::subset(), and Opm::AutoDiffBlock< Scalar >::value().

template<class Grid >
void Opm::BlackoilSolventModel< Grid >::assembleMassBalanceEq ( const SolutionState state)
protected
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::assembleMassBalanceEq ( const SolutionState state)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::classifyCondition ( const ReservoirState state)
protectedinherited
template<class Grid >
void Opm::BlackoilSolventModel< Grid >::computeAccum ( const SolutionState state,
const int  aix 
)
protected

References Opm::Gas.

void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeAccum ( const SolutionState state,
const int  aix 
)
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeGasPressure ( const V po,
const V sw,
const V so,
const V sg 
) const
protectedinherited
template<class Grid >
void Opm::BlackoilSolventModel< Grid >::computeMassFlux ( const int  actph,
const V transi,
const ADB kr,
const ADB p,
const SolutionState state 
)
protected
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeMassFlux ( const int  actph,
const V transi,
const ADB kr,
const ADB p,
const SolutionState state 
)
protectedinherited
std::vector<ADB> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computePressures ( const ADB po,
const ADB sw,
const ADB so,
const ADB sg 
) const
protectedinherited
template<class Grid >
std::vector< ADB > Opm::BlackoilSolventModel< Grid >::computeRelPerm ( const SolutionState state) const
protected
std::vector<ADB> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeRelPerm ( const SolutionState state) const
protectedinherited
std::vector<double> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeResidualNorms ( ) const
inherited

Compute the residual norms of the mass balance for each phase, the well flux, and the well equation.

Returns
a vector that contains for each phase the norm of the mass balance and afterwards the norm of the residual of the well flux and the well equation.
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeWellConnectionPressures ( const SolutionState state,
const WellState xw 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::computeWellFlux ( const SolutionState state,
const std::vector< ADB > &  mob_perfcells,
const std::vector< ADB > &  b_perfcells,
V aliveWells,
std::vector< ADB > &  cq_s 
)
protectedinherited
double Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::convergenceReduction ( const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  B,
const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  tempV,
const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic > &  R,
std::vector< double > &  R_sum,
std::vector< double > &  maxCoeff,
std::vector< double > &  B_avg,
std::vector< double > &  maxNormWell,
int  nc,
int  nw 
) const
protectedinherited

Compute the reduction within the convergence check.

Parameters
[in]BA matrix with MaxNumPhases columns and the same number rows as the number of cells of the grid. B.col(i) contains the values for phase i.
[in]tempVA matrix with MaxNumPhases columns and the same number rows as the number of cells of the grid. tempV.col(i) contains the values for phase i.
[in]RA matrix with MaxNumPhases columns and the same number rows as the number of cells of the grid. B.col(i) contains the values for phase i.
[out]R_sumAn array of size MaxNumPhases where entry i contains the sum of R for the phase i.
[out]maxCoeffAn array of size MaxNumPhases where entry i contains the maximum of tempV for the phase i.
[out]B_avgAn array of size MaxNumPhases where entry i contains the average of B for the phase i.
[out]maxNormWellThe maximum of the well equations for each phase.
[in]ncThe number of cells of the local grid.
[in]nwThe number of wells on the local grid.
Returns
The total pore volume over all cells.
double Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::dpMaxRel ( ) const
inlineprotectedinherited
double Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::drMaxRel ( ) const
inlineprotectedinherited
double Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::dsMax ( ) const
inlineprotectedinherited
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidDensity ( const int  phase,
const ADB b,
const ADB rs,
const ADB rv 
) const
protectedinherited
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidReciprocFVF ( const int  phase,
const ADB p,
const ADB temp,
const ADB rs,
const ADB rv,
const std::vector< PhasePresence > &  cond 
) const
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidRsSat ( const V p,
const V so,
const std::vector< int > &  cells 
) const
protectedinherited
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidRsSat ( const ADB p,
const ADB so,
const std::vector< int > &  cells 
) const
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidRvSat ( const V p,
const V so,
const std::vector< int > &  cells 
) const
protectedinherited
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidRvSat ( const ADB p,
const ADB so,
const std::vector< int > &  cells 
) const
protectedinherited
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::fluidViscosity ( const int  phase,
const ADB p,
const ADB temp,
const ADB rs,
const ADB rv,
const std::vector< PhasePresence > &  cond 
) const
protectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::getConvergence ( const double  dt,
const int  iteration 
)
inherited

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

Parameters
[in]dttimestep length
[in]iterationcurrent iteration number
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::getWellConvergence ( const int  iteration)
protectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::isVFPActive ( ) const
protectedinherited
int Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::linearIterationsLastSolve ( ) const
inherited

Number of linear iterations used in last call to solveJacobianSystem().

bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::localWellsActive ( ) const
inlineprotectedinherited
template<class Grid >
void Opm::BlackoilSolventModel< Grid >::makeConstantState ( SolutionState state) const
protected
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::makeConstantState ( SolutionState state) const
protectedinherited
const std::string& Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::materialName ( int  material_index) const
inherited

The name of an active material in the model. It is required that material_index < numMaterials().

double Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::maxResidualAllowed ( ) const
inlineprotectedinherited
int Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::numMaterials ( ) const
inherited

The number of active materials in the model. This should be equal to the number of material balance equations.

int Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::numPhases ( ) const
inherited

The number of active fluid phases in the model.

template<class Grid>
const std::vector<PhasePresence> Opm::BlackoilSolventModel< Grid >::phaseCondition ( ) const
inlineprotected
ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::poroMult ( const ADB p) const
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::prepareStep ( const double  dt,
ReservoirState reservoir_state,
WellState well_state 
)
inherited

Called once before each time step.

Parameters
[in]dttime step size
[in,out]reservoir_statereservoir state variables
[in,out]well_statewell state variables
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::setThresholdPressures ( const std::vector< double > &  threshold_pressures_by_face)
inherited

Set threshold pressures that prevent or reduce flow. This prevents flow across faces if the potential difference is less than the threshold. If the potential difference is greater, the threshold value is subtracted before calculating flow. This is treated symmetrically, so flow is prevented or reduced in both directions equally.

Parameters
[in]threshold_pressures_by_facearray of size equal to the number of faces of the grid passed in the constructor.
int Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::sizeNonLinear ( ) const
inherited

The size (number of unknowns) of the nonlinear system of equations.

V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::solveJacobianSystem ( ) const
inherited

Solve the Jacobian system Jx = r where J is the Jacobian and r is the residual.

void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::solveWellEq ( const std::vector< ADB > &  mob_perfcells,
const std::vector< ADB > &  b_perfcells,
SolutionState state,
WellState well_state 
)
protectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::terminalOutputEnabled ( ) const
inherited

Return true if output to cout is wanted.

ADB Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::transMult ( const ADB p) const
protectedinherited
template<class Grid >
void Opm::BlackoilSolventModel< Grid >::updateEquationsScaling ( )
protected
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::updatePerfPhaseRatesAndPressures ( const std::vector< ADB > &  cq_s,
const SolutionState state,
WellState xw 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::updatePhaseCondFromPrimalVariable ( )
protectedinherited

Update the phaseCondition_ member based on the primalVariable_ member.

Update the phaseCondition_ member based on the primalVariable_ member. Also updates isRs_, isRv_ and isSg_;

void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::updatePrimalVariableFromState ( const ReservoirState state)
protectedinherited

update the primal variable for Sg, Rv or Rs. The Gas phase must be active to call this method.

template<class Grid >
void Opm::BlackoilSolventModel< Grid >::updateState ( const V dx,
ReservoirState reservoir_state,
WellState well_state 
)

Apply an update to the primary variables, chopped if appropriate.

Parameters
[in]dxupdates to apply to primary variables
[in,out]reservoir_statereservoir state variables
[in,out]well_statewell state variables

References Opm::Gas, Opm::Oil, Opm::subset(), and Opm::Water.

void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::updateWellControls ( WellState xw) const
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::updateWellState ( const V dwells,
WellState well_state 
)
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::variableReservoirStateInitials ( const ReservoirState x,
std::vector< V > &  vars0 
) const
protectedinherited
SolutionState Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::variableState ( const ReservoirState x,
const WellState xw 
) const
protectedinherited
template<class Grid >
BlackoilSolventModel< Grid >::SolutionState Opm::BlackoilSolventModel< Grid >::variableStateExtractVars ( const ReservoirState x,
const std::vector< int > &  indices,
std::vector< ADB > &  vars 
) const
protected

References Opm::Oil.

void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::variableStateExtractWellsVars ( const std::vector< int > &  indices,
std::vector< ADB > &  vars,
SolutionState state 
) const
protectedinherited
template<class Grid >
std::vector< int > Opm::BlackoilSolventModel< Grid >::variableStateIndices ( ) const
protected

References Opm::Bhp, and Opm::Qs.

template<class Grid >
std::vector< V > Opm::BlackoilSolventModel< Grid >::variableStateInitials ( const ReservoirState x,
const WellState xw 
) const
protected
std::vector<int> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::variableWellStateIndices ( ) const
protectedinherited
void Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::variableWellStateInitials ( const WellState xw,
std::vector< V > &  vars0 
) const
protectedinherited
const Wells& Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::wells ( ) const
inlineprotectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::wellsActive ( ) const
inlineprotectedinherited

Friends And Related Function Documentation

template<class Grid>
friend class BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >
friend

Member Data Documentation

const std::vector<bool> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::active_
protectedinherited
const std::vector<int> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::canph_
protectedinherited
const std::vector<int> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::cells_
protectedinherited
const DerivedGeology& Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::geo_
protectedinherited
const Grid& Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::grid_
protectedinherited
const bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::has_disgas_
protectedinherited
template<class Grid>
const bool Opm::BlackoilSolventModel< Grid >::has_solvent_
protected
const bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::has_vapoil_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::isRs_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::isRv_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::isSg_
protectedinherited
const NewtonIterationBlackoilInterface& Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::linsolver_
protectedinherited
std::vector<std::string> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::material_name_
protectedinherited
HelperOps Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::ops_
protectedinherited
ModelParameters Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::param_
protectedinherited
std::vector<PhasePresence> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::phaseCondition_
protectedinherited
std::vector<int> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::primalVariable_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::pvdt_
protectedinherited
const RockCompressibility* Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::rock_comp_props_
protectedinherited
std::vector<ReservoirResidualQuant> Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::rq_
protectedinherited
template<class Grid>
const int Opm::BlackoilSolventModel< Grid >::solvent_pos_
protected
template<class Grid>
const SolventPropsAdFromDeck& Opm::BlackoilSolventModel< Grid >::solvent_props_
protected
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::terminal_output_
protectedinherited

Whether we print something to std::cout.

V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::threshold_pressures_by_interior_face_
protectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::use_threshold_pressure_
protectedinherited
VFPProperties Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::vfp_properties_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::well_perforation_densities_
protectedinherited
V Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::well_perforation_pressure_diffs_
protectedinherited
const Wells* Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::wells_
protectedinherited
bool Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::wells_active_
protectedinherited
const WellOps Opm::BlackoilModelBase< Grid, BlackoilSolventModel< Grid > >::wops_
protectedinherited

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