AMDiS 2.10
The Adaptive Multi-Dimensional Simulation Toolbox
AMGPreconCreator< AMGSolver, Traits > Class Template Reference

#include <AMGPrecon.hpp>

Inherits ISTLPreconCreatorBase< Traits >.

Public Member Functions

void init (std::string const &prefix) override
 Prepare the preconditioner for the creation. More...
 
std::unique_ptr< Interface > createPrecon (M const &mat, typename Traits::Comm const &comm) const override
 Implements ISTLPreconCreatorBase::create.
 
- Public Member Functions inherited from ISTLPreconCreatorBase< Traits >
virtual void init (std::string const &prefix)
 Prepare the preconditioner for the creation. More...
 
virtual std::unique_ptr< Dune::Preconditioner< X, Y > > createPrecon (typename Traits::M const &A, typename Traits::Comm const &comm) const =0
 
virtual std::unique_ptr< tag::preconditioner< Traits > > create ()=0
 Must be implemented by sub classes of CreatorInterface. Creates a new instance of the sub class of BaseClass.
 

Protected Member Functions

void initParameters (std::string const &prefix)
 
void initCoarseningParameters (std::string const &prefix)
 
void initAggregationParameters (std::string const &prefix)
 
void initDependencyParameters (std::string const &prefix)
 
template<class SA >
void initSmootherParameters (std::string const &prefix, SA &smootherArgs) const
 

Additional Inherited Members

- Protected Attributes inherited from ISTLPreconCreatorBase< Traits >
double w_ = 1.0
 
int iter_ = 1
 

Detailed Description

template<template< class... > class AMGSolver, class Traits>
class AMDiS::AMGPreconCreator< AMGSolver, Traits >

Implementation of ISTLPreconCreatorBase to be used in the DefaultCreators. Read several parameters of the AMG preconditioner and calls the corresponding sub creators for the Smoother and the final AMG type.

  1. Depending on the solver category, create a LinearOperator, and (block) smoother, see Dune::MatrixAdapter, Dune::OverlappingSchwarzOperator, Dune::NonoverlappingSchwarzOperator, Dune::BlockPreconditioner, and NonoverlappingBlockPreconditioner.
  2. Init the Dune::Amg::SmootherTraits and the CoarsenCriterion depending on the Smoother type.
  3. Pass the created objects to AMGCreator.

Initfile parameters: (subset)

  • [PRECON]->preSmoothSteps: Number of pre-smoother iterations [2] -[PRECON]->postSmoothSteps: Number of post-smoother iterations [2]
  • [PRECON]->gamma: Number of two-grid cycles [1] -[PRECON]->smoother->...: Parameters for the smoother -[PRECON]->coarsening->....: Parameters for the Coarsening procedure -[PRECON]->aggregation->...: Parameters for the coarsening by aggregation -[PRECON]->dependency->...`: Parameters for the characterization for variable dependencies.

Member Function Documentation

◆ init()

void init ( std::string const &  prefix)
inlineoverridevirtual

Prepare the preconditioner for the creation.

Reimplemented from ISTLPreconCreatorBase< Traits >.


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