Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::FaceUniqueIdBuilder

Construction of ghost layers. Plus de détails...

#include <arcane/mesh/FaceUniqueIdBuilder.h>

Graphe d'héritage de Arcane::mesh::FaceUniqueIdBuilder:
Graphe de collaboration de Arcane::mesh::FaceUniqueIdBuilder:

Types publics

using BoundaryInfosMap = HashTableMapT<Int32, SharedArray<Int64>>
using BoundaryInfosMapEnumerator = HashTableMapEnumeratorT<Int32, SharedArray<Int64>>

Fonctions membres publiques

 FaceUniqueIdBuilder (DynamicMeshIncrementalBuilder *mesh_builder)
 Constructs an instance for the mesh.
void computeFacesUniqueIds ()
Fonctions membres publiques hérités de Arcane::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

Fonctions membres privées

void _computeFacesUniqueIdsSequential ()
 Calculates the unique IDs for each face sequentially.
void _computeFacesUniqueIdsParallelV1 ()
 Calculates the unique numbers for each face in parallel.
void _computeFacesUniqueIdsParallelV2 ()
 Calculates the unique IDs for each face in parallel V2.
void _exchangeData (IParallelExchanger *exchanger, BoundaryInfosMap &boundary_infos_to_send)
void _checkNoDuplicate ()
 Checks that there are no duplicate uniqueIds.

Attributs privés

DynamicMeshm_mesh = nullptr
DynamicMeshIncrementalBuilderm_mesh_builder = nullptr

Membres hérités additionnels

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

Description détaillée

Construction of ghost layers.

Définition à la ligne 37 du fichier FaceUniqueIdBuilder.h.

Documentation des définitions de type membres

◆ BoundaryInfosMap

using Arcane::mesh::FaceUniqueIdBuilder::BoundaryInfosMap = HashTableMapT<Int32, SharedArray<Int64>>

Définition à la ligne 42 du fichier FaceUniqueIdBuilder.h.

◆ BoundaryInfosMapEnumerator

using Arcane::mesh::FaceUniqueIdBuilder::BoundaryInfosMapEnumerator = HashTableMapEnumeratorT<Int32, SharedArray<Int64>>

Définition à la ligne 43 du fichier FaceUniqueIdBuilder.h.

Documentation des constructeurs et destructeur

◆ FaceUniqueIdBuilder()

Arcane::mesh::FaceUniqueIdBuilder::FaceUniqueIdBuilder ( DynamicMeshIncrementalBuilder * mesh_builder)
explicit

Constructs an instance for the mesh.

Définition à la ligne 55 du fichier FaceUniqueIdBuilder.cc.

Références Arcane::TraceAccessor::TraceAccessor(), et Arcane::TraceAccessor::traceMng().

Voici le graphe d'appel pour cette fonction :

Documentation des fonctions membres

◆ _checkNoDuplicate()

void Arcane::mesh::FaceUniqueIdBuilder::_checkNoDuplicate ( )
private

Checks that there are no duplicate uniqueIds.

Définition à la ligne 140 du fichier FaceUniqueIdBuilder.cc.

Références ARCANE_FATAL, Arcane::mesh::ItemInternalMap::eachItem(), Arcane::TraceAccessor::info(), Arcane::TraceAccessor::pwarning(), et Arcane::Item::uniqueId().

Voici le graphe d'appel pour cette fonction :

◆ _computeFacesUniqueIdsParallelV1()

void Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1 ( )
private

Calculates the unique numbers for each face in parallel.

In addition to numbering, it determines the owning sub-domain of each face, considering that a face belongs to the same sub-domain as the cell behind it (or to the current sub-domain for a boundary cell).

A faire
optimize the algorithm so as not to have to create an array sized to the total number of cells in the mesh (by proceeding in several steps)
A faire
find a more optimal algorithm for searching for the owner of each face to balance communications.

Définition à la ligne 215 du fichier FaceUniqueIdBuilder.cc.

