Dune Core Modules (2.3.1)
Dune::Amg::UnSymmetricCriterion< M, Norm > Class Template Reference
Criterion suited for unsymmetric matrices. More...
#include <dune/istl/paamg/aggregates.hh>
Public Types | |
typedef Dependency< 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 to nodes in a aggregate. More... | |
void | setMaxDistance (std::size_t distance) |
Set the maximal distance allowed between to 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 Attributes | |
const Matrix * | matrix_ |
The matrix we work on. | |
Matrix::field_type | maxValue_ |
The current max value. | |
Norm | norm_ |
The functor for calculating the norm. | |
int | row_ |
index of the currently evaluated row. | |
Matrix::field_type | diagonal_ |
The norm of the current diagonal. | |
Detailed Description
template<class M, class Norm>
class Dune::Amg::UnSymmetricCriterion< M, Norm >
class Dune::Amg::UnSymmetricCriterion< M, Norm >
Criterion suited for unsymmetric matrices.
Nevertheless the sparsity pattern has to be symmetric.
The two template parameters are:
- 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)