Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la structure Arcane::Alina::plain_aggregates

Plain aggregation. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/Coarsening.h>

+ 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
 

Description détaillée

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.

Documentation des constructeurs et destructeur

◆ plain_aggregates()

template<class Matrix>
Arcane::Alina::plain_aggregates::plain_aggregates ( const Matrix & A,
const params & prm )
inline

Constructs aggregates for a given matrix.

Paramètres
AThe system matrix.
prmAggregation 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 :

Documentation des données membres

◆ count

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().

◆ id

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().

◆ removed

const ptrdiff_t Arcane::Alina::plain_aggregates::removed = -2
static

Définition à la ligne 179 du fichier Coarsening.h.

◆ strong_connection

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().

◆ undefined

const ptrdiff_t Arcane::Alina::plain_aggregates::undefined = -1
static

Définition à la ligne 178 du fichier Coarsening.h.


La documentation de cette structure a été générée à partir du fichier suivant :