Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::IGridMeshPartitionerabstract

Interface d'un partitionneur de maillage sur une grille. Plus de détails...

#include <arcane/core/IGridMeshPartitioner.h>

+ Graphe d'héritage de Arcane::IGridMeshPartitioner:
+ Graphe de collaboration de Arcane::IGridMeshPartitioner:

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 IPrimaryMeshprimaryMesh ()=0
 Maillage associé
 
virtual void notifyEndPartition ()=0
 Notification lors de la fin d'un repartionnement (après échange des entités)
 

Description détaillée

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.


| 0,2 | 1,2 |2,2| 3,2 |

| 0,1 | 1,1 |2,1| 3,1 |

| 0,0 | 1,0 |2,0| 3,0 |

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.

Documentation des fonctions membres

◆ applyMeshPartitioning()

virtual void Arcane::IGridMeshPartitioner::applyMeshPartitioning ( IMesh mesh)
pure virtual

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

◆ setBoundingBox()

virtual void Arcane::IGridMeshPartitioner::setBoundingBox ( Real3  min_val,
Real3  max_val 
)
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().

◆ setPartIndex()

virtual void Arcane::IGridMeshPartitioner::setPartIndex ( Int32  i,
Int32  j,
Int32  k 
)
pure virtual

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


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