|
dune-istl 2.8.0
|
Loading...
Searching...
No Matches
solverfactory.hh
Go to the documentation of this file.
26 using DirectSolverSignature = std::shared_ptr<InverseOperator<X,Y>>(const M&, const ParameterTree&);
32 using PreconditionerSignature = std::shared_ptr<Preconditioner<X,Y>>(const std::shared_ptr<M>&, const ParameterTree&);
34 using PreconditionerFactory = Singleton<ParameterizedObjectFactory<PreconditionerSignature<M,X,Y>>>;
38 using 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&);
40 using IterativeSolverFactory = Singleton<ParameterizedObjectFactory<IterativeSolverSignature<X,Y>>>;
177 result = DirectSolverFactory<matrix_type, Domain, Range>::instance().create(type, *mat, config);
188 prec = PreconditionerFactory<Operator, Domain, Range>::instance().create(prec_type, op, precConfig);
206 return PreconditionerFactory<Operator, Domain, Range>::instance().create(prec_type, op, config);
208 DUNE_THROW(InvalidStateException, "Could not obtain matrix from operator. Please pass in an AssembledLinearOperator.");
Define general, extensible interface for inverse operators.
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 &) IterativeSolverSignature
Definition solverfactory.hh:38
std::shared_ptr< Preconditioner > wrapPreconditioner4Parallel(const std::shared_ptr< Preconditioner > &prec, const O &)
Definition solverfactory.hh:84
std::shared_ptr< InverseOperator< typename Operator::domain_type, typename Operator::range_type > > 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.
Definition solverfactory.hh:225
std::shared_ptr< Preconditioner< X, Y > >(const std::shared_ptr< M > &, const ParameterTree &) PreconditionerSignature
Definition solverfactory.hh:32
static bool contains(const Type &attribute)
typename detected_or< Default, Op, Args... >::type detected_or_t
static constexpr size_type M()
#define DUNE_THROW(E, m)
std::shared_ptr< ScalarProduct< X > > createScalarProduct(const Comm &comm, SolverCategory::Category category)
Definition scalarproducts.hh:240
std::string get(const std::string &key, const std::string &defaultValue) const
ParameterTree & sub(const std::string &sub)
static DUNE_EXPORT T & instance()
A nonoverlapping operator with communication object.
Definition novlpschwarz.hh:62
Base class for matrix free definition of preconditioners.
Definition preconditioner.hh:30
@ sequential
Category for sequential solvers.
Definition solvercategory.hh:23
Factory to assembly solvers configured by a ParameterTree.
Definition solverfactory.hh:143
static std::shared_ptr< Solver > get(std::shared_ptr< Operator > op, const ParameterTree &config, std::shared_ptr< Preconditioner > prec=nullptr)
get a solver from the factory
Definition solverfactory.hh:166
static std::shared_ptr< Preconditioner > getPreconditioner(std::shared_ptr< Operator > op, const ParameterTree &config)
Construct a Preconditioner for a given Operator.
Definition solverfactory.hh:201
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8