Opm::NewtonIterationBlackoilSimple Class Reference

This class solves the fully implicit black-oil system by simply concatenating the Jacobian matrices and passing the resulting system to a linear solver. More...

#include <NewtonIterationBlackoilSimple.hpp>

Inheritance diagram for Opm::NewtonIterationBlackoilSimple:
Opm::NewtonIterationBlackoilInterface

Public Member Functions

 NewtonIterationBlackoilSimple (const ParameterGroup &param, const boost::any &parallelInformation=boost::any())
 Construct a system solver. More...
 
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. More...
 
virtual int iterations () const
 
virtual const boost::any & parallelInformation () const
 Get the information about the parallelization of the grid. More...
 

Additional Inherited Members

- Public Types inherited from Opm::NewtonIterationBlackoilInterface
typedef LinearisedBlackoilResidual::ADB::V SolutionVector
 Return type for linearSolve(). A simple, non-ad vector type.
 

Detailed Description

This class solves the fully implicit black-oil system by simply concatenating the Jacobian matrices and passing the resulting system to a linear solver.

The linear solver used can be passed in as a constructor argument.

Constructor & Destructor Documentation

◆ NewtonIterationBlackoilSimple()

Opm::NewtonIterationBlackoilSimple::NewtonIterationBlackoilSimple ( const ParameterGroup &  param,
const boost::any &  parallelInformation_arg = boost::any() 
)

Construct a system solver.

Parameters
[in]paramparameters controlling the behaviour and choice of linear solver.
[in]parallelInformationIn the case of a parallel run with dune-istl the information about the parallelization.
[in]linsolverlinear solver to use
[in]parallelInformationIn the case of a parallel run with dune-istl the information about the parallelization.

Member Function Documentation

◆ computeNewtonIncrement()

NewtonIterationBlackoilSimple::SolutionVector Opm::NewtonIterationBlackoilSimple::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]residualresidual object containing A and b.
Returns
the solution x

Implements Opm::NewtonIterationBlackoilInterface.

◆ iterations()

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

Returns
number of linear iterations used during last call of computeNewtonIncrement

Implements Opm::NewtonIterationBlackoilInterface.

◆ parallelInformation()

const boost::any & Opm::NewtonIterationBlackoilSimple::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: