Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::CellDirectionMng

Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré. Plus de détails...

#include <arcane/cartesianmesh/CellDirectionMng.h>

+ Graphe de collaboration de Arcane::CellDirectionMng:

Classes

class  Impl
 

Fonctions membres publiques

 CellDirectionMng ()
 Créé une instance vide.
 
DirCell cell (Cell c) const
 Maille direction correspondant à la maille c.
 
DirCell cell (CellLocalId c) const
 Maille direction correspondant à la maille c.
 
DirCell dirCell (CellLocalId c) const
 Maille direction correspondant à la maille c.
 
__host__ __device__ DirCellLocalId dirCellId (CellLocalId c) const
 Maille direction correspondant à la maille c.
 
DirCellNode cellNode (Cell c) const
 Maille avec infos directionnelles aux noeuds correspondant à la maille c.
 
DirCellNode cellNode (CellLocalId c) const
 Maille avec infos directionnelles aux noeuds correspondant à la maille c.
 
DirCellNode dirCellNode (CellLocalId c) const
 Maille avec infos directionnelles aux noeuds correspondant à la maille c.
 
__host__ __device__ DirCellNodeLocalId dirCellNodeId (CellLocalId c) const
 Maille avec infos directionnelles aux noeuds correspondant à la maille c.
 
DirCellFace cellFace (Cell c) const
 Maille avec infos directionnelles aux faces correspondant à la maille c.
 
DirCellFace cellFace (CellLocalId c) const
 Maille avec infos directionnelles aux faces correspondant à la maille c.
 
__host__ __device__ DirCellFaceLocalId dirCellFaceId (CellLocalId c) const
 Maille avec infos directionnelles aux faces correspondant à la maille c.
 
CellGroup allCells () const
 Groupe de toutes les mailles dans la direction.
 
CellGroup innerCells () const
 Groupe de toutes les mailles internes dans la direction.
 
CellGroup outerCells () const
 Groupe de toutes les mailles externes dans la direction.
 
DirCell operator[] (Cell c) const
 Maille direction correspondant à la maille c.
 
DirCell operator[] (CellLocalId c) const
 Maille direction correspondant à la maille c.
 
DirCell operator[] (CellEnumerator icell) const
 Maille direction correspondant à l'itérateur de la maille icell.
 
Int64 globalNbCell () const
 Nombre global de mailles dans cette direction.
 
Int32 ownNbCell () const
 Nombre de mailles propres dans cette direction.
 
Int32 subDomainOffset () const
 Offset dans cette direction du sous-domaine.
 
Int64 ownCellOffset () const
 Offset dans cette direction de la première maille propre de ce sous-domaine.
 
eMeshDirection direction () const
 Valeur de la direction.
 

Fonctions membres protégées

void _internalComputeInnerAndOuterItems (const ItemGroup &items)
 
void _internalInit (ICartesianMesh *cm, eMeshDirection dir, Integer patch_index)
 
void _internalDestroy ()
 
void _internalSetLocalFaceIndex (Int32 next_index, Int32 previous_index)
 
void _internalResizeInfos (Int32 new_size)
 Redimensionne le conteneur contenant les ItemDirectionInfo.
 
void _internalSetOffsetAndNbCellInfos (Int64 global_nb_cell, Int32 own_nb_cell, Int32 sub_domain_offset, Int64 own_cell_offset)
 

Description détaillée

Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré.

Cette classe contient les informations pour retourner la liste des mailles dans une direction donnée et pour ces mailles connaitre la maille avant et après dans cette direction.

Les instances de cette classe sont gérées par un ICartesianMesh et sont temporaires. Il ne faut pas les conserver d'une itération à l'autre car elles sont invalidées si le maillage change.

Cette classe à une sémantique par référence.

Par exemple, pour itérer sur les mailles de la direction X:

ICartesianMesh* cartesian_mesh = ...;
CellDirectionMng cdm(cartesian_mesh->cellDirection(MD_DirX));
ENUMERATE_CELL(icell,cdm.allCells()){
DirCell dir_cell(cdm[icell]);
Cell next = dir_cell.next();
Cell prev = dir_cell.previous();
}
#define ENUMERATE_CELL(name, group)
Enumérateur générique d'un groupe de mailles.
Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré.
Maille d'un maillage.
Definition Item.h:1178
Maille avant et après une maille suivant une direction.
Interface d'un maillage cartésien.
virtual CellDirectionMng cellDirection(eMeshDirection dir)=0
Liste des mailles dans la direction dir.
@ MD_DirX
Direction X.

