Interface d'un partitionneur de maillage sur une grille. Plus de détails...
#include <arcane/core/IGridMeshPartitioner.h>
Fonctions membres publiques | |
virtual void | setBoundingBox (Real3 min_val, Real3 max_val)=0 |
Positionne la bounding box de notre sous-domaine. | |
virtual void | setPartIndex (Int32 i, Int32 j, Int32 k)=0 |
Indice (i,j,k) de la partie. | |
virtual void | applyMeshPartitioning (IMesh *mesh)=0 |
Applique le repartitionnement sur le maillage mesh. | |
Fonctions membres publiques hérités de Arcane::IMeshPartitionerBase | |
virtual | ~IMeshPartitionerBase ()=default |
Libère les ressources. | |
virtual void | partitionMesh (bool initial_partition)=0 |
virtual IPrimaryMesh * | primaryMesh ()=0 |
Maillage associé | |
virtual void | notifyEndPartition ()=0 |
Notification lors de la fin d'un repartionnement (après échange des entités) | |
Interface d'un partitionneur de maillage sur une grille.
Ce partitionneur redistribue le maillage dans une grille 2D ou 3D.
La grille est composée d'un ensemble de partie, chaque partie étant définie par sa boite englobante (les coordonnées des deux points aux extrémités de la grille) et un indice (i,j,k). Les dimensions de chaque partie peuvent être différentes mais elles doivent être conformes: toutes les parties d'indice i identiques doivent avoir la même coordonnée x de boite englobante.
Les instances de cette classe sont à usage unique et ne doivent être utilisées que pour un seul partitionnement. L'utilisateur doit appeler setBoundingBox() et setPartIndex() et ensuite effectuer le partitionnement par l'appel à applyMeshPartitioning().
Définition à la ligne 52 du fichier IGridMeshPartitioner.h.
Applique le repartitionnement sur le maillage mesh.
Les méthodes setPartIndex() et setBoundingBox() doivent avoir été appelées auparavant. Cette méthode ne peut être appelée qu'une seule fois par instance.
Le partitionement utilise un algorithme spécique de calcul des mailles fantômes pour garantir que chaque maille de mesh qui intersecte la partie spécifiée dans setBoundingBox() sera dans ce sous-domaine, éventuellement en tant que maille fantôme.
Implémenté dans Arcane::SimpleGridMeshPartitioner.
Référencé par ArcaneTest::CartesianMeshTesterModule::_testGridPartitioning().
|
pure virtual |
Positionne la bounding box de notre sous-domaine.
Pour que l'algorithme fonctionne, il ne faut pas de recouvrement entre les bounding box des sous-domaines.
Implémenté dans Arcane::SimpleGridMeshPartitioner.
Référencé par ArcaneTest::CartesianMeshTesterModule::_testGridPartitioning().
Indice (i,j,k) de la partie.
Les indices commencent à zéro. En 1D ou 2D, la valeur de k vaut (-1). En 1D, la valeur de j vaut (-1)
Implémenté dans Arcane::SimpleGridMeshPartitioner.
Référencé par ArcaneTest::CartesianMeshTesterModule::_testGridPartitioning().