Information to synchronize groups between sub-domains. More...
#include <arcane/mesh/ItemGroupsSynchronize.h>
Public Types | |
| typedef Int32 | IntAggregator |
| Type used for aggregating group communications. | |
Public Member Functions | |
| ItemGroupsSynchronize (IItemFamily *item_family) | |
| Create an instance to synchronize all groups of the family item_family. | |
| ItemGroupsSynchronize (IItemFamily *item_family, ItemGroupCollection groups) | |
| Create an instance to synchronize the groups groups of the family item_family. | |
| void | synchronize () |
| Synchronizes the groups. | |
| Integer | checkSynchronize () |
| Checks if the groups are synchronized. | |
| 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 |
Public Attributes | |
| IItemFamily * | m_item_family |
| ItemVariableScalarRefT< IntAggregator > | m_var |
| ItemGroupList | m_groups |
Private Member Functions | |
| void | _setGroups () |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Information to synchronize groups between sub-domains.
Synchronizing a group means that every sub-domain that possesses a entity type sends the group information to the others.
To be able to use this class, it is necessary to ensure that the synchronization information is up to date (IParallelMng::computeSynchronizeInfos()).
After creating an instance, it is enough to call the method synchronize() to synchronize the group. For example, to synchronize the face groups:
Definition at line 59 of file ItemGroupsSynchronize.h.
Type used for aggregating group communications.
Definition at line 90 of file ItemGroupsSynchronize.h.
| Arcane::mesh::ItemGroupsSynchronize::ItemGroupsSynchronize | ( | IItemFamily * | item_family | ) |
Create an instance to synchronize all groups of the family item_family.
Definition at line 36 of file ItemGroupsSynchronize.cc.
References Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().
| Arcane::mesh::ItemGroupsSynchronize::ItemGroupsSynchronize | ( | IItemFamily * | item_family, |
| ItemGroupCollection | groups ) |
Create an instance to synchronize the groups groups of the family item_family.
Definition at line 50 of file ItemGroupsSynchronize.cc.
References Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().
| Arcane::mesh::ItemGroupsSynchronize::~ItemGroupsSynchronize | ( | ) |
Definition at line 64 of file ItemGroupsSynchronize.cc.
|
private |
Definition at line 72 of file ItemGroupsSynchronize.cc.
| Integer Arcane::mesh::ItemGroupsSynchronize::checkSynchronize | ( | ) |
Checks if the groups are synchronized.
| the | number of unsynchronized entities. |
Definition at line 180 of file ItemGroupsSynchronize.cc.
References ENUMERATE_ITEM, and Arcane::TraceAccessor::error().
Referenced by Arcane::mesh::DynamicMeshChecker::checkItemGroupsSynchronization().
| void Arcane::mesh::ItemGroupsSynchronize::synchronize | ( | ) |
Synchronizes the groups.
Definition at line 87 of file ItemGroupsSynchronize.cc.
References Arcane::Array< T >::add(), Arcane::ItemGroup::addItems(), Arcane::mesh::CommonItemGroupFilterer::applyFiltering(), Arcane::arcaneIsCheck(), Arcane::Array< T >::clear(), Arcane::TraceAccessor::debug(), ENUMERATE_ITEM, Arcane::ItemGroupImpl::hasInfoObserver(), Arcane::ItemGroup::internal(), Arcane::math::min(), Arcane::ItemGroup::name(), Arcane::ItemGroup::removeItems(), Arcane::Array< T >::reserve(), Arcane::ItemGroup::setItems(), Arcane::AbstractArray< T >::size(), and Arcane::ItemGroup::size().
| ItemGroupList Arcane::mesh::ItemGroupsSynchronize::m_groups |
Definition at line 92 of file ItemGroupsSynchronize.h.
| IItemFamily* Arcane::mesh::ItemGroupsSynchronize::m_item_family |
Definition at line 89 of file ItemGroupsSynchronize.h.
| ItemVariableScalarRefT<IntAggregator> Arcane::mesh::ItemGroupsSynchronize::m_var |
Definition at line 91 of file ItemGroupsSynchronize.h.