Dune Core Modules (2.8.0)
Public Types |
Public Member Functions |
Protected Types |
Protected Attributes |
List of all members
Dune::Amg::SymmetricCriterion< M, Norm > Class Template Reference
Criterion taking advantage of symmetric matrices. More...
#include <dune/istl/paamg/aggregates.hh>
Public Types | |
typedef SymmetricDependency< M, Norm > | DependencyPolicy |
The policy for calculating the dependency graph. | |
typedef M | Matrix |
The matrix type we build the dependency of. | |
typedef Norm | 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 | setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2) |
Sets reasonable default values for an isotropic problem. More... | |
void | setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2) |
Sets reasonable default values for an aisotropic problem. More... | |
void | setDebugLevel (int level) |
Set the debugging level. More... | |
int | debugLevel () const |
Get the debugging Level. More... | |
void | setNoPreSmoothSteps (std::size_t steps) |
Set the number of presmoothing steps to apply. More... | |
std::size_t | getNoPreSmoothSteps () const |
Get the number of presmoothing steps to apply. More... | |
void | setNoPostSmoothSteps (std::size_t steps) |
Set the number of postsmoothing steps to apply. More... | |
std::size_t | getNoPostSmoothSteps () const |
Get the number of postsmoothing steps to apply. More... | |
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. More... | |
bool | getAdditive () const |
Get whether to use additive multigrid. More... | |
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. More... | |
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 he data should be accumulated on fewer processes on coarser levels. | |
void | setProlongationDampingFactor (double d) |
Set the damping factor for the prolongation. More... | |
double | getProlongationDampingFactor () const |
Get the damping factor for the prolongation. More... | |
std::size_t | maxDistance () const |
Get the maximal distance allowed between two nodes in a aggregate. More... | |
void | setMaxDistance (std::size_t distance) |
Set the maximal distance allowed between two nodes in a aggregate. More... | |
bool | skipIsolated () const |
Whether isolated aggregates will not be represented on the coarse level. More... | |
void | setSkipIsolated (bool skip) |
Set whether isolated aggregates will not be represented on the coarse level. More... | |
std::size_t | minAggregateSize () const |
Get the minimum number of nodes a aggregate has to consist of. More... | |
void | setMinAggregateSize (std::size_t size) |
Set the minimum number of nodes a aggregate has to consist of. More... | |
std::size_t | maxAggregateSize () const |
Get the maximum number of nodes a aggregate is allowed to have. More... | |
void | setMaxAggregateSize (std::size_t size) |
Set the maximum number of nodes a aggregate is allowed to have. More... | |
std::size_t | maxConnectivity () const |
Get the maximum number of connections a aggregate is allowed to have. More... | |
void | setMaxConnectivity (std::size_t connectivity) |
Set the maximum number of connections a aggregate is allowed to have. More... | |
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. More... | |
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. | |
Protected Attributes | |
const Matrix * | matrix_ |
The matrix we work on. | |
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 Norm>
class Dune::Amg::SymmetricCriterion< M, Norm >
class Dune::Amg::SymmetricCriterion< M, Norm >
Criterion taking advantage of symmetric matrices.
- Template Parameters
-
M The type of the matrix the amg coarsening works on, e.g. BCRSMatrix Norm The norm to use to determine the strong couplings between the nodes, e.g. FirstDiagonal or RowSum.
Member Function Documentation
◆ setDefaultValuesAnisotropic()
|
inlineinherited |
Sets reasonable default values for an aisotropic problem.
Reasonable means that we should end up with cube aggregates with sides of diameter 2 and sides in one dimension that are longer (e.g. for 3D: 2x2x3).
- Parameters
-
dim The dimension of the problem. diameter The preferred diameter for the aggregation.
◆ setDefaultValuesIsotropic()
|
inlineinherited |
Sets reasonable default values for an isotropic problem.
Reasonable means that we should end up with cube aggregates of diameter 2.
- Parameters
-
dim The dimension of the problem. diameter The preferred diameter for the aggregation.
The documentation for this class was generated from the following file:
- dune/istl/paamg/aggregates.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 12, 23:30, 2024)