dune-pdelab  2.7-git
Public Types | Public Member Functions | List of all members
Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm > Class Template Reference

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

Inheritance diagram for Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >:
Inheritance graph

Public Types

using V = Dune::PDELab::Backend::Vector< DGGFS, typename DGPrec::domain_type::field_type >
 
using W = Dune::PDELab::Backend::Vector< DGGFS, typename DGPrec::range_type::field_type >
 
using X = Backend::Native< V >
 
using Y = Backend::Native< W >
 
using CGV = Dune::PDELab::Backend::Vector< CGGFS, typename CGPrec::domain_type::field_type >
 
using CGW = Dune::PDELab::Backend::Vector< CGGFS, typename CGPrec::range_type::field_type >
 

Public Member Functions

SolverCategory::Category category () const override
 
 OvlpDGAMGPrec (const DGGFS &dggfs_, DGMatrix &dgmatrix_, DGPrec &dgprec_, const DGCC &dgcc_, const CGGFS &cggfs_, CGPrec &cgprec_, const CGCC &cgcc_, P &p_, const DGHelper &dghelper_, const Comm &comm_, int n1_, int n2_)
 Constructor. More...
 
virtual void pre (V &x, W &b) override
 Prepare the preconditioner. More...
 
virtual void apply (V &x, const W &b) override
 Apply the precondioner. More...
 
virtual void post (V &x) override
 Clean up. More...
 

Detailed Description

template<class DGGFS, class DGMatrix, class DGPrec, class DGCC, class CGGFS, class CGPrec, class CGCC, class P, class DGHelper, class Comm>
class Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >

An ISTL preconditioner for DG based on AMG applied to CG subspace

The template parameters are: DGGFS DG space DGMatrix BCRSMatrix assembled with DG DGPrec preconditioner to be used for DG CGPrec preconditioner to be used on CG subspace P BCRSMatrix for grid transfer

Member Typedef Documentation

◆ CGV

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::CGV = Dune::PDELab::Backend::Vector<CGGFS,typename CGPrec::domain_type::field_type>

◆ CGW

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::CGW = Dune::PDELab::Backend::Vector<CGGFS,typename CGPrec::range_type::field_type>

◆ V

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::V = Dune::PDELab::Backend::Vector<DGGFS,typename DGPrec::domain_type::field_type>

◆ W

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::W = Dune::PDELab::Backend::Vector<DGGFS,typename DGPrec::range_type::field_type>

◆ X

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::X = Backend::Native<V>

◆ Y

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
using Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::Y = Backend::Native<W>

Constructor & Destructor Documentation

◆ OvlpDGAMGPrec()

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::OvlpDGAMGPrec ( const DGGFS &  dggfs_,
DGMatrix &  dgmatrix_,
DGPrec &  dgprec_,
const DGCC &  dgcc_,
const CGGFS &  cggfs_,
CGPrec &  cgprec_,
const CGCC &  cgcc_,
P &  p_,
const DGHelper &  dghelper_,
const Comm &  comm_,
int  n1_,
int  n2_ 
)
inline

Constructor.

Constructor gets all parameters to operate the prec.

Parameters
AThe matrix to operate on.
nThe number of iterations to perform.
wThe relaxation factor.

Member Function Documentation

◆ apply()

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
virtual void Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::apply ( V x,
const W b 
)
inlineoverridevirtual

Apply the precondioner.

◆ category()

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
SolverCategory::Category Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::category ( ) const
inlineoverride

◆ post()

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
virtual void Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::post ( V x)
inlineoverridevirtual

Clean up.

◆ pre()

template<class DGGFS , class DGMatrix , class DGPrec , class DGCC , class CGGFS , class CGPrec , class CGCC , class P , class DGHelper , class Comm >
virtual void Dune::PDELab::OvlpDGAMGPrec< DGGFS, DGMatrix, DGPrec, DGCC, CGGFS, CGPrec, CGCC, P, DGHelper, Comm >::pre ( V x,
W b 
)
inlineoverridevirtual

Prepare the preconditioner.


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