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

Implementation of the owner calculation algorithm. More...

Inheritance diagram for Arcane::mesh::ItemsOwnerBuilderImpl:
Collaboration diagram for Arcane::mesh::ItemsOwnerBuilderImpl:

Classes

class  ItemOwnerInfo
 Information about a shared entity. More...
class  ItemOwnerInfoSortTraits

Public Member Functions

 ItemsOwnerBuilderImpl (IMesh *mesh)
void computeFacesOwner ()
void computeEdgesOwner ()
void computeNodesOwner ()
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

Private Member Functions

void _sortInfos ()
 Sorts the instances contained in m_items_owner_info and replaces the sorted values in this same array.
void _processSortedInfos (ItemInternalMap &items_map)

Private Attributes

DynamicMeshm_mesh = nullptr
Int32 m_verbose_level = 0
UniqueArray< ItemOwnerInfom_items_owner_info
bool m_use_cell_uid_to_sort = true
 Indicates how to perform the sort.

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Implementation of the owner calculation algorithm.

Definition at line 68 of file ItemsOwnerBuilder.cc.

Constructor & Destructor Documentation

◆ ItemsOwnerBuilderImpl()

Arcane::mesh::ItemsOwnerBuilderImpl::ItemsOwnerBuilderImpl ( IMesh * mesh)
explicit

Definition at line 225 of file ItemsOwnerBuilder.cc.

Member Function Documentation

◆ _processSortedInfos()

void Arcane::mesh::ItemsOwnerBuilderImpl::_processSortedInfos ( ItemInternalMap & items_map)
private

Definition at line 467 of file ItemsOwnerBuilder.cc.

◆ _sortInfos()

void Arcane::mesh::ItemsOwnerBuilderImpl::_sortInfos ( )
private

Sorts the instances contained in m_items_owner_info and replaces the sorted values in this same array.

Definition at line 444 of file ItemsOwnerBuilder.cc.

References Arcane::platform::getRealTime(), Arcane::TraceAccessor::info(), Arcane::Parallel::BitonicSort< KeyType, KeyTypeTraits >::keys(), m_use_cell_uid_to_sort, and Arcane::Parallel::BitonicSort< KeyType, KeyTypeTraits >::sort().

Here is the call graph for this function:

◆ computeEdgesOwner()

void Arcane::mesh::ItemsOwnerBuilderImpl::computeEdgesOwner ( )

Definition at line 296 of file ItemsOwnerBuilder.cc.

◆ computeFacesOwner()

void Arcane::mesh::ItemsOwnerBuilderImpl::computeFacesOwner ( )

Definition at line 244 of file ItemsOwnerBuilder.cc.

◆ computeNodesOwner()

void Arcane::mesh::ItemsOwnerBuilderImpl::computeNodesOwner ( )

Definition at line 358 of file ItemsOwnerBuilder.cc.

Member Data Documentation

◆ m_items_owner_info

UniqueArray<ItemOwnerInfo> Arcane::mesh::ItemsOwnerBuilderImpl::m_items_owner_info
private

Definition at line 121 of file ItemsOwnerBuilder.cc.

◆ m_mesh

DynamicMesh* Arcane::mesh::ItemsOwnerBuilderImpl::m_mesh = nullptr
private

Definition at line 119 of file ItemsOwnerBuilder.cc.

◆ m_use_cell_uid_to_sort

bool Arcane::mesh::ItemsOwnerBuilderImpl::m_use_cell_uid_to_sort = true
private

Indicates how to perform the sort.

If true, the cell with the smallest uniqueId() is used for sorting. Otherwise, it is the smallest rank. This will be used to determine who will be the owner of an entity.

Definition at line 129 of file ItemsOwnerBuilder.cc.

Referenced by _sortInfos().

◆ m_verbose_level

Int32 Arcane::mesh::ItemsOwnerBuilderImpl::m_verbose_level = 0
private

Definition at line 120 of file ItemsOwnerBuilder.cc.


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