Opm::NewtonIterationBlackoilCPR Class Reference

#include <NewtonIterationBlackoilCPR.hpp>

Inheritance diagram for Opm::NewtonIterationBlackoilCPR:
Inheritance graph

Public Types

typedef
LinearisedBlackoilResidual::ADB::V 
SolutionVector
 Return type for linearSolve(). A simple, non-ad vector type. More...
 

Public Member Functions

 NewtonIterationBlackoilCPR (const parameter::ParameterGroup &param, const boost::any &parallelInformation=boost::any())
 
virtual SolutionVector computeNewtonIncrement (const LinearisedBlackoilResidual &residual) const
 
virtual int iterations () const
 
virtual const boost::any & parallelInformation () const
 Get the information about the parallelization of the grid. More...
 

Detailed Description

This class solves the fully implicit black-oil system by applying a Constrained Pressure Residual preconditioning strategy. The approach is similar to the one described in "Preconditioning for Efficiently Applying Algebraic Multigrid in Fully Implicit Reservoir Simulations" by Gries et al (SPE 163608).

Member Typedef Documentation

Return type for linearSolve(). A simple, non-ad vector type.

Constructor & Destructor Documentation

Opm::NewtonIterationBlackoilCPR::NewtonIterationBlackoilCPR ( const parameter::ParameterGroup &  param,
const boost::any &  parallelInformation = boost::any() 
)

Construct a system solver.

Parameters
[in]paramparameters controlling the behaviour of the preconditioning and choice of linear solvers. Parameters: cpr_relax (default 1.0) relaxation for the preconditioner cpr_ilu_n (default 0) use ILU(n) for preconditioning of the linear system cpr_use_amg (default false) if true, use AMG preconditioner for elliptic part cpr_use_bicgstab (default true) if true, use BiCGStab (else use CG) for elliptic part
[in]parallelInformationIn the case of a parallel run with dune-istl the information about the parallelization.

Member Function Documentation

virtual SolutionVector Opm::NewtonIterationBlackoilCPR::computeNewtonIncrement ( const LinearisedBlackoilResidual residual) const
virtual

Solve the system of linear equations Ax = b, with A being the combined derivative matrix of the residual and b being the residual itself.

Parameters
[in]residualresidual object containing A and b.
Returns
the solution x

Implements Opm::NewtonIterationBlackoilInterface.

virtual int Opm::NewtonIterationBlackoilCPR::iterations ( ) const
inlinevirtual

Returns
number of linear iterations used during last call of computeNewtonIncrement

Implements Opm::NewtonIterationBlackoilInterface.

virtual const boost::any& Opm::NewtonIterationBlackoilCPR::parallelInformation ( ) const
virtual

Get the information about the parallelization of the grid.

Implements Opm::NewtonIterationBlackoilInterface.


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