opm-simulators
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
AbstractPrecondTypepreconditioner ()
 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: