dune-pdelab  2.5-dev
Public Member Functions | Protected Attributes | List of all members
Dune::PDELab::ISTLBackend_NOVLP_LS_AMG_SSOR< GO, s > Class Template Reference

Nonoverlapping parallel LoopSolver preconditioned with AMG smoothed by SSOR. More...

#include <dune/pdelab/backend/istl/novlpistlsolverbackend.hh>

Inheritance diagram for Dune::PDELab::ISTLBackend_NOVLP_LS_AMG_SSOR< GO, s >:
Inheritance graph

Public Member Functions

 ISTLBackend_NOVLP_LS_AMG_SSOR (const GO &grid_operator, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
 
void setParameters (const Parameters &params_)
 set AMG parameters More...
 
const Parameters & parameters () const
 Get the parameters describing the behaviuour of AMG. More...
 
void setReuse (bool reuse_)
 Set whether the AMG should be reused again during call to apply(). More...
 
bool getReuse () const
 Return whether the AMG is reused during call to apply() More...
 
V::ElementType norm (const V &v) const
 compute global norm of a vector More...
 
void apply (M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
 
const ISTLAMGStatisticsstatistics () 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
 

Detailed Description

template<class GO, int s = 96>
class Dune::PDELab::ISTLBackend_NOVLP_LS_AMG_SSOR< GO, s >

Nonoverlapping parallel LoopSolver preconditioned with AMG smoothed by SSOR.

Template Parameters
GOThe type of the grid operator used for the spatial discretization (or the fakeGOTraits class for the old grid operator space). This class will be used to adjust the discretization matrix. and extract the trial grid function space.
sThe 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&).

Constructor & Destructor Documentation

◆ ISTLBackend_NOVLP_LS_AMG_SSOR()

template<class GO , int s = 96>
Dune::PDELab::ISTLBackend_NOVLP_LS_AMG_SSOR< GO, s >::ISTLBackend_NOVLP_LS_AMG_SSOR ( const GO &  grid_operator,
unsigned  maxiter_ = 5000,
int  verbose_ = 1,
bool  reuse_ = false,
bool  usesuperlu_ = true 
)
inline

Member Function Documentation

◆ apply()

void Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::apply ( M &  A,
V &  z,
V &  r,
typename Dune::template FieldTraits< typename V::ElementType >::real_type  reduction 
)
inlineinherited

◆ getReuse()

bool Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::getReuse ( ) const
inlineinherited

Return whether the AMG is reused during call to apply()

◆ norm()

V::ElementType Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::norm ( const V &  v) const
inlineinherited

compute global norm of a vector

Parameters
[in]vthe given vector

◆ parameters()

const Parameters& Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::parameters ( ) const
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.

Returns
The object holding the parameters of AMG.

◆ result()

const Dune::PDELab::LinearSolverResult<double>& Dune::PDELab::LinearResultStorage::result ( ) const
inlineinherited

Return access to result data.

◆ setParameters()

void Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::setParameters ( const Parameters &  params_)
inlineinherited

set AMG parameters

Parameters
[in]params_a parameter object of Type Dune::Amg::Parameters

◆ setReuse()

void Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::setReuse ( bool  reuse_)
inlineinherited

Set whether the AMG should be reused again during call to apply().

◆ statistics()

const ISTLAMGStatistics& Dune::PDELab::ISTLBackend_AMG_NOVLP< GO, s, Dune::SeqSSOR , Dune::LoopSolver >::statistics ( ) const
inlineinherited

Get statistics of the AMG solver (no of levels, timings).

Returns
statistis of the AMG solver.

Member Data Documentation

◆ res

Dune::PDELab::LinearSolverResult<double> Dune::PDELab::LinearResultStorage::res
protectedinherited

The documentation for this class was generated from the following file: