Exchanger between sub-domains of linked interfaces. More...
#include <arcane/mesh/TiedInterfaceExchanger.h>
Classes | |
| class | OneSubDomainInfo |
| class | DeserializedInfo |
Public Member Functions | |
| TiedInterfaceExchanger (DynamicMesh *mesh) | |
| void | initialize () override |
| Initializes the instance before the start of exchanges. | |
| void | notifyAction (const NotifyActionArgs &) override |
| Notifies the instance that we are entering a certain phase of the exchange. | |
| void | serialize (const ItemFamilySerializeArgs &args) override |
| Serializes the faces into the buffer buf. | |
| void | finalize () override |
| Performs end-of-exchange processing. | |
| IItemFamily * | family () const override |
| Associated family. | |
| ePhase | phase () const override |
| Serialization phase where this instance is involved. | |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
Private Types | |
| typedef std::map< Int32, OneSubDomainInfo * > | SubDomainInfoMap |
Private Member Functions | |
| OneSubDomainInfo * | _getInfo (Int32 rank) |
Private Attributes | |
| DynamicMesh * | m_mesh |
| ISubDomain * | m_sub_domain |
| DeserializedInfo * | m_deserialized_info |
| Int32 | m_my_rank |
| SubDomainInfoMap | m_infos |
Additional Inherited Members | |
| Public Types inherited from Arcane::IItemFamilySerializeStep | |
| enum | ePhase { PH_Item , PH_Group , PH_Variable } |
| Serialization phase. More... | |
| enum class | eAction { AC_BeginPrepareSend , AC_EndPrepareSend , AC_BeginReceive , AC_EndReceive } |
| Action during serialization. More... | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Exchanger between sub-domains of linked interfaces.
An instance of this class manages the exchange of information about linked interfaces (ITiedInterface) during an exchange of entities between sub-domains.
This class is used via ItemsExchangeInfo2.
An instance is only valid for one exchange and is then destroyed.
The order of calls is as follows:
Definition at line 66 of file TiedInterfaceExchanger.h.
|
private |
Definition at line 93 of file TiedInterfaceExchanger.h.
| Arcane::mesh::TiedInterfaceExchanger::TiedInterfaceExchanger | ( | DynamicMesh * | mesh | ) |
Definition at line 249 of file TiedInterfaceExchanger.cc.
| Arcane::mesh::TiedInterfaceExchanger::~TiedInterfaceExchanger | ( | ) |
Definition at line 262 of file TiedInterfaceExchanger.cc.
|
inlineprivate |
Definition at line 273 of file TiedInterfaceExchanger.cc.
|
overridevirtual |
Associated family.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 414 of file TiedInterfaceExchanger.cc.
|
overridevirtual |
Performs end-of-exchange processing.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 363 of file TiedInterfaceExchanger.cc.
References Arcane::mesh::FaceFamily::applyTiedInterface(), ENUMERATE_FACE, Arcane::mesh::TiedInterface::masterInterface(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), Arcane::ItemGroup::size(), and Arcane::Item::uniqueId().
|
overridevirtual |
Initializes the instance before the start of exchanges.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 287 of file TiedInterfaceExchanger.cc.
References ENUMERATE_FACE, Arcane::mesh::ItemFamily::itemsNewOwner(), Arcane::mesh::TiedInterface::masterInterface(), Arcane::mesh::FaceFamily::removeTiedInterface(), Arcane::ConstArrayView< T >::size(), Arcane::mesh::TiedInterface::tiedFaces(), and Arcane::mesh::TiedInterface::tiedNodes().
|
inlineoverridevirtual |
Notifies the instance that we are entering a certain phase of the exchange.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 81 of file TiedInterfaceExchanger.h.
|
inlineoverridevirtual |
Serialization phase where this instance is involved.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 85 of file TiedInterfaceExchanger.h.
|
overridevirtual |
Serializes the faces into the buffer buf.
The faces are created at the same time as the cells. This serialization therefore does not need to create them. We only manage the data concerning the tied interfaces. It is important to be careful to only send the faces that will belong to the destination sub-domain and not the ghost faces.
Implements Arcane::IItemFamilySerializeStep.
Definition at line 340 of file TiedInterfaceExchanger.cc.
References Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ItemFamilySerializeArgs::rank(), and Arcane::ItemFamilySerializeArgs::serializer().
|
private |
Definition at line 91 of file TiedInterfaceExchanger.h.
|
private |
Definition at line 94 of file TiedInterfaceExchanger.h.
|
private |
Definition at line 89 of file TiedInterfaceExchanger.h.
|
private |
Definition at line 92 of file TiedInterfaceExchanger.h.
|
private |
Definition at line 90 of file TiedInterfaceExchanger.h.