Opm::FullyImplicitCompressiblePolymerSolver Class Reference

#include <FullyImplicitCompressiblePolymerSolver.hpp>

Public Types

typedef parameter::ParameterGroup SolverParameters
 Not used by this class except to satisfy interface requirements. More...
 

Public Member Functions

 FullyImplicitCompressiblePolymerSolver (const UnstructuredGrid &grid, const BlackoilPropsAdInterface &fluid, const DerivedGeology &geo, const RockCompressibility *rock_comp_props, const PolymerPropsAd &polymer_props_ad, const Wells &wells, const NewtonIterationBlackoilInterface &linsolver)
 
int step (const double dt, PolymerBlackoilState &state, WellStateFullyImplicitBlackoilPolymer &wstate)
 
int nonlinearIterations () const
 
int linearIterations () const
 
const FullyImplicitCompressiblePolymerSolvermodel () const
 There is no separate model class for this solver, return itself. More...
 
double relativeChange (const PolymerBlackoilState &previous, const PolymerBlackoilState &current) const
 Evaluate the relative changes in the physical variables. More...
 

Detailed Description

A fully implicit solver for the oil-water with polymer problem.

The simulator is capable of handling oil-water-polymer problems It uses an industry-standard TPFA discretization with per-phase upwind weighting of mobilities.

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

Member Typedef Documentation

◆ SolverParameters

Not used by this class except to satisfy interface requirements.

Constructor & Destructor Documentation

◆ FullyImplicitCompressiblePolymerSolver()

Opm::FullyImplicitCompressiblePolymerSolver::FullyImplicitCompressiblePolymerSolver ( const UnstructuredGrid &  grid,
const BlackoilPropsAdInterface &  fluid,
const DerivedGeology &  geo,
const RockCompressibility *  rock_comp_props,
const PolymerPropsAd polymer_props_ad,
const Wells &  wells,
const NewtonIterationBlackoilInterface &  linsolver 
)

Construct a solver. 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]gridgrid data structure
[in]fluidfluid properties
[in]georock properties
[in]rock_comp_propsif non-null, rock compressibility properties
[in]polymer_props_adpolymer properties
[in]wellswell structure
[in]linsolverlinear solver

Member Function Documentation

◆ linearIterations()

int Opm::FullyImplicitCompressiblePolymerSolver::linearIterations ( ) const

◆ model()

const FullyImplicitCompressiblePolymerSolver & Opm::FullyImplicitCompressiblePolymerSolver::model ( ) const

There is no separate model class for this solver, return itself.

◆ nonlinearIterations()

int Opm::FullyImplicitCompressiblePolymerSolver::nonlinearIterations ( ) const

◆ relativeChange()

double Opm::FullyImplicitCompressiblePolymerSolver::relativeChange ( const PolymerBlackoilState previous,
const PolymerBlackoilState current 
) const

Evaluate the relative changes in the physical variables.

◆ step()

int Opm::FullyImplicitCompressiblePolymerSolver::step ( const double  dt,
PolymerBlackoilState state,
WellStateFullyImplicitBlackoilPolymer wstate 
)

Take a single forward step, modifiying state.pressure() state.faceflux() state.saturation() state.concentration() wstate.bhp()

Parameters
[in]dttime step size
[in]statereservoir state
[in]wstatewell state
[in]polymer_inflowpolymer influx

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