Plain aggregation. Plus de détails...
Graphe de collaboration de Arcane::Alina::plain_aggregates:Classes | |
| struct | params |
| Aggregation parameters. Plus de détails... | |
Fonctions membres publiques | |
| template<class Matrix> | |
| plain_aggregates (const Matrix &A, const params &prm) | |
| Constructs aggregates for a given matrix. | |
Attributs publics | |
| size_t | count |
| Number of aggregates. | |
| std::vector< char > | strong_connection |
| Strong connectivity matrix. | |
| std::vector< ptrdiff_t > | id |
| Aggerate id that each fine-level variable belongs to. | |
Attributs publics statiques | |
| static const ptrdiff_t | undefined = -1 |
| static const ptrdiff_t | removed = -2 |
Plain aggregation.
Modification of a greedy aggregation scheme from [Vanek1996]. Connectivity is defined in a symmetric way, that is, two variables \(i\) and \(j\) are considered to be connected to each other if \(a_{ij}^2/a_{ii}a_{jj} > \varepsilon_{strong}\). Variables without neighbours (resulting, e.g., from Dirichlet conditions) are excluded from aggregation process. The aggregation is completed in a single pass over variables: variables adjacent to a new aggregate are temporarily marked as beloning to this aggregate. Later they may be claimed by other aggregates; if nobody claims them, then they just stay in their initial aggregate.
Définition à la ligne 148 du fichier Coarsening.h.
|
inline |
Constructs aggregates for a given matrix.
| A | The system matrix. |
| prm | Aggregation parameters. |
Définition à la ligne 207 du fichier Coarsening.h.
Références Arcane::arccoreParallelFor(), count, Arcane::Alina::plain_aggregates::params::eps_strong, id, et strong_connection.
Voici le graphe d'appel pour cette fonction :| size_t Arcane::Alina::plain_aggregates::count |
Number of aggregates.
Définition à la ligne 182 du fichier Coarsening.h.
Référencé par plain_aggregates().
| std::vector<ptrdiff_t> Arcane::Alina::plain_aggregates::id |
Aggerate id that each fine-level variable belongs to.
When id[i] < 0, then variable i stays at the fine level (this could be the case for a Dirichelt condition variable).
Définition à la ligne 198 du fichier Coarsening.h.
Référencé par plain_aggregates().
|
static |
Définition à la ligne 179 du fichier Coarsening.h.
| std::vector<char> Arcane::Alina::plain_aggregates::strong_connection |
Strong connectivity matrix.
This is just 'values' part of CRS matrix. 'col' and 'ptr' arrays are borrowed from the system matrix.
Définition à la ligne 190 du fichier Coarsening.h.
Référencé par plain_aggregates().
|
static |
Définition à la ligne 178 du fichier Coarsening.h.