Références Arcane::Array< DataType >::add(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add(), Arcane::MutableItemBase::addFlags(), Arcane::IParallelMng::allGatherVariable(), ARCANE_FATAL, Arcane::Face::cell(), Arcane::Array< DataType >::clear(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::Array< DataType >::data(), Arcane::TraceAccessor::debug(), Arcane::mesh::ItemInternalMap::eachItem(), Arcane::TraceAccessor::error(), Arcane::Cell::faces(), Arcane::TraceAccessor::fatal(), Arcane::Array< DataType >::fill(), Arcane::mesh::ItemTools::findFaceInNode2(), Arcane::ItemBase::flags(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::hasKey(), Arcane::mesh::ItemInternalMap::hasKey(), Arcane::ItemFlags::II_HasBackCell, Arcane::ItemFlags::II_Shared, Arcane::ItemFlags::II_SubDomainBoundary, Arcane::TraceAccessor::info(), Arcane::Face::isSubDomainBoundary(), Arcane::Item::itemBase(), Arcane::Item::localId(), Arcane::String::localstr(), Arcane::Item::mutableItemBase(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemWithNodes::nodes(), Arcane::Item::null(), Arcane::Item::owner(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::MessagePassing::ReduceSum, Arcane::Array< DataType >::reserve(), Arcane::AbstractArray< T >::size(), Arcane::mesh::ItemInternalMap::tryFind(), Arcane::Item::type(), Arcane::ItemTypeMng::typeFromId(), et Arcane::Item::uniqueId().

Voici le graphe d'appel pour cette fonction :

◆ _computeFacesUniqueIdsParallelV2()

void Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2 ( )
private

Calculates the unique IDs for each face in parallel V2.

Note
This version is used for testing but has never been put into service and is now replaced by ...

Définition à la ligne 683 du fichier FaceUniqueIdBuilder.cc.

Références _exchangeData(), Arcane::Array< DataType >::add(), ARCANE_FATAL, Arcane::Face::backCell(), Arcane::IParallelMng::barrier(), Arcane::Array< DataType >::clear(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::ParallelMngUtils::createExchangerRef(), Arcane::TraceAccessor::debug(), Arcane::mesh::ItemInternalMap::eachItem(), Arcane::Array< DataType >::fill(), Arcane::ITraceMng::flush(), Arcane::Face::frontCell(), Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), Arcane::ISerializer::getInt64(), Arcane::ISerializer::getSpan(), Arcane::TraceAccessor::info(), Arcane::Item::localId(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupAdd(), Arcane::math::max(), Arcane::IItemFamily::maxLocalId(), Arcane::ISerializer::ModeGet, Arcane::Face::nbCell(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::ItemWithNodes::nodes(), Arcane::Item::null(), Arcane::ItemBase::null(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::Array< DataType >::reserve(), Arcane::Array< DataType >::resize(), Arcane::MessagePassing::ISerializeMessage::serializer(), Arcane::ISerializer::setMode(), Arcane::MutableItemBase::setOwner(), Arcane::TraceAccessor::traceMng(), Arcane::mesh::ItemInternalMap::tryFind(), Arcane::Item::type(), Arcane::ItemTypeMng::typeFromId(), et Arcane::Item::uniqueId().

Voici le graphe d'appel pour cette fonction :

◆ _computeFacesUniqueIdsSequential()

void Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsSequential ( )
private

Calculates the unique IDs for each face sequentially.

Voir également
computeFacesUniqueIds()

Définition à la ligne 919 du fichier FaceUniqueIdBuilder.cc.

Références Arcane::mesh::ItemInternalMap::eachItem(), Arcane::Cell::faces(), Arcane::TraceAccessor::info(), et Arcane::Item::uniqueId().

Voici le graphe d'appel pour cette fonction :

◆ _exchangeData()

◆ computeFacesUniqueIds()

void Arcane::mesh::FaceUniqueIdBuilder::computeFacesUniqueIds ( )

Définition à la ligne 66 du fichier FaceUniqueIdBuilder.cc.

Documentation des données membres

◆ m_mesh

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

Définition à la ligne 56 du fichier FaceUniqueIdBuilder.h.

◆ m_mesh_builder

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

Définition à la ligne 57 du fichier FaceUniqueIdBuilder.h.


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