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

Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateur. Plus de détails...

#include <arcane/materials/AllCellToAllEnvCellConverter.h>

+ Graphe de collaboration de Arcane::Materials::AllCellToAllEnvCell:

Classes

class  Impl
 

Fonctions membres publiques

AllCellToAllEnvCelloperator= (const AllCellToAllEnvCell &)=delete
 Copies interdites.
 

Fonctions membres privées

 AllCellToAllEnvCell (IMeshMaterialMng *mm)
 
void initialize ()
 Fonction de création alternative. Il faut attendre que les données relatives aux matériaux soient finalisées.
 
ARCCORE_HOST_DEVICE Span< ComponentItemLocalId > * internal () const
 Méthode d'accès à la table de "connectivité" cell -> all env cells.
 
Int32 maxNbEnvPerCell () const
 Méthode pour donner le nombre maximal d'environnements présents sur une maille à l'instant t.
 
void bruteForceUpdate ()
 
void reset ()
 

Attributs privés

IMeshMaterialMngm_material_mng = nullptr
 
Integer m_size = 0
 
NumArray< Span< ComponentItemLocalId >, MDDim1m_allcell_allenvcell
 
Span< ComponentItemLocalId > * m_allcell_allenvcell_ptr = nullptr
 
NumArray< ComponentItemLocalId, MDDim1m_mem_pool
 
Int32 m_current_max_nb_env = 0
 

Amis

class CellToAllEnvCellAccessor
 
class CellToAllComponentCellEnumerator
 
class MeshMaterialMng
 
class AllEnvData
 

Description détaillée

Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateur.

Classe qui conserve la connectivité de toutes les mailles Cell vers toutes leurs mailles AllEnvCell.

On crée une instance via la méthode create().

Le coût de l'initialisation est cher, il faut allouer la mémoire et remplir les structures. On parcours toutes les mailles et pour chaque maille on fait appel au CellToAllEnvCellConverter.

Une fois l'instance créée, elle doit être mise à jour à chaque fois que la topologie des matériaux/environnements change (ce qui est également cher).

Cette classe est une classe interne et ne doit pas être manipulée directement. Il faut passer par les helpers associés dans le IMeshMaterialMng et la classe CellToAllEnvCellAccessor.

Définition à la ligne 62 du fichier AllCellToAllEnvCellConverter.h.

Documentation des constructeurs et destructeur

◆ AllCellToAllEnvCell()

Arcane::Materials::AllCellToAllEnvCell::AllCellToAllEnvCell ( IMeshMaterialMng mm)
explicitprivate

Définition à la ligne 99 du fichier AllCellToAllEnvCellConverter.cc.

Documentation des fonctions membres

◆ bruteForceUpdate()

void Arcane::Materials::AllCellToAllEnvCell::bruteForceUpdate ( )
private

Définition à la ligne 174 du fichier AllCellToAllEnvCellConverter.cc.

◆ initialize()

void Arcane::Materials::AllCellToAllEnvCell::initialize ( )
private

Fonction de création alternative. Il faut attendre que les données relatives aux matériaux soient finalisées.

La différence réside dans la gestion de la mémoire. Ici, on applique un compromis sur la taille de la table cid -> envcells où la taille du tableau pour ranger les envcells d'une cell est égale à la taille max du nb d'environnement présent à un instant t dans un maille. Celà permet de ne pas faire les allocations mémoire dans la boucle interne et de façon systématique. => Gain de perf à évaluer.

Définition à la ligne 133 du fichier AllCellToAllEnvCellConverter.cc.

Références ENUMERATE_CELL, ENUMERATE_CELL_ENVCELL, et maxNbEnvPerCell().

◆ internal()

ARCCORE_HOST_DEVICE Span< ComponentItemLocalId > * Arcane::Materials::AllCellToAllEnvCell::internal ( ) const
inlineprivate

Méthode d'accès à la table de "connectivité" cell -> all env cells.

Définition à la ligne 100 du fichier AllCellToAllEnvCellConverter.h.

◆ maxNbEnvPerCell()

Int32 Arcane::Materials::AllCellToAllEnvCell::maxNbEnvPerCell ( ) const
private

Méthode pour donner le nombre maximal d'environnements présents sur une maille à l'instant t.

Le fait d'effectuer cette opération à un instant donné, permet d'avoir une valeur max <= au nombre total d'environnement présents dans le jdd (et donc d'économiser un peu de mémoire).

Définition à la ligne 124 du fichier AllCellToAllEnvCellConverter.cc.

Référencé par initialize().

◆ reset()

void Arcane::Materials::AllCellToAllEnvCell::reset ( )
private

Définition à la ligne 108 du fichier AllCellToAllEnvCellConverter.cc.

Documentation des fonctions amies et associées

◆ AllEnvData

Définition à la ligne 67 du fichier AllCellToAllEnvCellConverter.h.

◆ CellToAllComponentCellEnumerator

◆ CellToAllEnvCellAccessor

Définition à la ligne 64 du fichier AllCellToAllEnvCellConverter.h.

◆ MeshMaterialMng

Définition à la ligne 66 du fichier AllCellToAllEnvCellConverter.h.

Documentation des données membres

◆ m_allcell_allenvcell

NumArray<Span<ComponentItemLocalId>, MDDim1> Arcane::Materials::AllCellToAllEnvCell::m_allcell_allenvcell
private

Définition à la ligne 130 du fichier AllCellToAllEnvCellConverter.h.

◆ m_allcell_allenvcell_ptr

Span<ComponentItemLocalId>* Arcane::Materials::AllCellToAllEnvCell::m_allcell_allenvcell_ptr = nullptr
private

Définition à la ligne 131 du fichier AllCellToAllEnvCellConverter.h.

◆ m_current_max_nb_env

Int32 Arcane::Materials::AllCellToAllEnvCell::m_current_max_nb_env = 0
private

Définition à la ligne 133 du fichier AllCellToAllEnvCellConverter.h.

◆ m_material_mng

IMeshMaterialMng* Arcane::Materials::AllCellToAllEnvCell::m_material_mng = nullptr
private

Définition à la ligne 128 du fichier AllCellToAllEnvCellConverter.h.

◆ m_mem_pool

NumArray<ComponentItemLocalId, MDDim1> Arcane::Materials::AllCellToAllEnvCell::m_mem_pool
private

Définition à la ligne 132 du fichier AllCellToAllEnvCellConverter.h.

◆ m_size

Integer Arcane::Materials::AllCellToAllEnvCell::m_size = 0
private

Définition à la ligne 129 du fichier AllCellToAllEnvCellConverter.h.


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