|
dune-pdelab 2.10-git
|
Loading...
Searching...
No Matches
seqistlsolverbackend.hh
Go to the documentation of this file.
73 DUNE_THROW(Dune::InvalidStateException, "You seem to apply a nonlinear operator without setting the linearization point first!");
86 DUNE_THROW(Dune::InvalidStateException, "You seem to apply a nonlinear operator without setting the linearization point first!");
133 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
169 explicit ISTLBackend_SEQ_MatrixFree_Richardson(const GO& go, unsigned maxiter=5000, int verbose=1)
182 void apply(V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
218 explicit ISTLBackend_SEQ_Base(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
232 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
281 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
328 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
375 explicit ISTLBackend_SEQ_LOOP_Jac (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
376 : ISTLBackend_SEQ_Base<Dune::SeqJac, Dune::LoopSolver>(maxiter_, verbose_, preconditioner_steps_)
409 explicit ISTLBackend_SEQ_BCGS_Jac (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
410 : ISTLBackend_SEQ_Base<Dune::SeqJac, Dune::BiCGSTABSolver>(maxiter_, verbose_, preconditioner_steps_)
426 explicit ISTLBackend_SEQ_BCGS_SSOR (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
427 : ISTLBackend_SEQ_Base<Dune::SeqSSOR, Dune::BiCGSTABSolver>(maxiter_, verbose_, preconditioner_steps_)
478 explicit ISTLBackend_SEQ_BCGS_ILUn (int n_, double w_=1.0, unsigned maxiter_=5000, int verbose_=1)
496 explicit ISTLBackend_SEQ_CG_ILUn (int n_, double w_=1.0, unsigned maxiter_=5000, int verbose_=1)
513 explicit ISTLBackend_SEQ_CG_SSOR (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
514 : ISTLBackend_SEQ_Base<Dune::SeqSSOR, Dune::CGSolver>(maxiter_, verbose_, preconditioner_steps_)
530 explicit ISTLBackend_SEQ_MINRES_SSOR (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
531 : ISTLBackend_SEQ_Base<Dune::SeqSSOR, Dune::MINRESSolver>(maxiter_, verbose_, preconditioner_steps_)
546 explicit ISTLBackend_SEQ_CG_Jac (unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
585 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
639 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
676 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
719 template<class GO, template<class,class,class,int> class Preconditioner, template<class> class Solver,
790 void apply(M& A, V& z, V& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
1006 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType>::real_type reduction)
1048 explicit ISTLBackend_SEQ_MatrixFree_BCGS_Richardson (const GO& go_, unsigned maxiter_=5000, int verbose_=1)
void apply(domain_type &x, range_type &b, InverseOperatorResult &res) override
void apply(domain_type &x, range_type &b, InverseOperatorResult &res) override
Matrix & mat
double alpha() const
void setDebugLevel(int level)
void setDefaultValuesIsotropic(std::size_t dim, std::size_t diameter=2)
RelaxationFactor relaxationFactor
int iterations
static constexpr size_type M()
#define DUNE_THROW(E,...)
std::enable_if< std::is_base_of< impl::WrapperBase, T >::value, Native< T > & >::type native(T &t)
Definition backend/interface.hh:192
typename native_type< T >::type Native
Alias of the native container type associated with T or T itself if it is not a backend wrapper.
Definition backend/interface.hh:176
For backward compatibility – Do not use this!
T real_type
void reset() noexcept
double elapsed() const noexcept
void apply(X &v, const Y &d) override
void pre(X &x, Y &b) override
void post(X &x) override
double elapsed
int iterations
double reduction
double conv_rate
bool converged
Category
sequential
void apply(X &x, Y &b, InverseOperatorResult &res) override
Definition seqistlsolverbackend.hh:46
X::field_type field_type
Definition seqistlsolverbackend.hh:50
virtual void apply(const X &x, Y &y) const override
Definition seqistlsolverbackend.hh:66
static constexpr bool isLinear
Definition seqistlsolverbackend.hh:51
OnTheFlyOperator(const GO &go_)
Definition seqistlsolverbackend.hh:54
virtual void applyscaleadd(field_type alpha, const X &x, Y &y) const override
Definition seqistlsolverbackend.hh:78
void setLinearizationPoint(const X &u)
Definition seqistlsolverbackend.hh:61
SolverCategory::Category category() const override
Definition seqistlsolverbackend.hh:92
Definition seqistlsolverbackend.hh:114
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:133
ISTLBackend_SEQ_Richardson(unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:121
Definition seqistlsolverbackend.hh:160
void setLinearizationPoint(const V &u)
Set position of jacobian, ust be called before apply() for nonlinear problems.
Definition seqistlsolverbackend.hh:196
ISTLBackend_SEQ_MatrixFree_Richardson(const GO &go, unsigned maxiter=5000, int verbose=1)
make a linear solver object
Definition seqistlsolverbackend.hh:169
void apply(V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:182
Definition seqistlsolverbackend.hh:211
ISTLBackend_SEQ_Base(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:218
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:232
Definition seqistlsolverbackend.hh:263
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:281
ISTLBackend_SEQ_ILU0(unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:270
Definition seqistlsolverbackend.hh:309
ISTLBackend_SEQ_ILUn(int n, double w, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:317
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:328
Backend for sequential loop solver with Jacobi preconditioner.
Definition seqistlsolverbackend.hh:369
ISTLBackend_SEQ_LOOP_Jac(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:375
Backend for sequential BiCGSTAB solver with Richardson precondition (equivalent to no preconditioner ...
Definition seqistlsolverbackend.hh:387
ISTLBackend_SEQ_BCGS_Richardson(unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:393
Backend for sequential BiCGSTAB solver with Jacobi preconditioner.
Definition seqistlsolverbackend.hh:403
ISTLBackend_SEQ_BCGS_Jac(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:409
Backend for sequential BiCGSTAB solver with SSOR preconditioner.
Definition seqistlsolverbackend.hh:419
ISTLBackend_SEQ_BCGS_SSOR(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:426
Backend for sequential BiCGSTAB solver with ILU0 preconditioner.
Definition seqistlsolverbackend.hh:436
ISTLBackend_SEQ_BCGS_ILU0(unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:443
Backend for sequential conjugate gradient solver with ILU0 preconditioner.
Definition seqistlsolverbackend.hh:453
ISTLBackend_SEQ_CG_ILU0(unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:460
Sequential BiCGStab solver with ILU0 preconditioner.
Definition seqistlsolverbackend.hh:468
ISTLBackend_SEQ_BCGS_ILUn(int n_, double w_=1.0, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:478
Sequential congute gradient solver with ILU0 preconditioner.
Definition seqistlsolverbackend.hh:486
ISTLBackend_SEQ_CG_ILUn(int n_, double w_=1.0, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:496
Backend for sequential conjugate gradient solver with SSOR preconditioner.
Definition seqistlsolverbackend.hh:506
ISTLBackend_SEQ_CG_SSOR(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:513
Backend using a MINRes solver preconditioned by SSOR.
Definition seqistlsolverbackend.hh:523
ISTLBackend_SEQ_MINRES_SSOR(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:530
Backend for conjugate gradient solver with Jacobi preconditioner.
Definition seqistlsolverbackend.hh:540
ISTLBackend_SEQ_CG_Jac(unsigned maxiter_=5000, int verbose_=1, unsigned preconditioner_steps_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:546
Solver backend using SuperLU as a direct solver.
Definition seqistlsolverbackend.hh:557
ISTLBackend_SEQ_SuperLU(int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:563
ISTLBackend_SEQ_SuperLU(int maxiter, int verbose_)
make a linear solver object
Definition seqistlsolverbackend.hh:573
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:585
Solver backend using UMFPack as a direct solver.
Definition seqistlsolverbackend.hh:611
ISTLBackend_SEQ_UMFPack(int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:617
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:639
ISTLBackend_SEQ_UMFPack(int maxiter, int verbose_)
make a linear solver object
Definition seqistlsolverbackend.hh:627
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition seqistlsolverbackend.hh:661
ISTLBackend_SEQ_ExplicitDiagonal()
make a linear solver object
Definition seqistlsolverbackend.hh:665
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:676
Class providing some statistics of the AMG solver.
Definition seqistlsolverbackend.hh:701
double tprepare
The needed for computing the parallel information and for adapting the linear system.
Definition seqistlsolverbackend.hh:706
double tsetup
The time needed for building the AMG hierarchy (coarsening).
Definition seqistlsolverbackend.hh:712
int iterations
The number of iterations performed until convergence was reached.
Definition seqistlsolverbackend.hh:714
double tsolve
The time spent in solving the system (without building the hierarchy.
Definition seqistlsolverbackend.hh:710
bool directCoarseLevelSolver
True if a direct solver was used on the coarset level.
Definition seqistlsolverbackend.hh:716
int levels
the number of levels in the AMG hierarchy.
Definition seqistlsolverbackend.hh:708
Definition seqistlsolverbackend.hh:722
void apply(M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:790
const ISTLAMGStatistics & statistics() const
Get statistics of the AMG solver (no of levels, timings).
Definition seqistlsolverbackend.hh:828
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition seqistlsolverbackend.hh:778
void setReuse(bool reuse_)
Set whether the AMG should be reused again during call to apply().
Definition seqistlsolverbackend.hh:763
ISTLBackend_SEQ_AMG(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition seqistlsolverbackend.hh:735
bool getReuse() const
Return whether the AMG is reused during call to apply()
Definition seqistlsolverbackend.hh:769
void setparams(Parameters params_)
set AMG parameters
Definition seqistlsolverbackend.hh:757
Sequential conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition seqistlsolverbackend.hh:856
ISTLBackend_SEQ_CG_AMG_SSOR(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition seqistlsolverbackend.hh:867
Sequential BiCGStab solver preconditioned with AMG smoothed by SSOR.
Definition seqistlsolverbackend.hh:882
ISTLBackend_SEQ_BCGS_AMG_SSOR(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition seqistlsolverbackend.hh:893
Sequential BiCGSTAB solver preconditioned with AMG smoothed by SOR.
Definition seqistlsolverbackend.hh:908
ISTLBackend_SEQ_BCGS_AMG_SOR(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition seqistlsolverbackend.hh:919
Sequential Loop solver preconditioned with AMG smoothed by SSOR.
Definition seqistlsolverbackend.hh:934
ISTLBackend_SEQ_LS_AMG_SSOR(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition seqistlsolverbackend.hh:945
Sequential Loop solver preconditioned with AMG smoothed by SOR.
Definition seqistlsolverbackend.hh:960
ISTLBackend_SEQ_LS_AMG_SOR(unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition seqistlsolverbackend.hh:971
Linear solver backend for Restarted GMRes preconditioned with ILU(0)
Definition seqistlsolverbackend.hh:985
ISTLBackend_SEQ_GMRES_ILU0(int restart_=200, int maxiter_=5000, int verbose_=1)
make linear solver object
Definition seqistlsolverbackend.hh:994
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition seqistlsolverbackend.hh:1006
Definition seqistlsolverbackend.hh:1041
Dune::PDELab::ISTLBackend_SEQ_MatrixFree_BCGS_Richardson::ISTLBackend_SEQ_MatrixFree_BCGS_Richardson
ISTLBackend_SEQ_MatrixFree_BCGS_Richardson(const GO &go_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition seqistlsolverbackend.hh:1048
Definition solver.hh:17
Definition solver.hh:54
Dune::PDELab::LinearSolverResult< double > res
Definition solver.hh:63
Definition recipe-operator-splitting.cc:108
T endl(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8