dune-pdelab
2.0.0
|
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR. More...
#include <dune/pdelab/backend/novlpistlsolverbackend.hh>
Public Member Functions | |
ISTLBackend_NOVLP_CG_AMG_SSOR (const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true) | |
void | setParameters (const Parameters ¶ms_) |
set AMG parameters More... | |
void | setparams (Parameters params_) |
const Parameters & | parameters () const |
Get the parameters describing the behaviuour of AMG. More... | |
V::ElementType | norm (const V &v) const |
compute global norm of a vector More... | |
void | apply (M &A, V &z, V &r, typename V::ElementType reduction) |
const ISTLAMGStatistics & | statistics () const |
Get statistics of the AMG solver (no of levels, timings). More... | |
const Dune::PDELab::LinearSolverResult < double > & | result () const |
Return access to result data. More... | |
Protected Attributes | |
Dune::PDELab::LinearSolverResult < double > | res |
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR.
GO | The type of the grid operator (or the fakeGOTraits class for the old grid operator space). |
s | The bits to use for the global index. |
The solver uses AMG with underlying sequential SSOR preconditioner. The crucial step is to add up the matrix entries corresponding to the border vertices on each process. This is achieved by performing a VertexExchanger::sumEntries(Matrix&).
|
inline |
|
inlineinherited |
References Dune::PDELab::LinearSolverResult< RFType >::conv_rate, Dune::PDELab::LinearSolverResult< RFType >::converged, Dune::PDELab::istl::ParallelHelper< GFS >::createIndexSetAndProjectForAMG(), Dune::PDELab::ISTLAMGStatistics::directCoarseLevelSolver, Dune::PDELab::LinearSolverResult< RFType >::elapsed, Dune::PDELab::LinearSolverResult< RFType >::iterations, Dune::PDELab::ISTLAMGStatistics::levels, Dune::PDELab::istl::raw(), Dune::PDELab::LinearSolverResult< RFType >::reduction, Dune::PDELab::LinearResultStorage::res, Dune::PDELab::ISTLAMGStatistics::tprepare, Dune::PDELab::ISTLAMGStatistics::tsetup, and Dune::PDELab::ISTLAMGStatistics::tsolve.
|
inlineinherited |
compute global norm of a vector
[in] | v | the given vector |
|
inlineinherited |
Get the parameters describing the behaviuour of AMG.
The returned object can be adjusted to ones needs and then can be reset using setParameters.
|
inlineinherited |
Return access to result data.
References Dune::PDELab::LinearResultStorage::res.
|
inlineinherited |
set AMG parameters
[in] | params_ | a parameter object of Type Dune::Amg::Parameters |
|
inlineinherited |
|
inlineinherited |
Get statistics of the AMG solver (no of levels, timings).
|
protectedinherited |
Referenced by Dune::PDELab::ISTLBackend_SEQ_Base< Dune::SeqJac, Dune::BiCGSTABSolver >::apply(), Dune::PDELab::ISTLBackend_SEQ_ILU0< Dune::CGSolver >::apply(), Dune::PDELab::ISTLBackend_SEQ_ILUn< Dune::CGSolver >::apply(), Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::apply(), Dune::PDELab::ISTLBackend_OVLP_Base< GFS, CC, Dune::SeqSSOR, Dune::BiCGSTABSolver >::apply(), Dune::PDELab::ISTLBackend_SEQ_ExplicitDiagonal::apply(), Dune::PDELab::ISTLBackend_OVLP_ILU0_Base< GFS, CC, Dune::BiCGSTABSolver >::apply(), Dune::PDELab::ISTLBackend_OVLP_ILUn_Base< GFS, CC, Dune::BiCGSTABSolver >::apply(), Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >::apply(), Dune::PDELab::ISTLBackend_SEQ_AMG< GO, Dune::SeqSOR, Dune::LoopSolver >::apply(), Dune::PDELab::ISTLBackend_OVLP_GMRES_ILU0< GFS, CC >::apply(), Dune::PDELab::ISTLBackend_OVLP_SuperLU_Base< GFS, CC, Dune::CGSolver >::apply(), Dune::PDELab::ISTLBackend_OVLP_ExplicitDiagonal< GFS >::apply(), Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR, Dune::CGSolver >::apply(), Dune::PDELab::ISTLBackend_AMG< GO, s, Dune::SeqILU0, Dune::BiCGSTABSolver >::apply(), and Dune::PDELab::LinearResultStorage::result().