Arcane  v3.14.10.0
Documentation développeur
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.
 
ARCCORE_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.
 
ARCCORE_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.
 
ARCCORE_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)
 Usage interne à Arcane. Calcul les entités internes et externes. Suppose que init() a été appelé.
 
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)
 

Types privés

using Int8 = std::int8_t
 
using ItemDirectionInfo = impl::CartesianItemDirectionInfo
 

Fonctions membres privées

DirCell _cell (Int32 local_id) const
 Maille direction correspondant à la maille de numéro local local_id.
 
ARCCORE_HOST_DEVICE DirCellLocalId _dirCellId (Int32 local_id) const
 Maille direction correspondant à la maille de numéro local local_id.
 
void setNodesIndirection (ConstArrayView< Int8 > nodes_indirection)
 

Attributs privés

friend CartesianMeshImpl
 
friend CartesianMeshPatch
 
SmallSpan< ItemDirectionInfom_infos_view
 
CellInfoListView m_cells
 
eMeshDirection m_direction
 
Int32 m_next_face_index
 
Int32 m_previous_face_index
 
Int8 m_nodes_indirection [MAX_NB_NODE]
 
Implm_p = nullptr
 
IndexedCellNodeConnectivityView m_cell_node_view
 
IndexedCellFaceConnectivityView m_cell_face_view
 

Attributs privés statiques

static const int MAX_NB_NODE = 8
 

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:

ENUMERATE_CELL(icell,cdm.allCells()){
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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
@ MD_DirX
Direction X.

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

Documentation des définitions de type membres

◆ Int8

using Arcane::CellDirectionMng::Int8 = std::int8_t
private

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

◆ ItemDirectionInfo

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

◆ _cell()

DirCell Arcane::CellDirectionMng::_cell ( Int32  local_id) const
inlineprivate

Maille direction correspondant à la maille de numéro local local_id.

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

Références Arcane::impl::CartesianItemDirectionInfo::m_next_lid, et Arcane::impl::CartesianItemDirectionInfo::m_previous_lid.

◆ _dirCellId()

ARCCORE_HOST_DEVICE DirCellLocalId Arcane::CellDirectionMng::_dirCellId ( Int32  local_id) const
inlineprivate

Maille direction correspondant à la maille de numéro local local_id.

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

Références Arcane::impl::CartesianItemDirectionInfo::m_next_lid, et Arcane::impl::CartesianItemDirectionInfo::m_previous_lid.

◆ _internalComputeInnerAndOuterItems()

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

Usage interne à Arcane. Calcul les entités internes et externes. Suppose que init() a été appelé.

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

Références Arcane::IItemFamily::createGroup(), ENUMERATE_ITEM, Arcane::ItemGroup::itemFamily(), et Arcane::ICartesianMesh::mesh().

◆ _internalDestroy()

void Arcane::CellDirectionMng::_internalDestroy ( )
protected

Détruit les ressources associées à l'instance.

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

◆ _internalInit()

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

Initialise l'instance.

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

Références ARCANE_FATAL.

◆ _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.

◆ _internalSetLocalFaceIndex()

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

Positionne les indices locaux de la face vers la maille d'après et d'avant.

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.

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

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

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

ARCCORE_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.

◆ 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.

◆ 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.

◆ setNodesIndirection()

void Arcane::CellDirectionMng::setNodesIndirection ( ConstArrayView< Int8 >  nodes_indirection)
private

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

◆ 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.

Documentation des données membres

◆ CartesianMeshImpl

friend Arcane::CellDirectionMng::CartesianMeshImpl
private

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

◆ CartesianMeshPatch

friend Arcane::CellDirectionMng::CartesianMeshPatch
private

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

◆ m_cell_face_view

IndexedCellFaceConnectivityView Arcane::CellDirectionMng::m_cell_face_view
private

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

◆ m_cell_node_view

IndexedCellNodeConnectivityView Arcane::CellDirectionMng::m_cell_node_view
private

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

◆ m_cells

CellInfoListView Arcane::CellDirectionMng::m_cells
private

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

◆ m_direction

eMeshDirection Arcane::CellDirectionMng::m_direction
private

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

◆ m_infos_view

SmallSpan<ItemDirectionInfo> Arcane::CellDirectionMng::m_infos_view
private

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

◆ m_next_face_index

Int32 Arcane::CellDirectionMng::m_next_face_index
private

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

◆ m_nodes_indirection

Int8 Arcane::CellDirectionMng::m_nodes_indirection[MAX_NB_NODE]
private

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

◆ m_p

Impl* Arcane::CellDirectionMng::m_p = nullptr
private

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

◆ m_previous_face_index

Int32 Arcane::CellDirectionMng::m_previous_face_index
private

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

◆ MAX_NB_NODE

const int Arcane::CellDirectionMng::MAX_NB_NODE = 8
staticprivate

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


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