|
dune-pdelab 2.10-git
|
Loading...
Searching...
No Matches
ovlpistlsolverbackend.hh
Go to the documentation of this file.
64 virtual void applyscaleadd (field_type alpha, const domain_type& x, range_type& y) const override
140 : public Dune::Preconditioner<Dune::PDELab::Backend::Vector<GFS,typename P::domain_type::field_type>,
362 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
409 typename Dune::template FieldTraits<typename X::ElementType >::real_type norm (const X& x) const
478 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), c(c_), maxiter(maxiter_), steps(steps_), verbose(verbose_)
489 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
539 ISTLBackend_OVLP_ILU0_Base (const GFS& gfs_, const C& c_, unsigned maxiter_=5000, int verbose_=1)
540 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), c(c_), maxiter(maxiter_), verbose(verbose_)
551 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
602 ISTLBackend_OVLP_ILUn_Base (const GFS& gfs_, const C& c_, int n_=1, unsigned maxiter_=5000, int verbose_=1)
603 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), c(c_), n(n_), maxiter(maxiter_), verbose(verbose_)
614 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
674 : ISTLBackend_OVLP_Base<GFS,CC,Dune::SeqSSOR, Dune::BiCGSTABSolver>(gfs, cc, maxiter, steps, verbose)
716 ISTLBackend_OVLP_BCGS_ILUn (const GFS& gfs, const CC& cc, int n=1, unsigned maxiter=5000, int verbose=1)
761 ISTLBackend_OVLP_GMRES_ILU0 (const GFS& gfs_, const CC& cc_, unsigned maxiter_=5000, int verbose_=1,
763 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), cc(cc_), maxiter(maxiter_), verbose(verbose_),
774 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
828 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), c(c_), maxiter(maxiter_), verbose(verbose_)
839 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
886 : OVLPScalarProductImplementation<GFS>(gfs_), gfs(gfs_), c(c_), maxiter(maxiter_), verbose(verbose_)
897 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
1048 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
1063 gfs.gridView().communicate(copydh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
1180 void apply(M& A, V& z, V& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
SolverCategory::Category category() const override
void apply(domain_type &x, range_type &b, InverseOperatorResult &res) override
Matrix & mat
void pre(Domain &x, Range &b)
double alpha() const
void setDebugLevel(int level)
void post(Domain &x)
void setDefaultValuesIsotropic(std::size_t dim, std::size_t diameter=2)
RelaxationFactor relaxationFactor
int iterations
static Type apply(T &t)
void pop()
static constexpr size_type M()
void set_constrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
construct constraints from given boundary condition function
Definition constraints.hh:796
typename impl::BackendVectorSelector< GridFunctionSpace, FieldType >::Type Vector
alias of the return type of BackendVectorSelector
Definition backend/interface.hh:106
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!
ForwardCommunication
InteriorBorder_All_Interface
All_All_Interface
T real_type
void reset() noexcept
double elapsed() const noexcept
double elapsed
int iterations
double reduction
double conv_rate
bool converged
Category
overlapping
void apply(X &x, Y &b, InverseOperatorResult &res) override
Definition ovlpistlsolverbackend.hh:43
X::ElementType field_type
Definition ovlpistlsolverbackend.hh:49
virtual const M & getmat() const override
get matrix via *
Definition ovlpistlsolverbackend.hh:77
virtual void apply(const domain_type &x, range_type &y) const override
apply operator to x:
Definition ovlpistlsolverbackend.hh:56
OverlappingOperator(const CC &cc_, const M &A)
Definition ovlpistlsolverbackend.hh:51
SolverCategory::Category category() const override
Definition ovlpistlsolverbackend.hh:71
M matrix_type
export types
Definition ovlpistlsolverbackend.hh:46
virtual void applyscaleadd(field_type alpha, const domain_type &x, range_type &y) const override
apply operator to x, scale and add:
Definition ovlpistlsolverbackend.hh:64
Definition ovlpistlsolverbackend.hh:92
SolverCategory::Category category() const override
Definition ovlpistlsolverbackend.hh:127
X::ElementType field_type
Definition ovlpistlsolverbackend.hh:96
X domain_type
export types
Definition ovlpistlsolverbackend.hh:95
OverlappingScalarProduct(const GFS &gfs_, const ISTL::ParallelHelper< GFS > &helper_)
Constructor needs to know the grid function space.
Definition ovlpistlsolverbackend.hh:100
virtual field_type dot(const X &x, const X &y) const override
Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border part...
Definition ovlpistlsolverbackend.hh:109
virtual double norm(const X &x) const override
Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.
Definition ovlpistlsolverbackend.hh:121
Definition ovlpistlsolverbackend.hh:142
virtual void pre(domain_type &x, range_type &b) override
Prepare the preconditioner.
Definition ovlpistlsolverbackend.hh:158
Dune::PDELab::Backend::Vector< GFS, typename P::domain_type::field_type > domain_type
The domain type of the preconditioner.
Definition ovlpistlsolverbackend.hh:145
OverlappingWrappedPreconditioner(const GFS &gfs_, P &prec_, const CC &cc_, const ISTL::ParallelHelper< GFS > &helper_)
Constructor.
Definition ovlpistlsolverbackend.hh:150
SolverCategory::Category category() const override
Definition ovlpistlsolverbackend.hh:176
virtual void post(domain_type &x) override
Clean up.
Definition ovlpistlsolverbackend.hh:184
virtual void apply(domain_type &v, const range_type &d) override
Apply the preconditioner.
Definition ovlpistlsolverbackend.hh:166
Dune::PDELab::Backend::Vector< GFS, typename P::range_type::field_type > range_type
The range type of the preconditioner.
Definition ovlpistlsolverbackend.hh:147
Definition ovlpistlsolverbackend.hh:201
X::ElementType field_type
The field type of the preconditioner.
Definition ovlpistlsolverbackend.hh:210
virtual void apply(X &v, const Y &d) override
Apply the precondioner.
Definition ovlpistlsolverbackend.hh:230
Y range_type
The range type of the preconditioner.
Definition ovlpistlsolverbackend.hh:208
virtual void post(X &x) override
Clean up.
Definition ovlpistlsolverbackend.hh:250
UMFPackSubdomainSolver(const GFS &gfs_, const M &A_)
Constructor.
Definition ovlpistlsolverbackend.hh:218
virtual void pre(X &x, Y &b) override
Prepare the preconditioner.
Definition ovlpistlsolverbackend.hh:225
X domain_type
The domain type of the preconditioner.
Definition ovlpistlsolverbackend.hh:206
SolverCategory::Category category() const override
Definition ovlpistlsolverbackend.hh:242
Definition ovlpistlsolverbackend.hh:385
ISTL::ParallelHelper< GFS > & parallelHelper()
Definition ovlpistlsolverbackend.hh:421
Dune::template FieldTraits< typenameX::ElementType >::real_type norm(const X &x) const
Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.
Definition ovlpistlsolverbackend.hh:409
OVLPScalarProductImplementation(const GFS &gfs_)
Definition ovlpistlsolverbackend.hh:387
const ISTL::ParallelHelper< GFS > & parallelHelper() const
Definition ovlpistlsolverbackend.hh:415
X::ElementType dot(const X &x, const X &y) const
Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border part...
Definition ovlpistlsolverbackend.hh:396
Definition ovlpistlsolverbackend.hh:435
OVLPScalarProduct(const OVLPScalarProductImplementation< GFS > &implementation_)
Definition ovlpistlsolverbackend.hh:442
virtual X::Container::field_type norm(const X &x) const override
Definition ovlpistlsolverbackend.hh:451
virtual X::Container::field_type dot(const X &x, const X &y) const override
Definition ovlpistlsolverbackend.hh:446
SolverCategory::Category category() const override
Definition ovlpistlsolverbackend.hh:437
Definition ovlpistlsolverbackend.hh:466
ISTLBackend_OVLP_Base(const GFS &gfs_, const C &c_, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:476
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:489
Definition ovlpistlsolverbackend.hh:530
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:551
ISTLBackend_OVLP_ILU0_Base(const GFS &gfs_, const C &c_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:539
Definition ovlpistlsolverbackend.hh:592
ISTLBackend_OVLP_ILUn_Base(const GFS &gfs_, const C &c_, int n_=1, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:602
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:614
Overlapping parallel BiCGStab solver with SSOR preconditioner.
Definition ovlpistlsolverbackend.hh:662
ISTLBackend_OVLP_BCGS_SSORk(const GFS &gfs, const CC &cc, unsigned maxiter=5000, int steps=5, int verbose=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:672
Overlapping parallel BiCGStab solver with ILU0 preconditioner.
Definition ovlpistlsolverbackend.hh:685
ISTLBackend_OVLP_BCGS_ILU0(const GFS &gfs, const CC &cc, unsigned maxiter=5000, int verbose=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:694
Overlapping parallel BiCGStab solver with ILU0 preconditioner.
Definition ovlpistlsolverbackend.hh:706
ISTLBackend_OVLP_BCGS_ILUn(const GFS &gfs, const CC &cc, int n=1, unsigned maxiter=5000, int verbose=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:716
Overlapping parallel CGS solver with SSOR preconditioner.
Definition ovlpistlsolverbackend.hh:728
ISTLBackend_OVLP_CG_SSORk(const GFS &gfs, const CC &cc, unsigned maxiter=5000, int steps=5, int verbose=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:738
Overlapping parallel restarted GMRes solver with ILU0 preconditioner.
Definition ovlpistlsolverbackend.hh:752
ISTLBackend_OVLP_GMRES_ILU0(const GFS &gfs_, const CC &cc_, unsigned maxiter_=5000, int verbose_=1, int restart_=20)
make a linear solver object
Definition ovlpistlsolverbackend.hh:761
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:774
Definition ovlpistlsolverbackend.hh:817
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:839
ISTLBackend_OVLP_SuperLU_Base(const GFS &gfs_, const C &c_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:826
Definition ovlpistlsolverbackend.hh:875
ISTLBackend_OVLP_UMFPack_Base(const GFS &gfs_, const C &c_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:884
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:897
Overlapping parallel BiCGStab solver with SuperLU preconditioner.
Definition ovlpistlsolverbackend.hh:938
ISTLBackend_OVLP_BCGS_SuperLU(const GFS &gfs_, const CC &cc_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:948
Overlapping parallel CG solver with SuperLU preconditioner.
Definition ovlpistlsolverbackend.hh:962
ISTLBackend_OVLP_CG_SuperLU(const GFS &gfs_, const CC &cc_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:972
Overlapping parallel CG solver with UMFPack preconditioner.
Definition ovlpistlsolverbackend.hh:987
ISTLBackend_OVLP_CG_UMFPack(const GFS &gfs_, const CC &cc_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition ovlpistlsolverbackend.hh:997
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition ovlpistlsolverbackend.hh:1011
ISTLBackend_OVLP_ExplicitDiagonal(const GFS &gfs_)
make a linear solver object
Definition ovlpistlsolverbackend.hh:1017
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition ovlpistlsolverbackend.hh:1030
ISTLBackend_OVLP_ExplicitDiagonal(const ISTLBackend_OVLP_ExplicitDiagonal &other_)
Definition ovlpistlsolverbackend.hh:1021
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:1048
Definition ovlpistlsolverbackend.hh:1080
const Parameters & parameters() const
Get the parameters describing the behaviuour of AMG.
Definition ovlpistlsolverbackend.hh:1145
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition ovlpistlsolverbackend.hh:1166
ISTLBackend_AMG(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition ovlpistlsolverbackend.hh:1109
void apply(M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlpistlsolverbackend.hh:1180
void setReuse(bool reuse_)
Set whether the AMG should be reused again during call to apply().
Definition ovlpistlsolverbackend.hh:1151
void setParameters(const Parameters ¶ms_)
set AMG parameters
Definition ovlpistlsolverbackend.hh:1133
const ISTLAMGStatistics & statistics() const
Get statistics of the AMG solver (no of levels, timings).
Definition ovlpistlsolverbackend.hh:1229
Dune::Amg::Parameters Parameters
Parameters object to customize matrix hierachy building.
Definition ovlpistlsolverbackend.hh:1106
bool getReuse() const
Return whether the AMG is reused during call to apply()
Definition ovlpistlsolverbackend.hh:1157
Overlapping parallel conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition ovlpistlsolverbackend.hh:1259
ISTLBackend_CG_AMG_SSOR(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition ovlpistlsolverbackend.hh:1271
Overlapping parallel BiCGStab solver preconditioned with AMG smoothed by SSOR.
Definition ovlpistlsolverbackend.hh:1288
ISTLBackend_BCGS_AMG_SSOR(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition ovlpistlsolverbackend.hh:1300
Overlapping parallel BiCGStab solver preconditioned with AMG smoothed by ILU0.
Definition ovlpistlsolverbackend.hh:1317
ISTLBackend_BCGS_AMG_ILU0(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Constructor.
Definition ovlpistlsolverbackend.hh:1329
Definition parallelhelper.hh:51
void createIndexSetAndProjectForAMG(MatrixType &m, Comm &c)
Makes the matrix consistent and creates the parallel information for AMG.
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
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 solver.hh:54
Dune::PDELab::LinearSolverResult< double > res
Definition solver.hh:63
Definition genericdatahandle.hh:667
Definition genericdatahandle.hh:730
Definition recipe-operator-splitting.cc:108
T endl(T... args)
T sqrt(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8