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

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

#include <arcane/materials/internal/AllCellToAllEnvCellContainer.h>

+ Graphe de collaboration de Arcane::Materials::AllCellToAllEnvCellContainer:

Classes

class  Impl
 

Fonctions membres publiques

 AllCellToAllEnvCellContainer (IMeshMaterialMng *mm)
 
 AllCellToAllEnvCellContainer (const AllCellToAllEnvCellContainer &)=delete
 Copies interdites.
 
AllCellToAllEnvCellContaineroperator= (const AllCellToAllEnvCellContainer &)=delete
 
AllCellToAllEnvCellContaineroperator= (AllCellToAllEnvCellContainer &&)=delete
 
void initialize ()
 Fonction de création alternative. Il faut attendre que les données relatives aux matériaux soient finalisées.
 
Int32 computeMaxNbEnvPerCell () const
 Méthode pour donner le nombre maximal d'environnements présents sur une maille à l'instant t.
 
void bruteForceUpdate ()
 
void reset ()
 
AllCellToAllEnvCell view () const
 

Attributs privés

Implm_p = nullptr
 

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 55 du fichier AllCellToAllEnvCellContainer.h.

Documentation des constructeurs et destructeur

◆ AllCellToAllEnvCellContainer()

Arcane::Materials::AllCellToAllEnvCellContainer::AllCellToAllEnvCellContainer ( IMeshMaterialMng mm)
explicit

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

◆ ~AllCellToAllEnvCellContainer()

Arcane::Materials::AllCellToAllEnvCellContainer::~AllCellToAllEnvCellContainer ( )

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

Documentation des fonctions membres

◆ bruteForceUpdate()

void Arcane::Materials::AllCellToAllEnvCellContainer::bruteForceUpdate ( )

On regarde si le nb max d'env par cell à l'instant t a changé, et si c'est le cas, on force la reconstruction de la table. Est appelé par le forceRecompute du IMeshMaterialMng

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

◆ computeMaxNbEnvPerCell()

Int32 Arcane::Materials::AllCellToAllEnvCellContainer::computeMaxNbEnvPerCell ( ) const

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 252 du fichier AllCellToAllEnvCellConverter.cc.

◆ initialize()

void Arcane::Materials::AllCellToAllEnvCellContainer::initialize ( )

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 261 du fichier AllCellToAllEnvCellConverter.cc.

◆ reset()

void Arcane::Materials::AllCellToAllEnvCellContainer::reset ( )

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

◆ view()

AllCellToAllEnvCell Arcane::Materials::AllCellToAllEnvCellContainer::view ( ) const

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

Documentation des données membres

◆ m_p

Impl* Arcane::Materials::AllCellToAllEnvCellContainer::m_p = nullptr
private

Définition à la ligne 112 du fichier AllCellToAllEnvCellContainer.h.


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