Opm::NewtonIterationBlackoilCPR Class Reference

This class solves the fully implicit black-oil system by applying a Constrained Pressure Residual preconditioning strategy. More...

#include <NewtonIterationBlackoilCPR.hpp>

Inheritance diagram for Opm::NewtonIterationBlackoilCPR:
Opm::NewtonIterationBlackoilInterface

List of all members.

Public Member Functions

 NewtonIterationBlackoilCPR (const ParameterGroup &param, const boost::any &parallelInformation=boost::any())
 Construct a system solver.
virtual SolutionVector computeNewtonIncrement (const LinearisedBlackoilResidual &residual) const
 Solve the system of linear equations Ax = b, with A being the combined derivative matrix of the residual and b being the residual itself.
virtual int iterations () const
virtual const boost::any & parallelInformation () const

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).


Constructor & Destructor Documentation

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

Construct a system solver.

Parameters:
[in] param parameters 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] parallelInformation In the case of a parallel run with dune-istl the information about the parallelization.

Member Function Documentation

NewtonIterationBlackoilCPR::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.

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

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

Implements Opm::NewtonIterationBlackoilInterface.

virtual int Opm::NewtonIterationBlackoilCPR::iterations (  )  const [inline, virtual]

Returns:
number of linear iterations used during last call of computeNewtonIncrement

Implements Opm::NewtonIterationBlackoilInterface.

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 files:

Generated on 26 Mar 2018 by  doxygen 1.6.1