Loading...
Searching...
No Matches
Dune::Amg::Dependency< M, N > Class Template Reference
Iterative Solvers Template Library (ISTL) » Iterative Solvers » Preconditioners » Parallel Algebraic Multigrid

Dependency policy for symmetric matrices. More...

`#include <dune/istl/paamg/aggregates.hh>`

Inheritance diagram for Dune::Amg::Dependency< M, N >:

## Public Types

typedef M | Matrix
| The matrix type we build the dependency of.
typedef N | Norm
| The norm to use for examining the matrix entries.
typedef Matrix::row_type | Row
| Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator | ColIter
| Constant column iterator of the matrix.

## Public Member Functions

void | init (const Matrix *matrix)
void | initRow (const Row &row, int index)
void | examine (const ColIter &col)
template<class G>
void | examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool | isIsolated ()
| Dependency (const Parameters &parms)
| Dependency ()
void | setDebugLevel (int level)
| Set the debugging level.
int | debugLevel () const
| Get the debugging Level.
void | setNoPreSmoothSteps (std::size_t steps)
| Set the number of presmoothing steps to apply.
std::size_t | getNoPreSmoothSteps () const
| Get the number of presmoothing steps to apply.
void | setNoPostSmoothSteps (std::size_t steps)
| Set the number of postsmoothing steps to apply.
std::size_t | getNoPostSmoothSteps () const
| Get the number of postsmoothing steps to apply.
void | setGamma (std::size_t gamma)
| Set the value of gamma; 1 for V-cycle, 2 for W-cycle.
std::size_t | getGamma () const
| Get the value of gamma; 1 for V-cycle, 2 for W-cycle.
void | setAdditive (bool additive)
| Set whether to use additive multigrid.
bool | getAdditive () const
| Get whether to use additive multigrid.
void | setMaxLevel (int l)
| Set the maximum number of levels allowed in the hierarchy.
int | maxLevel () const
| Get the maximum number of levels allowed in the hierarchy.
void | setCoarsenTarget (int nodes)
| Set the maximum number of unknowns allowed on the coarsest level.
int | coarsenTarget () const
| Get the maximum number of unknowns allowed on the coarsest level.
void | setMinCoarsenRate (double rate)
| Set the minimum coarsening rate to be achieved in each coarsening.
double | minCoarsenRate () const
| Get the minimum coarsening rate to be achieved.
AccumulationMode | accumulate () const
| Whether the data should be accumulated on fewer processes on coarser levels.
void | setAccumulate (AccumulationMode accu)
| Set whether the data should be accumulated on fewer processes on coarser levels.
void | setAccumulate (bool accu)
bool | useFixedOrder () const
| Check if the indices for the coarser levels should be created in a fixed order.
void | setUseFixedOrder (bool useFixedOrder)
void | setProlongationDampingFactor (double d)
| Set the damping factor for the prolongation.
double | getProlongationDampingFactor () const
| Get the damping factor for the prolongation.
void | setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an isotropic problem.
void | setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an anisotropic problem.
std::size_t | maxDistance () const
| Get the maximal distance allowed between two nodes in a aggregate.
void | setMaxDistance (std::size_t distance)
| Set the maximal distance allowed between two nodes in a aggregate.
bool | skipIsolated () const
| Whether isolated aggregates will not be represented on the coarse level.
void | setSkipIsolated (bool skip)
| Set whether isolated aggregates will not be represented on the coarse level.
std::size_t | minAggregateSize () const
| Get the minimum number of nodes a aggregate has to consist of.
void | setMinAggregateSize (std::size_t size)
| Set the minimum number of nodes a aggregate has to consist of.
std::size_t | maxAggregateSize () const
| Get the maximum number of nodes a aggregate is allowed to have.
void | setMaxAggregateSize (std::size_t size)
| Set the maximum number of nodes a aggregate is allowed to have.
std::size_t | maxConnectivity () const
| Get the maximum number of connections a aggregate is allowed to have.
void | setMaxConnectivity (std::size_t connectivity)
| Set the maximum number of connections a aggregate is allowed to have.
void | setBeta (double b)
| Set threshold for marking nodes as isolated. The default value is 1.0E-5.
double | beta () const
| Get the threshold for marking nodes as isolated. The default value is 1.0E-5.
void | setAlpha (double a)
| Set the scaling value for marking connections as strong. Default value is 1/3.
double | alpha () const
| Get the scaling value for marking connections as strong. Default value is 1/3.

## Protected Types

typedef Matrix::field_type | field_type
| The current max value.
typedef FieldTraits< field_type >::real_type | real_type

## Protected Attributes

const Matrix * | matrix_
| The matrix we work on.
real_type | maxValue_
Norm | norm_
| The functor for calculating the norm.
int | row_
| index of the currently evaluated row.
real_type | diagonal_
| The norm of the current diagonal.

## Detailed Description

template<class M, class N>
class Dune::Amg::Dependency< M, N >

Dependency policy for symmetric matrices.

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

- aggregates.hh