Opm::IncompTpfaPolymer Class Reference

#include <IncompTpfaPolymer.hpp>

Inheritance diagram for Opm::IncompTpfaPolymer:
Inheritance graph

Public Member Functions

 IncompTpfaPolymer (const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const RockCompressibility *rock_comp_props, const PolymerProperties &poly_props, LinearSolverInterface &linsolver, const double residual_tol, const double change_tol, const int maxiter, const double *gravity, const Wells *wells, const std::vector< double > &src, const FlowBoundaryConditions *bcs)
 
void solve (const double dt, PolymerState &state, WellState &well_state)
 

Detailed Description

Encapsulating a tpfa pressure solver for the incompressible-fluid case with polymer. Supports gravity, wells controlled by bhp or reservoir rates, boundary conditions and simple sources as driving forces. Rock compressibility can be included, and necessary nonlinear iterations are handled. Below we use the shortcuts D for the number of dimensions, N for the number of cells and F for the number of faces.

Constructor & Destructor Documentation

Opm::IncompTpfaPolymer::IncompTpfaPolymer ( const UnstructuredGrid &  grid,
const IncompPropertiesInterface &  props,
const RockCompressibility *  rock_comp_props,
const PolymerProperties poly_props,
LinearSolverInterface &  linsolver,
const double  residual_tol,
const double  change_tol,
const int  maxiter,
const double *  gravity,
const Wells *  wells,
const std::vector< double > &  src,
const FlowBoundaryConditions *  bcs 
)

Construct solver, possibly with rock compressibility.

Parameters
[in]gridA 2d or 3d grid.
[in]propsRock and fluid properties.
[in]rock_comp_propsRock compressibility properties. May be null.
[in]poly_propsPolymer properties.
[in]linsolverLinear solver to use.
[in]residual_tolSolution accepted if inf-norm of residual is smaller.
[in]change_tolSolution accepted if inf-norm of change in pressure is smaller.
[in]maxiterMaximum acceptable number of iterations.
[in]gravityGravity vector. If non-null, the array should have D elements.
[in]wellsThe wells argument. Will be used in solution, is ignored if NULL. Note: this class observes the well object, and makes the assumption that the well topology and completions does not change during the run. However, controls (only) are allowed to change.
[in]srcSource terms. May be empty().
[in]bcsBoundary conditions, treat as all noflow if null.

Member Function Documentation

void Opm::IncompTpfaPolymer::solve ( const double  dt,
PolymerState state,
WellState &  well_state 
)

Solve the pressure equation. If there is no pressure dependency introduced by rock compressibility effects, the equation is linear, and it is solved directly. Otherwise, the nonlinear equations ares solved by a Newton-Raphson scheme. May throw an exception if the number of iterations exceed maxiter (set in constructor).


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