Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::ItemGroupsSynchronize Class Reference

Information to synchronize groups between sub-domains. More...

#include <arcane/mesh/ItemGroupsSynchronize.h>

Inheritance diagram for Arcane::mesh::ItemGroupsSynchronize:
Collaboration diagram for Arcane::mesh::ItemGroupsSynchronize:

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.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () 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

IItemFamilym_item_family
ItemVariableScalarRefT< IntAggregatorm_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

Detailed Description

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:

ItemGroupsSynchronize igs(m_mesh->faceFamily());
igs.synchronize();
ItemGroupsSynchronize(IItemFamily *item_family)
Create an instance to synchronize all groups of the family item_family.

Definition at line 59 of file ItemGroupsSynchronize.h.

Member Typedef Documentation

◆ IntAggregator

Type used for aggregating group communications.

Definition at line 90 of file ItemGroupsSynchronize.h.

Constructor & Destructor Documentation

◆ ItemGroupsSynchronize() [1/2]

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().

Here is the call graph for this function:

◆ ItemGroupsSynchronize() [2/2]

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().

Here is the call graph for this function:

◆ ~ItemGroupsSynchronize()

Arcane::mesh::ItemGroupsSynchronize::~ItemGroupsSynchronize ( )

Definition at line 64 of file ItemGroupsSynchronize.cc.

Member Function Documentation

◆ _setGroups()

void Arcane::mesh::ItemGroupsSynchronize::_setGroups ( )
private

Definition at line 72 of file ItemGroupsSynchronize.cc.

◆ checkSynchronize()

Integer Arcane::mesh::ItemGroupsSynchronize::checkSynchronize ( )

Checks if the groups are synchronized.

Return values
thenumber of unsynchronized entities.

Definition at line 180 of file ItemGroupsSynchronize.cc.

References ENUMERATE_ITEM, and Arcane::TraceAccessor::error().

Referenced by Arcane::mesh::DynamicMeshChecker::checkItemGroupsSynchronization().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ synchronize()

Member Data Documentation

◆ m_groups

ItemGroupList Arcane::mesh::ItemGroupsSynchronize::m_groups

Definition at line 92 of file ItemGroupsSynchronize.h.

◆ m_item_family

IItemFamily* Arcane::mesh::ItemGroupsSynchronize::m_item_family

Definition at line 89 of file ItemGroupsSynchronize.h.

◆ m_var

ItemVariableScalarRefT<IntAggregator> Arcane::mesh::ItemGroupsSynchronize::m_var

Definition at line 91 of file ItemGroupsSynchronize.h.


The documentation for this class was generated from the following files: