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

Echangeur entre sous-domaines les interfaces liées. Plus de détails...

#include <arcane/mesh/TiedInterfaceExchanger.h>

+ Graphe d'héritage de Arcane::TiedInterfaceExchanger:
+ Graphe de collaboration de Arcane::TiedInterfaceExchanger:

Classes

class  DeserializedInfo
 
class  OneSubDomainInfo
 

Fonctions membres publiques

 TiedInterfaceExchanger (DynamicMesh *mesh)
 
void initialize () override
 Initialise l'instance avant le début des échanges.
 
void notifyAction (const NotifyActionArgs &) override
 Notifie l'instance qu'on entre dans une certaine phase de l'échange.
 
void serialize (const ItemFamilySerializeArgs &args) override
 Sérialise les faces dans le tampon buf.
 
void finalize () override
 Effectue les traitements de fin d'échange.
 
IItemFamilyfamily () const override
 Famille associée.
 
ePhase phase () const override
 Phase de la sérialisation où cette instance intervient.
 
- 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

typedef std::map< Int32, OneSubDomainInfo * > SubDomainInfoMap
 

Fonctions membres privées

OneSubDomainInfo_getInfo (Int32 rank)
 

Attributs privés

DynamicMesh * m_mesh
 
ISubDomainm_sub_domain
 
DeserializedInfom_deserialized_info
 
Int32 m_my_rank
 
SubDomainInfoMap m_infos
 

Membres hérités additionnels

- Types publics hérités de Arcane::IItemFamilySerializeStep
enum  ePhase { PH_Item , PH_Group , PH_Variable }
 Phase de la sérialisation. Plus de détails...
 
enum class  eAction { AC_BeginPrepareSend , AC_EndPrepareSend , AC_BeginReceive , AC_EndReceive }
 Action en cours de la sérialisation. Plus de détails...
 
- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Echangeur entre sous-domaines les interfaces liées.

Une instance de cette classe gère l'échange des informations sur les interfaces liées (ITiedInterface) lors d'un échange d'entités entre sous-domaines.

Cette classe est utilisée via ItemsExchangeInfo2.

Une instance n'est valide que pour un échange et est ensuite détruite.

L'ordre d'appel est le suivant:

  1. computeExchangeInfos() qui calcule les infos à sérialiser.
  2. serialize() en écriture pour chaque rang à envoyer
  3. serialize() en lecture pour chaque rang reçu
  4. rebuildTiedInterfaces() pour reconstruire les interfaces.

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

Documentation des définitions de type membres

◆ SubDomainInfoMap

typedef std::map<Int32,OneSubDomainInfo*> Arcane::TiedInterfaceExchanger::SubDomainInfoMap
private

Définition à la ligne 93 du fichier TiedInterfaceExchanger.h.

Documentation des constructeurs et destructeur

◆ TiedInterfaceExchanger()

Arcane::TiedInterfaceExchanger::TiedInterfaceExchanger ( DynamicMesh *  mesh)

Définition à la ligne 241 du fichier TiedInterfaceExchanger.cc.

◆ ~TiedInterfaceExchanger()

Arcane::TiedInterfaceExchanger::~TiedInterfaceExchanger ( )

Définition à la ligne 254 du fichier TiedInterfaceExchanger.cc.

Documentation des fonctions membres

◆ _getInfo()

TiedInterfaceExchanger::OneSubDomainInfo * Arcane::TiedInterfaceExchanger::_getInfo ( Int32  rank)
inlineprivate

Définition à la ligne 265 du fichier TiedInterfaceExchanger.cc.

◆ family()

IItemFamily * Arcane::TiedInterfaceExchanger::family ( ) const
overridevirtual

Famille associée.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 406 du fichier TiedInterfaceExchanger.cc.

◆ finalize()

void Arcane::TiedInterfaceExchanger::finalize ( )
overridevirtual

Effectue les traitements de fin d'échange.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 355 du fichier TiedInterfaceExchanger.cc.

Références Arcane::TiedInterfaceExchanger::DeserializedInfo::buildAfterDeserializeInfo(), ENUMERATE_FACE, et Arcane::Item::uniqueId().

◆ initialize()

void Arcane::TiedInterfaceExchanger::initialize ( )
overridevirtual

Initialise l'instance avant le début des échanges.

Implémente Arcane::IItemFamilySerializeStep.

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

Références ENUMERATE_FACE.

◆ notifyAction()

void Arcane::TiedInterfaceExchanger::notifyAction ( const NotifyActionArgs args)
inlineoverridevirtual

Notifie l'instance qu'on entre dans une certaine phase de l'échange.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 81 du fichier TiedInterfaceExchanger.h.

◆ phase()

ePhase Arcane::TiedInterfaceExchanger::phase ( ) const
inlineoverridevirtual

Phase de la sérialisation où cette instance intervient.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 85 du fichier TiedInterfaceExchanger.h.

◆ serialize()

void Arcane::TiedInterfaceExchanger::serialize ( const ItemFamilySerializeArgs args)
overridevirtual

Sérialise les faces dans le tampon buf.

Les faces sont créés en même temps que les mailles. Cette sérialisation n'a donc pas besoin de les créer. On se contente donc de gérer uniquement les données concernant les interfaces liées. Il faut faire bien attention de n'envoyer que les faces qui vont appartenir au sous-domaine de destination et pas les faces fantômes

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 332 du fichier TiedInterfaceExchanger.cc.

Références Arcane::TiedInterfaceExchanger::DeserializedInfo::buildAfterDeserializeInfo(), Arccore::ISerializer::mode(), Arccore::ISerializer::ModeGet, Arccore::ISerializer::ModePut, Arcane::ItemFamilySerializeArgs::rank(), et Arcane::ItemFamilySerializeArgs::serializer().

Documentation des données membres

◆ m_deserialized_info

DeserializedInfo* Arcane::TiedInterfaceExchanger::m_deserialized_info
private

Définition à la ligne 91 du fichier TiedInterfaceExchanger.h.

◆ m_infos

SubDomainInfoMap Arcane::TiedInterfaceExchanger::m_infos
private

Définition à la ligne 94 du fichier TiedInterfaceExchanger.h.

◆ m_mesh

DynamicMesh* Arcane::TiedInterfaceExchanger::m_mesh
private

Définition à la ligne 89 du fichier TiedInterfaceExchanger.h.

◆ m_my_rank

Int32 Arcane::TiedInterfaceExchanger::m_my_rank
private

Définition à la ligne 92 du fichier TiedInterfaceExchanger.h.

◆ m_sub_domain

ISubDomain* Arcane::TiedInterfaceExchanger::m_sub_domain
private

Définition à la ligne 90 du fichier TiedInterfaceExchanger.h.


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