dune-istl 2.11
Loading...
Searching...
No Matches
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.
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.
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 = Singleton<ParameterizedObjectFactory<PreconditionerSignature<OP>>>

◆ PreconditionerSignature

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&)

◆ SolverFactory

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

◆ SolverSignature

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&)

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.