Définition à la ligne 361 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

Documentation des constructeurs et destructeur

◆ CellDirectionMng()

Arcane::CellDirectionMng::CellDirectionMng ( )

Créé une instance vide.

L'instance n'est pas valide tant que _internalInit() n'a pas été appelé.

Définition à la ligne 59 du fichier CellDirectionMng.cc.

Documentation des fonctions membres

◆ _internalComputeInnerAndOuterItems()

void Arcane::CellDirectionMng::_internalComputeInnerAndOuterItems ( const ItemGroup items)
protected

Définition à la ligne 106 du fichier CellDirectionMng.cc.

◆ _internalDestroy()

void Arcane::CellDirectionMng::_internalDestroy ( )
protected

Définition à la ligne 86 du fichier CellDirectionMng.cc.

◆ _internalInit()

void Arcane::CellDirectionMng::_internalInit ( ICartesianMesh cm,
eMeshDirection  dir,
Integer  patch_index 
)
protected

Définition à la ligne 72 du fichier CellDirectionMng.cc.

◆ _internalResizeInfos()

void Arcane::CellDirectionMng::_internalResizeInfos ( Int32  new_size)
protected

Redimensionne le conteneur contenant les ItemDirectionInfo.

Cela invalide les instances courantes de CellDirectionMng.

Définition à la ligne 96 du fichier CellDirectionMng.cc.

Références Arccore::Array< T >::resize(), et Arccore::Array< T >::view().

◆ _internalSetLocalFaceIndex()

void Arcane::CellDirectionMng::_internalSetLocalFaceIndex ( Int32  next_index,
Int32  previous_index 
)
inlineprotected

Définition à la ligne 586 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ _internalSetOffsetAndNbCellInfos()

void Arcane::CellDirectionMng::_internalSetOffsetAndNbCellInfos ( Int64  global_nb_cell,
Int32  own_nb_cell,
Int32  sub_domain_offset,
Int64  own_cell_offset 
)
protected

Définition à la ligne 219 du fichier CellDirectionMng.cc.

◆ allCells()

CellGroup Arcane::CellDirectionMng::allCells ( ) const

Groupe de toutes les mailles dans la direction.

Définition à la ligne 139 du fichier CellDirectionMng.cc.

◆ cell() [1/2]

