Loading...
Searching...
No Matches
Dune::FlexibleSolver< Operator > Class Template Reference

A solver class that encapsulates all needed objects for a linear solver (operator, scalar product, iterative solver and preconditioner) and sets them up based on runtime parameters, using the PreconditionerFactory for setting up preconditioners. More...

`#include <FlexibleSolver.hpp>`

Inheritance diagram for Dune::FlexibleSolver< Operator >:

## Public Types

using | VectorType = typename Operator::domain_type
using | AbstractPrecondType = Dune::PreconditionerWithUpdate<VectorType, VectorType>
| Base class type of the contained preconditioner.

## Public Member Functions

| FlexibleSolver (Operator &op, const Opm::PropertyTree &prm, const std::function< VectorType()> &weightsCalculator, std::size_t pressureIndex)
| Create a sequential solver.
template<class Comm>
| FlexibleSolver (Operator &op, const Comm &comm, const Opm::PropertyTree &prm, const std::function< VectorType()> &weightsCalculator, std::size_t pressureIndex)
| Create a parallel solver (if Comm is e.g. OwnerOverlapCommunication).
virtual void | apply (VectorType &x, VectorType &rhs, Dune::InverseOperatorResult &res) override
virtual void | apply (VectorType &x, VectorType &rhs, double reduction, Dune::InverseOperatorResult &res) override
AbstractPrecondType & | preconditioner ()
| Access the contained preconditioner.
virtual Dune::SolverCategory::Category | category () const override

## Detailed Description

template<class Operator>
class Dune::FlexibleSolver< Operator >

A solver class that encapsulates all needed objects for a linear solver (operator, scalar product, iterative solver and preconditioner) and sets them up based on runtime parameters, using the PreconditionerFactory for setting up preconditioners.

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

- opm/simulators/linalg/FlexibleSolver.hpp
- opm/simulators/linalg/FlexibleSolver_impl.hpp