dune-pdelab  2.7-git
Public Member Functions | Protected Attributes | List of all members
Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver > Class Template Reference

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

Inheritance diagram for Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >:
Inheritance graph

Public Member Functions

 ISTLBackend_SEQ_AMG_4_DG (DGGO &dggo_, CGGFS &cggfs_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
 
 ISTLBackend_SEQ_AMG_4_DG (DGGO &dggo_, CGGFS &cggfs_, const ParameterTree &params)
 
V::ElementType norm (const V &v) const
 compute global norm of a vector More...
 
void setParameters (const Parameters &amg_parameters_)
 set AMG parameters More...
 
const Parametersparameters () 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...
 
void setDGSmootherRelaxation (double relaxation_)
 set number of presmoothing steps on the DG level More...
 
void setNoDGPreSmoothSteps (int n1_)
 set number of presmoothing steps on the DG level More...
 
void setNoDGPostSmoothSteps (int n2_)
 set number of postsmoothing steps on the DG level More...
 
void apply (M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
 solve the given linear system 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 DGGO, class CGGFS, class TransferLOP, template< class, class, class, int > class DGPrec, template< class > class Solver>
class Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >

Sequential solver backend for using AMG for DG in PDELab

The template parameters are: DGGO GridOperator for DG discretization, allows access to matrix, vector and grid function space CGGFS grid function space for CG subspace DGPrec preconditioner for DG problem Solver solver to be used on the complete problem

Constructor & Destructor Documentation

◆ ISTLBackend_SEQ_AMG_4_DG() [1/2]

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::ISTLBackend_SEQ_AMG_4_DG ( DGGO &  dggo_,
CGGFS &  cggfs_,
unsigned  maxiter_ = 5000,
int  verbose_ = 1,
bool  reuse_ = false,
bool  usesuperlu_ = true 
)
inline

◆ ISTLBackend_SEQ_AMG_4_DG() [2/2]

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::ISTLBackend_SEQ_AMG_4_DG ( DGGO &  dggo_,
CGGFS &  cggfs_,
const ParameterTree &  params 
)
inline

Member Function Documentation

◆ apply()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::apply ( M &  A,
V &  z,
V &  r,
typename Dune::template FieldTraits< typename V::ElementType >::real_type  reduction 
)
inline

solve the given linear system

Parameters
[in]Athe given matrix
[out]zthe solution vector to be computed
[in]rright hand side
[in]reductionto be achieved

◆ getReuse()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
bool Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::getReuse ( ) const
inline

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

◆ norm()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
V::ElementType Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::norm ( const V &  v) const
inline

compute global norm of a vector

Parameters
[in]vthe given vector

◆ parameters()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
const Parameters& Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::parameters ( ) const
inline

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.

◆ setDGSmootherRelaxation()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::setDGSmootherRelaxation ( double  relaxation_)
inline

set number of presmoothing steps on the DG level

◆ setNoDGPostSmoothSteps()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::setNoDGPostSmoothSteps ( int  n2_)
inline

set number of postsmoothing steps on the DG level

◆ setNoDGPreSmoothSteps()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::setNoDGPreSmoothSteps ( int  n1_)
inline

set number of presmoothing steps on the DG level

◆ setParameters()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::setParameters ( const Parameters amg_parameters_)
inline

set AMG parameters

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

◆ setReuse()

template<class DGGO , class CGGFS , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::setReuse ( bool  reuse_)
inline

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

Member Data Documentation

◆ res

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

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