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

  op | Operator
  config | ParameterTree with configuration
  prec | Preconditioner

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

  Operator | type of the operator, necessary to deduce the matrix type etc.