Construction of ghost layers. More...
#include <arcane/mesh/FaceUniqueIdBuilder.h>
Public Types | |
| using | BoundaryInfosMap = HashTableMapT<Int32, SharedArray<Int64>> |
| using | BoundaryInfosMapEnumerator = HashTableMapEnumeratorT<Int32, SharedArray<Int64>> |
Public Member Functions | |
| FaceUniqueIdBuilder (DynamicMeshIncrementalBuilder *mesh_builder) | |
| Constructs an instance for the mesh. | |
| void | computeFacesUniqueIds () |
| 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 Member Functions | |
| void | _computeFacesUniqueIdsSequential () |
| Calculates the unique IDs for each face sequentially. | |
| void | _computeFacesUniqueIdsParallelV1 () |
| Calculates the unique numbers for each face in parallel. | |
| void | _computeFacesUniqueIdsParallelV2 () |
| Calculates the unique IDs for each face in parallel V2. | |
| void | _exchangeData (IParallelExchanger *exchanger, BoundaryInfosMap &boundary_infos_to_send) |
| void | _checkNoDuplicate () |
| Checks that there are no duplicate uniqueIds. | |
Private Attributes | |
| DynamicMesh * | m_mesh = nullptr |
| DynamicMeshIncrementalBuilder * | m_mesh_builder = nullptr |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Construction of ghost layers.
Definition at line 37 of file FaceUniqueIdBuilder.h.
| using Arcane::mesh::FaceUniqueIdBuilder::BoundaryInfosMap = HashTableMapT<Int32, SharedArray<Int64>> |
Definition at line 42 of file FaceUniqueIdBuilder.h.
| using Arcane::mesh::FaceUniqueIdBuilder::BoundaryInfosMapEnumerator = HashTableMapEnumeratorT<Int32, SharedArray<Int64>> |
Definition at line 43 of file FaceUniqueIdBuilder.h.
|
explicit |
Constructs an instance for the mesh.
Definition at line 55 of file FaceUniqueIdBuilder.cc.
References Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().
|
private |
Checks that there are no duplicate uniqueIds.
Definition at line 140 of file FaceUniqueIdBuilder.cc.
References ARCANE_FATAL, Arcane::mesh::ItemInternalMap::eachItem(), Arcane::TraceAccessor::info(), Arcane::TraceAccessor::pwarning(), and Arcane::Item::uniqueId().
|
private |
Calculates the unique numbers for each face in parallel.
In addition to numbering, it determines the owning sub-domain of each face, considering that a face belongs to the same sub-domain as the cell behind it (or to the current sub-domain for a boundary cell).
Definition at line 215 of file FaceUniqueIdBuilder.cc.
References Arcane::Array< T >::add(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add(), Arcane::MutableItemBase::addFlags(), Arcane::IParallelMng::allGatherVariable(), ARCANE_FATAL, Arcane::Face::cell(), Arcane::Array< T >::clear(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::Array< T >::data(), Arcane::TraceAccessor::debug(), Arcane::mesh::ItemInternalMap::eachItem(), Arcane::TraceAccessor::error(), Arcane::Cell::faces(), Arcane::TraceAccessor::fatal(), Arcane::Array< T >::fill(), Arcane::mesh::ItemTools::findFaceInNode2(), Arcane::ItemBase::flags(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::hasKey(), Arcane::mesh::ItemInternalMap::hasKey(), Arcane::ItemFlags::II_HasBackCell, Arcane::ItemFlags::II_Shared, Arcane::ItemFlags::II_SubDomainBoundary, Arcane::TraceAccessor::info(), Arcane::Face::isSubDomainBoundary(), Arcane::Item::itemBase(), Arcane::Item::localId(), Arcane::String::localstr(), Arcane::Item::mutableItemBase(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemWithNodes::nodes(), Arcane::Item::null(), Arcane::Item::owner(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::MessagePassing::ReduceSum, Arcane::Array< T >::reserve(), Arcane::AbstractArray< T >::size(), Arcane::mesh::ItemInternalMap::tryFind(), Arcane::Item::type(), Arcane::ItemTypeMng::typeFromId(), and Arcane::Item::uniqueId().
|
private |
Calculates the unique IDs for each face in parallel V2.
Definition at line 683 of file FaceUniqueIdBuilder.cc.
References _exchangeData(), Arcane::Array< T >::add(), ARCANE_FATAL, Arcane::Face::backCell(), Arcane::IParallelMng::barrier(), Arcane::Array< T >::clear(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::ParallelMngUtils::createExchangerRef(), Arcane::TraceAccessor::debug(), Arcane::mesh::ItemInternalMap::eachItem(), Arcane::Array< T >::fill(), Arcane::ITraceMng::flush(), Arcane::Face::frontCell(), Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::get(), Arcane::ISerializer::getInt64(), Arcane::ISerializer::getSpan(), Arcane::TraceAccessor::info(), Arcane::Item::localId(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupAdd(), Arcane::math::max(), Arcane::IItemFamily::maxLocalId(), Arcane::ISerializer::ModeGet, Arcane::Face::nbCell(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::node(), Arcane::ItemWithNodes::nodes(), Arcane::Item::null(), Arcane::ItemBase::null(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::Array< T >::reserve(), Arcane::Array< T >::resize(), Arcane::MessagePassing::ISerializeMessage::serializer(), Arcane::ISerializer::setMode(), Arcane::MutableItemBase::setOwner(), Arcane::TraceAccessor::traceMng(), Arcane::mesh::ItemInternalMap::tryFind(), Arcane::Item::type(), Arcane::ItemTypeMng::typeFromId(), and Arcane::Item::uniqueId().
|
private |
Calculates the unique IDs for each face sequentially.
Definition at line 919 of file FaceUniqueIdBuilder.cc.
References Arcane::mesh::ItemInternalMap::eachItem(), Arcane::Cell::faces(), Arcane::TraceAccessor::info(), and Arcane::Item::uniqueId().
|
private |
//COPY FROM GhostLayerBuilder. Make a unique class.
Definition at line 593 of file FaceUniqueIdBuilder.cc.
References Arcane::IParallelExchanger::addSender(), Arcane::ISerializer::allocateBuffer(), Arcane::TraceAccessor::debug(), Arcane::MessagePassing::ISerializeMessage::destination(), Arcane::TraceAccessor::info(), Arcane::IParallelExchanger::initializeCommunicationsMessages(), Arcane::Int64, Arcane::IParallelExchanger::messageToSend(), Arcane::ISerializer::ModePut, Arcane::IParallelExchanger::nbReceiver(), Arcane::IParallelExchanger::nbSender(), Arcane::IParallelExchanger::processExchange(), Arcane::ISerializer::putInt64(), Arcane::ISerializer::putSpan(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceSum, Arcane::ISerializer::reserveInt64(), Arcane::ISerializer::reserveSpan(), Arcane::MessagePassing::ISerializeMessage::serializer(), Arcane::ISerializer::setMode(), Arcane::ConstArrayView< T >::size(), and Arcane::MessagePassing::MessageRank::value().
Referenced by _computeFacesUniqueIdsParallelV2().
| void Arcane::mesh::FaceUniqueIdBuilder::computeFacesUniqueIds | ( | ) |
Definition at line 66 of file FaceUniqueIdBuilder.cc.
|
private |
Definition at line 56 of file FaceUniqueIdBuilder.h.
|
private |
Definition at line 57 of file FaceUniqueIdBuilder.h.