My Project
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: