|
typedef DGGO::Traits::TrialGridFunctionSpace | GFS |
|
typedef DGGO::Traits::Jacobian | M |
|
typedef DGGO::Traits::Domain | V |
|
typedef Backend::Native< M > | Matrix |
|
typedef Backend::Native< V > | Vector |
|
typedef Vector::field_type | field_type |
|
using | CGV = Dune::PDELab::Backend::Vector< CGGFS, field_type > |
|
typedef Backend::Native< CGV > | CGVector |
|
typedef Dune::PDELab::ISTL::BCRSMatrixBackend | MBE |
|
typedef Dune::PDELab::EmptyTransformation | CC |
|
typedef TransferLOP | CGTODGLOP |
|
typedef Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC > | PGO |
|
typedef PGO::Jacobian | PMatrix |
|
typedef Backend::Native< PMatrix > | P |
|
typedef Dune::TransposedMatMultMatResult< P, Matrix >::type | PTADG |
|
typedef Dune::MatMultMatResult< PTADG, P >::type | CGMatrix |
|
typedef Dune::PDELab::ISTL::CommSelector< s, Dune::MPIHelper::isFake >::type | Comm |
|
typedef Dune::OverlappingSchwarzOperator< CGMatrix, CGVector, CGVector, Comm > | ParCGOperator |
|
typedef Dune::SeqSSOR< CGMatrix, CGVector, CGVector, 1 > | Smoother |
|
typedef Dune::BlockPreconditioner< CGVector, CGVector, Comm, Smoother > | ParSmoother |
|
typedef Dune::Amg::AMG< ParCGOperator, CGVector, ParSmoother, Comm > | AMG |
|
typedef Dune::Amg::Parameters | Parameters |
|
|
PMatrix & | prolongation_matrix () |
|
void | setParameters (const Parameters &amg_parameters_) |
| 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...
|
|
| ISTLBackend_OVLP_AMG_4_DG (DGGO &dggo_, const DGCC &dgcc_, CGGFS &cggfs_, const CGCC &cgcc_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true) |
|
| ISTLBackend_OVLP_AMG_4_DG (DGGO &dggo_, const DGCC &dgcc_, CGGFS &cggfs_, const CGCC &cgcc_, const ParameterTree ¶ms) |
|
void | apply (M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction) |
| solve the given linear system More...
|
|
X::ElementType | dot (const X &x, const X &y) const |
| Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition. More...
|
|
Dune::template FieldTraits< typename X::ElementType >::real_type | norm (const X &x) const |
| Norm of a right-hand side vector. The vector must be consistent on the interior+border partition. More...
|
|
const ISTL::ParallelHelper< DGGO::Traits::TrialGridFunctionSpace > & | parallelHelper () const |
|
ISTL::ParallelHelper< DGGO::Traits::TrialGridFunctionSpace > & | parallelHelper () |
|
const Dune::PDELab::LinearSolverResult< double > & | result () const |
| Return access to result data. More...
|
|
template<class DGGO, class DGCC, class CGGFS, class CGCC, class TransferLOP, template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
class Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >
Overlapping 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 DGCC constraints container for DG problem CGGFS grid function space for CG subspace CGCC constraints container for CG problem TransferLOP local operator to assemble prolongation from CGGFS to DGGFS DGPrec preconditioner for DG problem Solver solver to be used on the complete problem int s size of global index to be used in AMG
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >::ISTLBackend_OVLP_AMG_4_DG |
( |
DGGO & |
dggo_, |
|
|
const DGCC & |
dgcc_, |
|
|
CGGFS & |
cggfs_, |
|
|
const CGCC & |
cgcc_, |
|
|
unsigned |
maxiter_ = 5000 , |
|
|
int |
verbose_ = 1 , |
|
|
bool |
reuse_ = false , |
|
|
bool |
usesuperlu_ = true |
|
) |
| |
|
inline |
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >::ISTLBackend_OVLP_AMG_4_DG |
( |
DGGO & |
dggo_, |
|
|
const DGCC & |
dgcc_, |
|
|
CGGFS & |
cggfs_, |
|
|
const CGCC & |
cgcc_, |
|
|
const ParameterTree & |
params |
|
) |
| |
|
inline |
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
void Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >::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] | A | the given matrix |
[out] | z | the solution vector to be computed |
[in] | r | right hand side |
[in] | reduction | to be achieved |
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
Return whether the AMG is reused during call to apply()
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
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.
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
set AMG parameters
- Parameters
-
[in] | amg_parameters_ | a parameter object of Type Dune::Amg::Parameters |
template<class DGGO , class DGCC , class CGGFS , class CGCC , class TransferLOP , template< class, class, class, int > class DGPrec, template< class > class Solver, int s = 96>
Set whether the AMG should be reused again during call to apply().