dune-istl  2.11
Classes | Typedefs | Functions
ISTL_Factory

Classes

struct  Dune::OperatorTraits< Operator >
 
class  Dune::UnknownSolverCategory
 
class  Dune::NoAssembledOperator
 This exception is thrown if the requested solver or preconditioner needs an assembled matrix. More...
 
class  Dune::UnsupportedType
 
class  Dune::InvalidSolverFactoryConfiguration
 

Typedefs

template<class OP >
using Dune::PreconditionerSignature = std::shared_ptr< Preconditioner< typename OP::domain_type, typename OP::range_type > >(const std::shared_ptr< OP > &, const ParameterTree &)
 
template<class OP >
using Dune::PreconditionerFactory = Singleton< ParameterizedObjectFactory< PreconditionerSignature< OP > >>
 
template<class OP >
using Dune::SolverSignature = std::shared_ptr< InverseOperator< typename OP::domain_type, typename OP::range_type > >(const std::shared_ptr< OP > &, const ParameterTree &)
 
template<class OP >
using Dune::SolverFactory = Singleton< ParameterizedObjectFactory< SolverSignature< OP > >>
 

Functions

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...
 
template<class Operator >
std::shared_ptr< Preconditioner< typename Operator::domain_type, typename Operator::range_type > > Dune::getPreconditionerFromFactory (std::shared_ptr< Operator > op, const ParameterTree &config)
 Construct a Preconditioner for a given Operator. More...
 
template<template< class, class, class, int >class Preconditioner, int blockLevel = 1>
auto Dune::defaultPreconditionerBlockLevelCreator ()
 
template<template< class, class, class >class Preconditioner>
auto Dune::defaultPreconditionerCreator ()
 
template<template< class... >class Solver>
auto Dune::defaultIterativeSolverCreator ()
 

Detailed Description

Typedef Documentation

◆ PreconditionerFactory

template<class OP >
using Dune::PreconditionerFactory = typedef Singleton<ParameterizedObjectFactory<PreconditionerSignature<OP> >>

◆ PreconditionerSignature

template<class OP >
using Dune::PreconditionerSignature = typedef std::shared_ptr<Preconditioner<typename OP::domain_type,typename OP::range_type> >(const std::shared_ptr<OP>&, const ParameterTree&)

◆ SolverFactory

template<class OP >
using Dune::SolverFactory = typedef Singleton<ParameterizedObjectFactory<SolverSignature<OP> >>

◆ SolverSignature

template<class OP >
using Dune::SolverSignature = typedef std::shared_ptr<InverseOperator<typename OP::domain_type,typename OP::range_type> >(const std::shared_ptr<OP>&, const ParameterTree&)

Function Documentation

◆ defaultIterativeSolverCreator()

template<template< class... >class Solver>
auto Dune::defaultIterativeSolverCreator ( )

◆ defaultPreconditionerBlockLevelCreator()

template<template< class, class, class, int >class Preconditioner, int blockLevel = 1>
auto Dune::defaultPreconditionerBlockLevelCreator ( )

◆ defaultPreconditionerCreator()

template<template< class, class, class >class Preconditioner>
auto Dune::defaultPreconditionerCreator ( )

◆ getPreconditionerFromFactory()

template<class Operator >
std::shared_ptr<Preconditioner<typename Operator::domain_type, typename Operator::range_type> > Dune::getPreconditionerFromFactory ( std::shared_ptr< Operator >  op,
const ParameterTree &  config 
)

Construct a Preconditioner for a given Operator.

◆ getSolverFromFactory()

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.

Parameters
opOperator
configParameterTree with configuration
precPreconditioner

Example ini File that can be passed in to construct a CGSolver with a SSOR preconditioner:

type = cgsolver
verbose = 1
maxit = 1000
reduction = 1e-5

[preconditioner]
type = ssor
iterations = 1
relaxation = 1
Template Parameters
Operatortype of the operator, necessary to deduce the matrix type etc.