DirCell Arcane::CellDirectionMng::cell ( Cell  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 385 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

Références Arcane::Item::localId().

◆ cell() [2/2]

DirCell Arcane::CellDirectionMng::cell ( CellLocalId  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 390 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ cellFace() [1/2]

DirCellFace Arcane::CellDirectionMng::cellFace ( Cell  c) const
inline

Maille avec infos directionnelles aux faces correspondant à la maille c.

Définition à la ligne 430 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ cellFace() [2/2]

DirCellFace Arcane::CellDirectionMng::cellFace ( CellLocalId  c) const
inline

Maille avec infos directionnelles aux faces correspondant à la maille c.

Définition à la ligne 435 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ cellNode() [1/2]

DirCellNode Arcane::CellDirectionMng::cellNode ( Cell  c) const
inline

Maille avec infos directionnelles aux noeuds correspondant à la maille c.

Définition à la ligne 406 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ cellNode() [2/2]

DirCellNode Arcane::CellDirectionMng::cellNode ( CellLocalId  c) const
inline

Maille avec infos directionnelles aux noeuds correspondant à la maille c.

Définition à la ligne 412 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ dirCell()

DirCell Arcane::CellDirectionMng::dirCell ( CellLocalId  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 395 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ dirCellFaceId()

__host__ __device__ DirCellFaceLocalId Arcane::CellDirectionMng::dirCellFaceId ( CellLocalId  c) const
inline

Maille avec infos directionnelles aux faces correspondant à la maille c.

Définition à la ligne 441 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ dirCellId()

__host__ __device__ DirCellLocalId Arcane::CellDirectionMng::dirCellId ( CellLocalId  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 400 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ dirCellNode()

DirCellNode Arcane::CellDirectionMng::dirCellNode ( CellLocalId  c) const
inline

Maille avec infos directionnelles aux noeuds correspondant à la maille c.

Définition à la ligne 418 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ dirCellNodeId()

__host__ __device__ DirCellNodeLocalId Arcane::CellDirectionMng::dirCellNodeId ( CellLocalId  c) const
inline

Maille avec infos directionnelles aux noeuds correspondant à la maille c.

Définition à la ligne 424 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ direction()

eMeshDirection Arcane::CellDirectionMng::direction ( ) const
inline

Valeur de la direction.

Définition à la ligne 605 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ globalNbCell()

Int64 Arcane::CellDirectionMng::globalNbCell ( ) const

Nombre global de mailles dans cette direction.

Note
La valeur retournée n'est valide que si le maillage a été créé avec un générateur spécifique, tel le SodMeshGenerator ou le CartesianMeshGenerator. Si ce n'est pas le cas, la valeur retournée vaut (-1)

Définition à la ligne 183 du fichier CellDirectionMng.cc.

Référencé par Arcane::CartesianMeshCoarsening::createCoarseCells().

◆ innerCells()

CellGroup Arcane::CellDirectionMng::innerCells ( ) const

Groupe de toutes les mailles internes dans la direction.

Une maille est considérée comme interne si sa maille avant ou après n'est pas nulle.

Définition à la ligne 148 du fichier CellDirectionMng.cc.

◆ operator[]() [1/3]

DirCell Arcane::CellDirectionMng::operator[] ( Cell  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 466 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

Références Arcane::Item::localId().

◆ operator[]() [2/3]

DirCell Arcane::CellDirectionMng::operator[] ( CellEnumerator  icell) const
inline

Maille direction correspondant à l'itérateur de la maille icell.

Définition à la ligne 478 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ operator[]() [3/3]

DirCell Arcane::CellDirectionMng::operator[] ( CellLocalId  c) const
inline

Maille direction correspondant à la maille c.

Définition à la ligne 472 du fichier src/arcane/cartesianmesh/CellDirectionMng.h.

◆ outerCells()

CellGroup Arcane::CellDirectionMng::outerCells ( ) const

Groupe de toutes les mailles externes dans la direction.

Une maille est considérée comme externe si sa maille avant ou après est nulle.

Définition à la ligne 157 du fichier CellDirectionMng.cc.

◆ ownCellOffset()

Int64 Arcane::CellDirectionMng::ownCellOffset ( ) const

Offset dans cette direction de la première maille propre de ce sous-domaine.

En supposant que le maillage cartésien global est découpé en plusieurs sous-domaines rectangulaires qui forment une grille, cette méthode retourne la position dans cette grille de la première maille propre de ce sous-domaine pour cette direction.

Avertissement
L'utilisation de cette méthode suppose que chaque sous-domaine est parallélépipédique (en 3D) ou rectangulaire (en 2D) ce qui n'est pas forcément le cas, notamment avec des mécanismes d'équilibrage de charge par migration de maille.
Note
La valeur retournée n'est valide que si le maillage a été créé avec un générateur spécifique, tel que le CartesianMeshGenerator. Si ce n'est pas le cas, la valeur retournée vaut (-1)

Définition à la ligne 210 du fichier CellDirectionMng.cc.

◆ ownNbCell()

Int32 Arcane::CellDirectionMng::ownNbCell ( ) const

Nombre de mailles propres dans cette direction.

Note
La valeur retournée n'est valide que si le maillage a été créé avec un générateur spécifique, tel le SodMeshGenerator ou le CartesianMeshGenerator. Si ce n'est pas le cas, la valeur retournée vaut (-1)

Définition à la ligne 192 du fichier CellDirectionMng.cc.

Référencé par Arcane::CartesianMeshCoarsening::createCoarseCells(), et Arcane::CartesianMeshCoarsening2::createCoarseCells().

◆ subDomainOffset()

Int32 Arcane::CellDirectionMng::subDomainOffset ( ) const

Offset dans cette direction du sous-domaine.

En supposant que le maillage cartésien global est découpé en plusieurs sous-domaines rectangulaires qui forment une grille, cette méthode retourne la position dans cette grille de ce sous-domaine pour cette direction.

Avertissement
L'utilisation de cette méthode suppose que chaque sous-domaine est parallélépipédique (en 3D) ou rectangulaire (en 2D) ce qui n'est pas forcément le cas, notamment avec des mécanismes d'équilibrage de charge par migration de maille.
Note
La valeur retournée n'est valide que si le maillage a été créé avec un générateur spécifique, tel que le CartesianMeshGenerator. Si ce n'est pas le cas, la valeur retournée vaut (-1)

Définition à la ligne 201 du fichier CellDirectionMng.cc.


La documentation de cette classe a été générée à partir des fichiers suivants :