dune-istl 2.8.0
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
solverfactory.hh File Reference
#include <unordered_map>
#include <functional>
#include <memory>
#include <dune/common/parametertree.hh>
#include <dune/common/singleton.hh>
#include "solverregistry.hh"
#include <dune/istl/solver.hh>
#include <dune/istl/schwarz.hh>
#include <dune/istl/novlpschwarz.hh>

Go to the source code of this file.

Classes

class  Dune::SolverFactory< Operator >
 Factory to assembly solvers configured by a ParameterTree. More...
 

Namespaces

namespace  Dune
 

Typedefs

template<class M , class X , class Y >
using Dune::DirectSolverSignature = std::shared_ptr< InverseOperator< X, Y > >(const M &, const ParameterTree &)
 
template<class M , class X , class Y >
using Dune::DirectSolverFactory = Singleton< ParameterizedObjectFactory< DirectSolverSignature< M, X, Y > > >
 
template<class M , class X , class Y >
using Dune::PreconditionerSignature = std::shared_ptr< Preconditioner< X, Y > >(const std::shared_ptr< M > &, const ParameterTree &)
 
template<class M , class X , class Y >
using Dune::PreconditionerFactory = Singleton< ParameterizedObjectFactory< PreconditionerSignature< M, X, Y > > >
 
template<class X , class Y >
using Dune::IterativeSolverSignature = std::shared_ptr< InverseOperator< X, Y > >(const std::shared_ptr< LinearOperator< X, Y > > &, const std::shared_ptr< ScalarProduct< X > > &, const std::shared_ptr< Preconditioner< X, Y > >, const ParameterTree &)
 
template<class X , class Y >
using Dune::IterativeSolverFactory = Singleton< ParameterizedObjectFactory< IterativeSolverSignature< X, Y > > >
 

Functions

template<class O , class Preconditioner >
std::shared_ptr< Preconditioner > Dune::wrapPreconditioner4Parallel (const std::shared_ptr< Preconditioner > &prec, const O &)
 
template<class M , class X , class Y , class C , class Preconditioner >
std::shared_ptr< Preconditioner > Dune::wrapPreconditioner4Parallel (const std::shared_ptr< Preconditioner > &prec, const std::shared_ptr< OverlappingSchwarzOperator< M, X, Y, C > > &op)
 
template<class M , class X , class Y , class C , class Preconditioner >
std::shared_ptr< Preconditioner > Dune::wrapPreconditioner4Parallel (const std::shared_ptr< Preconditioner > &prec, const std::shared_ptr< NonoverlappingSchwarzOperator< M, X, Y, C > > &op)
 
template<class M , class X , class Y >
std::shared_ptr< ScalarProduct< X > > Dune::createScalarProduct (const std::shared_ptr< MatrixAdapter< M, X, Y > > &)
 
template<class M , class X , class Y , class C >
std::shared_ptr< ScalarProduct< X > > Dune::createScalarProduct (const std::shared_ptr< OverlappingSchwarzOperator< M, X, Y, C > > &op)
 
template<class M , class X , class Y , class C >
std::shared_ptr< ScalarProduct< X > > Dune::createScalarProduct (const std::shared_ptr< NonoverlappingSchwarzOperator< M, X, Y, C > > &op)
 
template<class Operator >
std::shared_ptr< InverseOperator< typename Operator::domain_type, typename Operator::range_type > > Dune::getSolverFromFactory (std::shared_ptr< Operator > op, const ParameterTree &config, std::shared_ptr< Preconditioner< typename Operator::domain_type, typename Operator::range_type > > prec=nullptr)
 Instantiates an InverseOperator from an Operator and a configuration given as a ParameterTree. More...