Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::Parallel3EdgeUniqueIdBuilder
+ Graphe d'héritage de Arcane::mesh::Parallel3EdgeUniqueIdBuilder:
+ Graphe de collaboration de Arcane::mesh::Parallel3EdgeUniqueIdBuilder:

Fonctions membres publiques

 Parallel3EdgeUniqueIdBuilder (ITraceMng *tm, DynamicMeshIncrementalBuilder *mesh_builder, Int64 max_node_uid)
 
void compute ()
 Calcule les numéros uniques de chaque edge en parallèle.
 
- Fonctions membres publiques hérités de Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 

Types privés

using BoundaryInfosMap = std::unordered_map< Int32, SharedArray< Int64 > >
 

Fonctions membres privées

void _exchangeData (IParallelExchanger *exchanger)
 
void _addEdgeBoundaryInfo (Edge edge)
 
void _computeEdgesUniqueId ()
 
void _sendInfosToOtherRanks ()
 

Attributs privés

DynamicMeshm_mesh = nullptr
 
DynamicMeshIncrementalBuilderm_mesh_builder = nullptr
 
IParallelMngm_parallel_mng = nullptr
 
const Int32 m_my_rank = A_NULL_RANK
 
const Int32 m_nb_rank = A_NULL_RANK
 
BoundaryInfosMap m_boundary_infos_to_send
 
NodeUidToSubDomain m_uid_to_subdomain_converter
 
std::unordered_map< Int64, SharedArray< Int64 > > m_nodes_info
 
UniqueArray< boolm_is_boundary_nodes
 
bool m_is_verbose = false
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Définition à la ligne 186 du fichier EdgeUniqueIdBuilder.cc.

Documentation des définitions de type membres

◆ BoundaryInfosMap

using Arcane::mesh::Parallel3EdgeUniqueIdBuilder::BoundaryInfosMap = std::unordered_map<Int32, SharedArray<Int64> >
private

Définition à la ligne 189 du fichier EdgeUniqueIdBuilder.cc.

Documentation des constructeurs et destructeur

◆ Parallel3EdgeUniqueIdBuilder()

Arcane::mesh::Parallel3EdgeUniqueIdBuilder::Parallel3EdgeUniqueIdBuilder ( ITraceMng tm,
DynamicMeshIncrementalBuilder mesh_builder,
Int64  max_node_uid 
)

Définition à la ligne 224 du fichier EdgeUniqueIdBuilder.cc.

Documentation des fonctions membres

◆ _addEdgeBoundaryInfo()

void Arcane::mesh::Parallel3EdgeUniqueIdBuilder::_addEdgeBoundaryInfo ( Edge  edge)
private

Définition à la ligne 274 du fichier EdgeUniqueIdBuilder.cc.

◆ _computeEdgesUniqueId()

void Arcane::mesh::Parallel3EdgeUniqueIdBuilder::_computeEdgesUniqueId ( )
private

Définition à la ligne 409 du fichier EdgeUniqueIdBuilder.cc.

◆ _exchangeData()

◆ _sendInfosToOtherRanks()

void Arcane::mesh::Parallel3EdgeUniqueIdBuilder::_sendInfosToOtherRanks ( )
private

Définition à la ligne 533 du fichier EdgeUniqueIdBuilder.cc.

◆ compute()

void Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute ( )

Calcule les numéros uniques de chaque edge en parallèle.

NEW VERSION.

NOTE: GG Juin 2022 Il semble que cette version ne fonctionne pas toujours lorsqu'elle est appelée est que le maillage est déjà découpé. Cela est du au fait que l'algorithme si-dessus est recopié sur celui qui calcule les uniqueId() des faces (dans FaceUniqueIdBuilder). Cependant, l'algorithme de calcul des faces suppose qu'une face frontière n'existe que dans une seule partie (un seul rang) ce qui n'est pas le cas pour les arêtes. On se retrouve alors avec des sous-domaines qui n'ont pas leurs arêtes renumérotées.

Définition à la ligne 317 du fichier EdgeUniqueIdBuilder.cc.

Références Arcane::IParallelMng::barrier(), Arccore::ITraceMng::flush(), Arccore::TraceAccessor::info(), Arcane::Face::nbCell(), Arcane::mesh::DynamicMesh::nodeFamily(), Arcane::ItemWithNodes::nodeIds(), Arcane::mesh::DynamicMesh::parallelMng(), Arccore::Array< T >::resize(), Arccore::TraceAccessor::traceMng(), et Arcane::Item::uniqueId().

Documentation des données membres

◆ m_boundary_infos_to_send

BoundaryInfosMap Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_boundary_infos_to_send
private

Définition à la ligne 207 du fichier EdgeUniqueIdBuilder.cc.

◆ m_is_boundary_nodes

UniqueArray<bool> Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_is_boundary_nodes
private

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

◆ m_is_verbose

bool Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_is_verbose = false
private

Définition à la ligne 211 du fichier EdgeUniqueIdBuilder.cc.

◆ m_mesh

DynamicMesh* Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_mesh = nullptr
private

Définition à la ligne 202 du fichier EdgeUniqueIdBuilder.cc.

◆ m_mesh_builder

DynamicMeshIncrementalBuilder* Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_mesh_builder = nullptr
private

Définition à la ligne 203 du fichier EdgeUniqueIdBuilder.cc.

◆ m_my_rank

const Int32 Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_my_rank = A_NULL_RANK
private

Définition à la ligne 205 du fichier EdgeUniqueIdBuilder.cc.

◆ m_nb_rank

const Int32 Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_nb_rank = A_NULL_RANK
private

Définition à la ligne 206 du fichier EdgeUniqueIdBuilder.cc.

◆ m_nodes_info

std::unordered_map<Int64, SharedArray<Int64> > Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_nodes_info
private

Définition à la ligne 209 du fichier EdgeUniqueIdBuilder.cc.

◆ m_parallel_mng

IParallelMng* Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_parallel_mng = nullptr
private

Définition à la ligne 204 du fichier EdgeUniqueIdBuilder.cc.

◆ m_uid_to_subdomain_converter

NodeUidToSubDomain Arcane::mesh::Parallel3EdgeUniqueIdBuilder::m_uid_to_subdomain_converter
private

Définition à la ligne 208 du fichier EdgeUniqueIdBuilder.cc.


La documentation de cette classe a été générée à partir du fichier suivant :