Classe permettant de définir la position d'un patch dans le maillage cartésien. Plus de détails...
#include <arcane/cartesianmesh/AMRPatchPosition.h>
Graphe de collaboration de Arcane::AMRPatchPosition:Fonctions membres publiques | |
| AMRPatchPosition () | |
| Constructeur pour une position nulle. Une position nulle est définie par un level = -2. | |
| AMRPatchPosition (const AMRPatchPosition &src) | |
| Constructeur de copie. | |
| AMRPatchPosition & | operator= (const AMRPatchPosition &)=default |
| Integer | level () const |
| Méthode permettant de récupérer le niveau du patch. | |
| void | setLevel (Integer level) |
| Méthode permettant de définir le niveau du patch. | |
| Int64x3 | minPoint () const |
| Méthode permettant de récupérer la position min de la boite englobante. | |
| void | setMinPoint (Int64x3 min_point) |
| Méthode permettant de définir la position min de la boite englobante. | |
| Int64x3 | maxPoint () const |
| Méthode permettant de récupérer la position max de la boite englobante. | |
| void | setMaxPoint (Int64x3 max_point) |
| Méthode permettant de définir la position max de la boite englobante. | |
| Integer | overlapLayerSize () const |
| Méthode permettant de récupérer le nombre de couches de mailles de recouvrement du patch. | |
| void | setOverlapLayerSize (Integer layer_size) |
| Méthode permettant de définir le nombre de couches de mailles de recouvrement du patch. | |
| Int64x3 | minPointWithOverlap () const |
| Méthode permettant de récupérer la position min de la boite englobante en incluant la couche de mailles de recouvrement. | |
| Int64x3 | maxPointWithOverlap () const |
| Méthode permettant de récupérer la position max de la boite englobante en incluant la couche de mailles de recouvrement. | |
| Int64 | nbCells () const |
| Méthode permettant de connaitre le nombre de mailles du patch selon sa position. | |
| std::pair< AMRPatchPosition, AMRPatchPosition > | cut (Int64 cut_point, Integer dim) const |
| Méthode permettant de découper le patch en deux patchs selon un point de découpe. | |
| bool | canBeFusion (const AMRPatchPosition &other_patch) const |
| Méthode permettant de savoir si notre patch peut être fusionné avec other_patch. | |
| bool | fusion (const AMRPatchPosition &other_patch) |
| Méthode permettant de fusionner other_patch avec le nôtre. | |
| bool | isNull () const |
| Méthode permettant de savoir si la position du patch est nulle. | |
| AMRPatchPosition | patchUp (Integer dim) const |
| Méthode permettant de créer un AMRPatchPosition pour le niveau supérieur. | |
| AMRPatchPosition | patchDown (Integer dim) const |
| Méthode permettant de créer un AMRPatchPosition pour le niveau inférieur. | |
| Int64x3 | length () const |
| Méthode permettant de connaitre la taille du patch (en nombre de mailles par direction). | |
| bool | isIn (Int64 x, Int64 y, Int64 z) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch. | |
| bool | isInWithOverlap (Int64 x, Int64 y, Int64 z) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement. | |
| bool | isInWithOverlap (Int64 x, Int64 y, Int64 z, Integer overlap) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement fourni en paramètre. | |
| bool | haveIntersection (const AMRPatchPosition &other) const |
| Méthode permettant de savoir si notre patch est en contact avec le patch other. | |
Attributs privés | |
| Integer | m_level |
| Int64x3 | m_min_point |
| Int64x3 | m_max_point |
| Integer | m_overlap_layer_size |
Classe permettant de définir la position d'un patch dans le maillage cartésien.
La position d'un patch est désigné par la position de deux mailles dans la grille. La position "min" et la position "max" forment une boite englobante.
Les positions des mailles peuvent être obtenues par le CartesianMeshNumberingMng.
Définition à la ligne 50 du fichier AMRPatchPosition.h.
| Arcane::AMRPatchPosition::AMRPatchPosition | ( | ) |
Constructeur pour une position nulle. Une position nulle est définie par un level = -2.
Définition à la ligne 31 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), cut(), fusion(), haveIntersection(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| Arcane::AMRPatchPosition::AMRPatchPosition | ( | const AMRPatchPosition & | src | ) |
Constructeur de copie.
| src | La position à copier. |
Définition à la ligne 41 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), level(), maxPoint(), minPoint(), et overlapLayerSize().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::canBeFusion | ( | const AMRPatchPosition & | other_patch | ) | const |
Méthode permettant de savoir si notre patch peut être fusionné avec other_patch.
| other_patch | Le patch à verifier. |
Définition à la ligne 190 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), level(), maxPoint(), et minPoint().
Référencé par fusion().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| std::pair< AMRPatchPosition, AMRPatchPosition > Arcane::AMRPatchPosition::cut | ( | Int64 | cut_point, |
| Integer | dim ) const |
Méthode permettant de découper le patch en deux patchs selon un point de découpe.
| cut_point | Le point de découpe. |
| dim | La dimension qui doit être découpée. |
Définition à la ligne 159 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), Arcane::MD_DirX, Arcane::MD_DirY, setMaxPoint(), et setMinPoint().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::fusion | ( | const AMRPatchPosition & | other_patch | ) |
Méthode permettant de fusionner other_patch avec le nôtre.
Une vérification de possibilité de fusion (via canBeFusion()) est réalisée avant de fusionner. Si la fusion est impossible, on retourne false. Sinon, on fusionne et on retourne true.
| other_patch | Le patch avec lequel fusionner. |
Définition à la ligne 212 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), canBeFusion(), maxPoint(), et minPoint().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::haveIntersection | ( | const AMRPatchPosition & | other | ) | const |
Méthode permettant de savoir si notre patch est en contact avec le patch other.
| other | Le patch à verifier. |
Définition à la ligne 336 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), maxPoint(), et minPoint().
Voici le graphe d'appel pour cette fonction :Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch.
Pour inclure la couche de recouvrement, utiliser la méthode isInWithOverlap().
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
Définition à la ligne 305 du fichier AMRPatchPosition.cc.
Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement.
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
Définition à la ligne 314 du fichier AMRPatchPosition.cc.
Références maxPointWithOverlap(), et minPointWithOverlap().
Voici le graphe d'appel pour cette fonction :Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement fourni en paramètre.
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
| overlap | Le nombre de mailles de recouvrement de la couche. |
Définition à la ligne 325 du fichier AMRPatchPosition.cc.
| bool Arcane::AMRPatchPosition::isNull | ( | ) | const |
Méthode permettant de savoir si la position du patch est nulle.
Définition à la ligne 249 du fichier AMRPatchPosition.cc.
| Int64x3 Arcane::AMRPatchPosition::length | ( | ) | const |
Méthode permettant de connaitre la taille du patch (en nombre de mailles par direction).
Définition à la ligne 296 du fichier AMRPatchPosition.cc.
| Integer Arcane::AMRPatchPosition::level | ( | ) | const |
Méthode permettant de récupérer le niveau du patch.
Définition à la ligne 60 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), et setLevel().
Voici le graphe des appelants de cette fonction :| Int64x3 Arcane::AMRPatchPosition::maxPoint | ( | ) | const |
Méthode permettant de récupérer la position max de la boite englobante.
Définition à la ligne 96 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), fusion(), et haveIntersection().
Voici le graphe des appelants de cette fonction :| Int64x3 Arcane::AMRPatchPosition::maxPointWithOverlap | ( | ) | const |
Méthode permettant de récupérer la position max de la boite englobante en incluant la couche de mailles de recouvrement.
Définition à la ligne 141 du fichier AMRPatchPosition.cc.
Référencé par isInWithOverlap().
Voici le graphe des appelants de cette fonction :| Int64x3 Arcane::AMRPatchPosition::minPoint | ( | ) | const |
Méthode permettant de récupérer la position min de la boite englobante.
Définition à la ligne 78 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), fusion(), et haveIntersection().
Voici le graphe des appelants de cette fonction :| Int64x3 Arcane::AMRPatchPosition::minPointWithOverlap | ( | ) | const |
Méthode permettant de récupérer la position min de la boite englobante en incluant la couche de mailles de recouvrement.
Définition à la ligne 132 du fichier AMRPatchPosition.cc.
Référencé par isInWithOverlap().
Voici le graphe des appelants de cette fonction :| Int64 Arcane::AMRPatchPosition::nbCells | ( | ) | const |
Méthode permettant de connaitre le nombre de mailles du patch selon sa position.
Définition à la ligne 150 du fichier AMRPatchPosition.cc.
| Integer Arcane::AMRPatchPosition::overlapLayerSize | ( | ) | const |
Méthode permettant de récupérer le nombre de couches de mailles de recouvrement du patch.
Définition à la ligne 114 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition().
Voici le graphe des appelants de cette fonction :| AMRPatchPosition Arcane::AMRPatchPosition::patchDown | ( | Integer | dim | ) | const |
Méthode permettant de créer un AMRPatchPosition pour le niveau inférieur.
Si la position min n'est pas divisible par deux, on arrondit à l'entier inférieur.
Si la position max n'est pas divisible par deux, on arrondit à l'entier supérieur.
Pour la couche de recouvrement, cette méthode s'assure que l'on n'aura jamais plus d'un niveau de différence entre deux mailles de niveaux différents.
| dim | La dimension du maillage. |
Définition à la ligne 277 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), setLevel(), setMaxPoint(), setMinPoint(), et setOverlapLayerSize().
Voici le graphe d'appel pour cette fonction :| AMRPatchPosition Arcane::AMRPatchPosition::patchUp | ( | Integer | dim | ) | const |
Méthode permettant de créer un AMRPatchPosition pour le niveau supérieur.
| dim | La dimension du maillage. |
Définition à la ligne 258 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), setLevel(), setMaxPoint(), setMinPoint(), et setOverlapLayerSize().
Voici le graphe d'appel pour cette fonction :| void Arcane::AMRPatchPosition::setLevel | ( | Integer | level | ) |
Méthode permettant de définir le niveau du patch.
| level | Le niveau du patch. |
Définition à la ligne 69 du fichier AMRPatchPosition.cc.
Références level().
Référencé par patchDown(), et patchUp().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setMaxPoint | ( | Int64x3 | max_point | ) |
Méthode permettant de définir la position max de la boite englobante.
| max_point | la position max. |
Définition à la ligne 105 du fichier AMRPatchPosition.cc.
Référencé par cut(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setMinPoint | ( | Int64x3 | min_point | ) |
Méthode permettant de définir la position min de la boite englobante.
| min_point | la position min. |
Définition à la ligne 87 du fichier AMRPatchPosition.cc.
Référencé par cut(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setOverlapLayerSize | ( | Integer | layer_size | ) |
Méthode permettant de définir le nombre de couches de mailles de recouvrement du patch.
| layer_size | le nombre de couches de mailles de recouvrement |
Définition à la ligne 123 du fichier AMRPatchPosition.cc.
Référencé par patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :
|
private |
Définition à la ligne 286 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 288 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 287 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 289 du fichier AMRPatchPosition.h.