|
dune-pdelab 2.9
|
Loading...
Searching...
No Matches
novlpistlsolverbackend.hh
Go to the documentation of this file.
96 gfs.gridView().communicate(adddh,Dune::InteriorBorder_InteriorBorder_Interface,Dune::ForwardCommunication);
114 gfs.gridView().communicate(adddh,Dune::InteriorBorder_InteriorBorder_Interface,Dune::ForwardCommunication);
181 gfs.gridView().communicate(adddh,Dune::InteriorBorder_InteriorBorder_Interface,Dune::ForwardCommunication);
297 typename ISTL::BlockMatrixDiagonal<A>::template AddMatrixElementVectorDataHandle<GFS> addDH(gfs, _inverse_diagonal);
369 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
458 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
498 explicit ISTLBackend_NOVLP_BCGS_NOPREC (const GFS& gfs_, unsigned maxiter_=5000, int verbose_=1)
524 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
572 explicit ISTLBackend_NOVLP_BCGS_Jacobi (const GFS& gfs_, unsigned maxiter_=5000, int verbose_=1)
598 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
676 void apply(M& A, V& z, W& r, typename Dune::template FieldTraits<typename W::ElementType >::real_type reduction)
685 gfs.gridView().communicate(adddh,Dune::InteriorBorder_InteriorBorder_Interface,Dune::ForwardCommunication);
726 explicit ISTLBackend_NOVLP_BASE_PREC (const GO& grid_operator, unsigned maxiter_ = 5000, unsigned steps_ = 5, int verbose_ = 1)
850 : ISTLBackend_NOVLP_BASE_PREC<GO,Dune::SeqSSOR, Dune::BiCGSTABSolver>(grid_operator, maxiter_, steps_, verbose_)
875 : ISTLBackend_NOVLP_BASE_PREC<GO,Dune::SeqSSOR, Dune::CGSolver>(grid_operator, maxiter_, steps_, verbose_)
978 void apply(M& A, V& z, V& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
1109 : ISTLBackend_AMG_NOVLP<GO, s, Dune::SeqSSOR, Dune::BiCGSTABSolver>(grid_operator, maxiter_,verbose_,reuse_,usesuperlu_)
1136 : ISTLBackend_AMG_NOVLP<GO, s, Dune::SeqSSOR, Dune::LoopSolver>(grid_operator, maxiter_,verbose_,reuse_,usesuperlu_)
Matrix & mat
double alpha() const
void setDebugLevel(int level)
void setDefaultValuesIsotropic(std::size_t dim, std::size_t diameter=2)
RelaxationFactor relaxationFactor
int iterations
void pop()
static constexpr size_type M()
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_InteriorBorder_Interface
T real_type
void reset() noexcept
double elapsed() const noexcept
virtual void post(X &x)
virtual void apply(X &v, const Y &d)
virtual void pre(X &x, Y &b)
double elapsed
int iterations
double reduction
double conv_rate
bool converged
Category
nonoverlapping
virtual void apply(X &x, X &b, InverseOperatorResult &res)
virtual void apply(X &x, X &b, InverseOperatorResult &res)
Definition blockmatrixdiagonal.hh:215
Definition blockmatrixdiagonal.hh:220
void invert()
Definition blockmatrixdiagonal.hh:233
void mv(const X &x, Y &y) const
Definition blockmatrixdiagonal.hh:239
Operator for the non-overlapping parallel case.
Definition novlpistlsolverbackend.hh:55
NonoverlappingOperator(const GFS &gfs_, const M &A)
Construct a non-overlapping operator.
Definition novlpistlsolverbackend.hh:77
virtual const M & getmat() const override
extract the matrix
Definition novlpistlsolverbackend.hh:123
virtual void apply(const X &x, Y &y) const override
apply operator
Definition novlpistlsolverbackend.hh:87
Backend::Native< X > domain_type
export type of vectors the matrix is applied to
Definition novlpistlsolverbackend.hh:60
X::field_type field_type
export type of the entries for x
Definition novlpistlsolverbackend.hh:64
virtual void applyscaleadd(field_type alpha, const X &x, Y &y) const override
apply operator to x, scale and add:
Definition novlpistlsolverbackend.hh:105
Backend::Native< Y > range_type
export type of result vectors
Definition novlpistlsolverbackend.hh:62
SolverCategory::Category category() const override
Definition novlpistlsolverbackend.hh:117
Backend::Native< M > matrix_type
export type of matrix
Definition novlpistlsolverbackend.hh:58
Definition novlpistlsolverbackend.hh:136
X::ElementType field_type
Definition novlpistlsolverbackend.hh:140
SolverCategory::Category category() const override
Definition novlpistlsolverbackend.hh:142
X domain_type
export types
Definition novlpistlsolverbackend.hh:139
NonoverlappingScalarProduct(const GFS &gfs_, const ISTL::ParallelHelper< GFS > &helper_)
Constructor needs to know the grid function space.
Definition novlpistlsolverbackend.hh:149
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 novlpistlsolverbackend.hh:169
void make_consistent(X &x) const
make additive vector consistent
Definition novlpistlsolverbackend.hh:177
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 novlpistlsolverbackend.hh:157
Definition novlpistlsolverbackend.hh:192
X::ElementType field_type
The field type of the preconditioner.
Definition novlpistlsolverbackend.hh:199
NonoverlappingRichardson(const GFS &gfs_, const ISTL::ParallelHelper< GFS > &helper_)
Constructor.
Definition novlpistlsolverbackend.hh:208
virtual void apply(X &v, const Y &d) const override
Apply the precondioner.
Definition novlpistlsolverbackend.hh:221
X domain_type
The domain type of the preconditioner.
Definition novlpistlsolverbackend.hh:195
Y range_type
The range type of the preconditioner.
Definition novlpistlsolverbackend.hh:197
virtual void post(X &x) override
Clean up.
Definition novlpistlsolverbackend.hh:229
virtual void pre(X &x, Y &b) const override
Prepare the preconditioner.
Definition novlpistlsolverbackend.hh:216
SolverCategory::Category category() const override
Definition novlpistlsolverbackend.hh:202
parallel non-overlapping Jacobi preconditioner
Definition novlpistlsolverbackend.hh:253
virtual void pre(X &x, Y &b) override
Prepare the preconditioner.
Definition novlpistlsolverbackend.hh:308
virtual void post(X &x) override
Clean up.
Definition novlpistlsolverbackend.hh:322
virtual void apply(X &v, const Y &d) override
Apply the precondioner.
Definition novlpistlsolverbackend.hh:316
SolverCategory::Category category() const override
Definition novlpistlsolverbackend.hh:275
X::ElementType field_type
The field type of the preconditioner.
Definition novlpistlsolverbackend.hh:273
X domain_type
The domain type of the operator.
Definition novlpistlsolverbackend.hh:265
NonoverlappingJacobi(const GFS &gfs, const A &m)
Constructor.
Definition novlpistlsolverbackend.hh:293
Y range_type
The range type of the operator.
Definition novlpistlsolverbackend.hh:271
Nonoverlapping parallel CG solver without preconditioner.
Definition novlpistlsolverbackend.hh:331
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition novlpistlsolverbackend.hh:369
ISTLBackend_NOVLP_CG_NOPREC(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:341
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:390
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:352
Nonoverlapping parallel CG solver with Jacobi preconditioner.
Definition novlpistlsolverbackend.hh:406
const LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:481
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:435
ISTLBackend_NOVLP_CG_Jacobi(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:422
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition novlpistlsolverbackend.hh:458
Nonoverlapping parallel BiCGStab solver without preconditioner.
Definition novlpistlsolverbackend.hh:488
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:545
ISTLBackend_NOVLP_BCGS_NOPREC(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:498
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition novlpistlsolverbackend.hh:524
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:507
Nonoverlapping parallel BiCGStab solver with Jacobi preconditioner.
Definition novlpistlsolverbackend.hh:562
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:621
ISTLBackend_NOVLP_BCGS_Jacobi(const GFS &gfs_, unsigned maxiter_=5000, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:572
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:581
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition novlpistlsolverbackend.hh:598
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition novlpistlsolverbackend.hh:637
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:659
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:695
ISTLBackend_NOVLP_ExplicitDiagonal(const GFS &gfs_)
make a linear solver object
Definition novlpistlsolverbackend.hh:650
void apply(M &A, V &z, W &r, typename Dune::template FieldTraits< typename W::ElementType >::real_type reduction)
solve the given linear system
Definition novlpistlsolverbackend.hh:676
Utility base class for preconditioned novlp backends.
Definition novlpistlsolverbackend.hh:714
ISTLBackend_NOVLP_BASE_PREC(const GO &grid_operator, unsigned maxiter_=5000, unsigned steps_=5, int verbose_=1)
Constructor.
Definition novlpistlsolverbackend.hh:726
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition novlpistlsolverbackend.hh:805
Vector::ElementType norm(const Vector &v) const
Compute global norm of a vector.
Definition novlpistlsolverbackend.hh:740
void apply(M &A, V &z, W &r, typename V::ElementType reduction)
Solve the given linear system.
Definition novlpistlsolverbackend.hh:757
Nonoverlapping parallel BiCGSTAB solver preconditioned by block SSOR.
Definition novlpistlsolverbackend.hh:838
ISTLBackend_NOVLP_BCGS_SSORk(const GO &grid_operator, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:848
Nonoverlapping parallel CG solver preconditioned by block SSOR.
Definition novlpistlsolverbackend.hh:863
ISTLBackend_NOVLP_CG_SSORk(const GO &grid_operator, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
make a linear solver object
Definition novlpistlsolverbackend.hh:873
Definition novlpistlsolverbackend.hh:884
void apply(M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
Definition novlpistlsolverbackend.hh:978
const Parameters & parameters() const
Get the parameters describing the behaviuour of AMG.
Definition novlpistlsolverbackend.hh:947
const ISTLAMGStatistics & statistics() const
Get statistics of the AMG solver (no of levels, timings).
Definition novlpistlsolverbackend.hh:1037
V::ElementType norm(const V &v) const
compute global norm of a vector
Definition novlpistlsolverbackend.hh:969
void setParameters(const Parameters ¶ms_)
set AMG parameters
Definition novlpistlsolverbackend.hh:935
ISTLBackend_AMG_NOVLP(const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition novlpistlsolverbackend.hh:905
bool getReuse() const
Return whether the AMG is reused during call to apply()
Definition novlpistlsolverbackend.hh:959
void setReuse(bool reuse_)
Set whether the AMG should be reused again during call to apply().
Definition novlpistlsolverbackend.hh:953
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR.
Definition novlpistlsolverbackend.hh:1076
ISTLBackend_NOVLP_CG_AMG_SSOR(const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition novlpistlsolverbackend.hh:1079
Nonoverlapping parallel BiCGStab solver preconditioned with AMG smoothed by SSOR.
Definition novlpistlsolverbackend.hh:1103
ISTLBackend_NOVLP_BCGS_AMG_SSOR(const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition novlpistlsolverbackend.hh:1106
Nonoverlapping parallel LoopSolver preconditioned with AMG smoothed by SSOR.
Definition novlpistlsolverbackend.hh:1130
ISTLBackend_NOVLP_LS_AMG_SSOR(const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition novlpistlsolverbackend.hh:1133
Definition parallelhelper.hh:51
RankIndex rank() const
Returns the MPI rank of this process.
Definition parallelhelper.hh:248
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:31
Definition solver.hh:54
Dune::PDELab::LinearSolverResult< double > res
Definition solver.hh:63
Definition genericdatahandle.hh:667
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