Public Member Functions | |
| Parallel3EdgeUniqueIdBuilder (ITraceMng *tm, DynamicMeshIncrementalBuilder *mesh_builder, Int64 max_node_uid) | |
| void | compute () |
| Calculates the unique IDs for every edge in parallel. | |
| 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 Types | |
| using | BoundaryInfosMap = std::unordered_map<Int32, SharedArray<Int64>> |
Private Member Functions | |
| void | _exchangeData (IParallelExchanger *exchanger) |
| void | _addEdgeBoundaryInfo (Edge edge) |
| void | _computeEdgesUniqueId () |
| void | _sendInfosToOtherRanks () |
Private Attributes | |
| DynamicMesh * | m_mesh = nullptr |
| DynamicMeshIncrementalBuilder * | m_mesh_builder = nullptr |
| IParallelMng * | m_parallel_mng = nullptr |
| const Int32 | m_my_rank = A_NULL_RANK |
| const Int32 | m_nb_rank = A_NULL_RANK |
| BoundaryInfosMap | m_boundary_infos_to_send |
| NodeUidToSubDomain | m_uid_to_subdomain_converter |
| std::unordered_map< Int64, SharedArray< Int64 > > | m_nodes_info |
| UniqueArray< bool > | m_is_boundary_nodes |
| bool | m_is_verbose = false |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Definition at line 202 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 205 of file EdgeUniqueIdBuilder.cc.
| Arcane::mesh::Parallel3EdgeUniqueIdBuilder::Parallel3EdgeUniqueIdBuilder | ( | ITraceMng * | tm, |
| DynamicMeshIncrementalBuilder * | mesh_builder, | ||
| Int64 | max_node_uid ) |
Definition at line 240 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 290 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 425 of file EdgeUniqueIdBuilder.cc.
|
private |
//COPY FROM GhostLayerBuilder. Make a unique class.
Definition at line 259 of file EdgeUniqueIdBuilder.cc.
References Arcane::IParallelExchanger::addSender(), Arcane::ISerializer::allocateBuffer(), Arcane::TraceAccessor::debug(), Arcane::MessagePassing::ISerializeMessage::destination(), Arcane::IParallelExchanger::initializeCommunicationsMessages(), Arcane::Int64, Arcane::IParallelExchanger::messageToSend(), Arcane::ISerializer::ModePut, Arcane::IParallelExchanger::nbSender(), Arcane::IParallelExchanger::processExchange(), Arcane::ISerializer::putInt64(), Arcane::ISerializer::putSpan(), Arcane::ISerializer::reserveInt64(), Arcane::ISerializer::reserveSpan(), Arcane::MessagePassing::ISerializeMessage::serializer(), Arcane::ISerializer::setMode(), Arcane::ConstArrayView< T >::size(), and Arcane::MessagePassing::MessageRank::value().
|
private |
Definition at line 549 of file EdgeUniqueIdBuilder.cc.
| void Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute | ( | ) |
Calculates the unique IDs for every edge in parallel.
NEW VERSION.
NOTE: June 22, 2022 It seems that this version does not always work when it is called when the mesh is already cut. This is due to the fact that the algorithm above is copied onto the one that calculates the uniqueId() of faces (in FaceUniqueIdBuilder). However, the face calculation algorithm assumes that a boundary face exists in only one part (one rank) which is not the case for edges. We then end up with sub-domains that do not have their edges renumbered.
Definition at line 333 of file EdgeUniqueIdBuilder.cc.
References Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add(), Arcane::IParallelMng::barrier(), Arcane::mesh::ItemInternalMap::eachItem(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::eachValue(), Arcane::Array< T >::fill(), Arcane::ITraceMng::flush(), Arcane::TraceAccessor::info(), Arcane::IItemFamily::maxLocalId(), Arcane::Face::nbCell(), Arcane::ItemWithNodes::nodeIds(), Arcane::Array< T >::reserve(), Arcane::TraceAccessor::traceMng(), and Arcane::Item::uniqueId().
|
private |
Definition at line 223 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 226 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 227 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 218 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 219 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 221 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 222 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 225 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 220 of file EdgeUniqueIdBuilder.cc.
|
private |
Definition at line 224 of file EdgeUniqueIdBuilder.cc.