|
dune-istl 2.10
|
Criterion suitable 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 | |
| UnSymmetricCriterion (const Parameters &parms) | |
| UnSymmetricCriterion () | |
| 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 aisotropic problem. | |
| void | init (const Matrix *matrix) |
| void | initRow (const Row &row, int index) |
| void | examine (const ColIter &col) |
| bool | isIsolated () |
| 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. | |
| 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. | |
Criterion suitable for unsymmetric matrices.
Nevertheless the sparsity pattern has to be symmetric.
| 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. |
|
inherited |
Constant column iterator of the matrix.
|
inherited |
The policy for calculating the dependency graph.
|
protectedinherited |
The current max value.
|
inherited |
The matrix type we build the dependency of.
|
inherited |
The norm to use for examining the matrix entries.
|
protectedinherited |
|
inherited |
Constant Row iterator of the matrix.
|
inlineinherited |
Whether the data should be accumulated on fewer processes on coarser levels.
|
inlineinherited |
Get the scaling value for marking connections as strong. Default value is 1/3.
|
inlineinherited |
Get the threshold for marking nodes as isolated. The default value is 1.0E-5.
|
inlineinherited |
Get the maximum number of unknowns allowed on the coarsest level.
|
inlineinherited |
Get the debugging Level.
|
inherited |
|
inlineinherited |
Get whether to use additive multigrid.
|
inlineinherited |
Get the value of gamma; 1 for V-cycle, 2 for W-cycle.
|
inlineinherited |
Get the number of postsmoothing steps to apply.
|
inlineinherited |
Get the number of presmoothing steps to apply.
|
inlineinherited |
Get the damping factor for the prolongation.
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Get the maximum number of nodes a aggregate is allowed to have.
|
inlineinherited |
Get the maximum number of connections a aggregate is allowed to have.
This limit exists to achieve sparsity of the coarse matrix. the default value is 15.
|
inlineinherited |
Get the maximal distance allowed between two nodes in a aggregate.
The distance between two nodes in a aggregate is the minimal number of edges it takes to travel from one node to the other without leaving the aggregate.
|
inlineinherited |
Get the maximum number of levels allowed in the hierarchy.
|
inlineinherited |
Get the minimum number of nodes a aggregate has to consist of.
|
inlineinherited |
Get the minimum coarsening rate to be achieved.
|
inlineinherited |
Set whether the data should be accumulated on fewer processes on coarser levels.
|
inlineinherited |
|
inlineinherited |
Set whether to use additive multigrid.
| additive | True if multigrid should be additive. |
|
inlineinherited |
Set the scaling value for marking connections as strong. Default value is 1/3.
|
inlineinherited |
Set threshold for marking nodes as isolated. The default value is 1.0E-5.
|
inlineinherited |
Set the maximum number of unknowns allowed on the coarsest level.
|
inlineinherited |
Set the debugging level.
| level | If 0 no debugging output will be generated. |
|
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).
| dim | The dimension of the problem. |
| diameter | The preferred diameter for the aggregation. |
|
inlineinherited |
Sets reasonable default values for an isotropic problem.
Reasonable means that we should end up with cube aggregates of diameter 2.
| dim | The dimension of the problem. |
| diameter | The preferred diameter for the aggregation. |
|
inlineinherited |
Set the value of gamma; 1 for V-cycle, 2 for W-cycle.
|
inlineinherited |
Set the maximum number of nodes a aggregate is allowed to have.
The default values is 6.
| size | The maximum number of nodes. |
|
inlineinherited |
Set the maximum number of connections a aggregate is allowed to have.
This limit exists to achieve sparsity of the coarse matrix. the default value is 15.
| connectivity | The maximum number of connections a aggregate is allowed to have. |
|
inlineinherited |
Set the maximal distance allowed between two nodes in a aggregate.
The distance between two nodes in a aggregate is the minimal number of edges it takes to travel from one node to the other without leaving the aggregate. The default value is 2.
| distance | The maximum distance allowed. |
|
inlineinherited |
Set the maximum number of levels allowed in the hierarchy.
|
inlineinherited |
Set the minimum number of nodes a aggregate has to consist of.
the default value is 4.
|
inlineinherited |
Set the minimum coarsening rate to be achieved in each coarsening.
The default value is 1.2
|
inlineinherited |
Set the number of postsmoothing steps to apply.
| steps | The number of steps: |
|
inlineinherited |
Set the number of presmoothing steps to apply.
| steps | The number of steps: |
|
inlineinherited |
Set the damping factor for the prolongation.
| d | The new damping factor. |
|
inlineinherited |
Set whether isolated aggregates will not be represented on the coarse level.
| skip | True if these aggregates will be skipped. |
|
inlineinherited |
|
inlineinherited |
Whether isolated aggregates will not be represented on the coarse level.
|
inlineinherited |
Check if the indices for the coarser levels should be created in a fixed order.
|
protectedinherited |
The norm of the current diagonal.
|
protectedinherited |
The matrix we work on.
|
protectedinherited |
|
protectedinherited |
The functor for calculating the norm.
|
protectedinherited |
index of the currently evaluated row.