Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ItemConnectivitySynchronizer Class Reference
Inheritance diagram for Arcane::ItemConnectivitySynchronizer:
Collaboration diagram for Arcane::ItemConnectivitySynchronizer:

Public Member Functions

 ItemConnectivitySynchronizer (IItemConnectivity *connectivity, IItemConnectivityGhostPolicy *ghost_policy)
void synchronize ()
 Interface IConnectivitySynchronizer.
IItemConnectivitygetConnectivity ()
void computeExtraItemsToSend ()
 Interface IExtraGhostItemsBuilder.
IntegerConstArrayView extraItemsToSend (Integer sid) const
 Local indices of "extraordinary" items for sending Retrieves the array of "extraordinary" items destined for subdomain sid.
void serializeGhostItems (ISerializer *buffer, Int32ConstArrayView ghost_item_lids)
 Interface IExtraGhostItemsAdder : add extra ghost in TargetFamily.
void addExtraGhostItems (ISerializer *buffer)
void updateSynchronizationInfo ()
ISubDomainsubDomain ()
IItemFamilyitemFamily ()
Public Member Functions inherited from Arcane::IItemConnectivitySynchronizer
virtual ~IItemConnectivitySynchronizer ()=default
Public Member Functions inherited from Arcane::IExtraGhostItemsBuilder
virtual ~IExtraGhostItemsBuilder ()=default

Private Member Functions

void _removeDuplicatedValues (Int64SharedArray &shared_item_uids, IntegerSharedArray &owners)
void _getItemToSend (Int32SharedArray &shared_items, Int32SharedArray &shared_items_connected_items, const Integer rank)

Private Attributes

IItemConnectivitym_connectivity
IItemConnectivityGhostPolicym_ghost_policy
IParallelMngm_parallel_mng
SharedArray< Int32SharedArraym_data_to_send
SharedArray< std::set< Int64 > > m_added_ghost

Additional Inherited Members

Public Types inherited from Arcane::mesh::IExtraGhostItemsAdder
typedef Arcane::Int32ArrayView SubDomainItems

Detailed Description

Definition at line 37 of file ItemConnectivitySynchronizer.h.

Constructor & Destructor Documentation

◆ ItemConnectivitySynchronizer()

Arcane::ItemConnectivitySynchronizer::ItemConnectivitySynchronizer ( IItemConnectivity * connectivity,
IItemConnectivityGhostPolicy * ghost_policy )

Constructor of the class

Definition at line 28 of file ItemConnectivitySynchronizer.cc.

Member Function Documentation

◆ _getItemToSend()

void Arcane::ItemConnectivitySynchronizer::_getItemToSend ( Int32SharedArray & shared_items,
Int32SharedArray & shared_items_connected_items,
const Integer rank )
private

Definition at line 150 of file ItemConnectivitySynchronizer.cc.

◆ _removeDuplicatedValues()

void Arcane::ItemConnectivitySynchronizer::_removeDuplicatedValues ( Int64SharedArray & shared_item_uids,
IntegerSharedArray & owners )
private

Definition at line 187 of file ItemConnectivitySynchronizer.cc.

◆ addExtraGhostItems()

void Arcane::ItemConnectivitySynchronizer::addExtraGhostItems ( ISerializer * buffer)
virtual

◆ computeExtraItemsToSend()

void Arcane::ItemConnectivitySynchronizer::computeExtraItemsToSend ( )
virtual

Interface IExtraGhostItemsBuilder.

Implements Arcane::IExtraGhostItemsBuilder.

Definition at line 50 of file ItemConnectivitySynchronizer.cc.

References Arcane::Array< T >::add(), Arcane::Array< T >::addRange(), Arcane::AbstractArray< T >::size(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

◆ extraItemsToSend()

IntegerConstArrayView Arcane::ItemConnectivitySynchronizer::extraItemsToSend ( Integer sid) const
inlinevirtual

Local indices of "extraordinary" items for sending Retrieves the array of "extraordinary" items destined for subdomain sid.

Implements Arcane::IExtraGhostItemsBuilder.

Definition at line 66 of file ItemConnectivitySynchronizer.h.

◆ getConnectivity()

IItemConnectivity * Arcane::ItemConnectivitySynchronizer::getConnectivity ( )
inlinevirtual

◆ itemFamily()

IItemFamily * Arcane::ItemConnectivitySynchronizer::itemFamily ( )
inlinevirtual

◆ serializeGhostItems()

void Arcane::ItemConnectivitySynchronizer::serializeGhostItems ( ISerializer * buffer,
Int32ConstArrayView ghost_item_lids )
virtual

Interface IExtraGhostItemsAdder : add extra ghost in TargetFamily.

Implements Arcane::mesh::IExtraGhostItemsAdder.

Definition at line 74 of file ItemConnectivitySynchronizer.cc.

References Arcane::ISerializer::allocateBuffer(), ENUMERATE_ITEM, Arcane::ISerializer::ModePut, Arcane::ISerializer::putInt64(), Arcane::ISerializer::putSpan(), Arcane::ISerializer::reserveInt64(), Arcane::ISerializer::reserveSpan(), Arcane::ISerializer::setMode(), and Arcane::ConstArrayView< T >::subConstView().

Here is the call graph for this function:

◆ subDomain()

ISubDomain * Arcane::ItemConnectivitySynchronizer::subDomain ( )
virtual

◆ synchronize()

void Arcane::ItemConnectivitySynchronizer::synchronize ( )
virtual

Interface IConnectivitySynchronizer.

Adds the ghost items defined by IItemConnectivityGhostPolicy. The uids of the added ghost items are preserved. On a second call, the already added ghosts are not added a second time.

Implements Arcane::IItemConnectivitySynchronizer.

Definition at line 41 of file ItemConnectivitySynchronizer.cc.

◆ updateSynchronizationInfo()

void Arcane::ItemConnectivitySynchronizer::updateSynchronizationInfo ( )
inlinevirtual

Member Data Documentation

◆ m_added_ghost

SharedArray<std::set<Int64> > Arcane::ItemConnectivitySynchronizer::m_added_ghost
private

Definition at line 84 of file ItemConnectivitySynchronizer.h.

◆ m_connectivity

IItemConnectivity* Arcane::ItemConnectivitySynchronizer::m_connectivity
private

Definition at line 80 of file ItemConnectivitySynchronizer.h.

◆ m_data_to_send

SharedArray<Int32SharedArray> Arcane::ItemConnectivitySynchronizer::m_data_to_send
private

Definition at line 83 of file ItemConnectivitySynchronizer.h.

◆ m_ghost_policy

IItemConnectivityGhostPolicy* Arcane::ItemConnectivitySynchronizer::m_ghost_policy
private

Definition at line 81 of file ItemConnectivitySynchronizer.h.

◆ m_parallel_mng

IParallelMng* Arcane::ItemConnectivitySynchronizer::m_parallel_mng
private

Definition at line 82 of file ItemConnectivitySynchronizer.h.


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