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

Public Types

typedef HashTableMapT< ItemUniqueId, NodeInfoNodeInfoList
typedef HashTableMapT< ItemUniqueId, FaceInfoFaceInfoMap
typedef HashTableMapT< ItemUniqueId, FaceInfo2FaceInfoMap2
typedef HashTableMapEnumeratorT< ItemUniqueId, NodeInfoNodeInfoListEnumerator
typedef HashTableMapEnumeratorT< ItemUniqueId, FaceInfo2FaceInfo2MapEnumerator
typedef std::unordered_set< Int64ItemUidSet
typedef std::unordered_map< Int64, ItemItemMap
typedef std::pair< Int64, ItemItemMapValue

Public Member Functions

 ParallelAMRConsistency (IMesh *mesh)
 AMR.
void init ()
void invalidate ()
bool isUpdated () const
void update ()
void makeNewItemsConsistent (NodeMapCoordToUid &node_finder, FaceMapCoordToUid &face_finder)
 Determines the faces to send to neighbors.
void makeNewItemsConsistent2 (MapCoordToUid &node_finder, MapCoordToUid &face_finder)
 Determines the faces to send to neighbors.
void changeOwners (Int64UniqueArray linked_cells, Int32UniqueArray linked_owers)
void changeOwnersOld ()
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

bool _isInsideFace (const FaceInfo &face, Real3 point)
void _gatherFaces (ConstArrayView< ItemUniqueId > faces_to_send, ConstArrayView< ItemUniqueId > nodes_to_send, FaceInfoMap &face_map, MapCoordToUid &node_finder, MapCoordToUid &face_finder, ItemUidSet &updated_face_uids, ItemUidSet &updated_node_uids)
void _update (Array< ItemUniqueId > &nodes_unique_id, NodeInfoList const &nodes_info)
void _gatherItems (ConstArrayView< ItemUniqueId > nodes_to_send, ConstArrayView< ItemUniqueId > faces_to_send, NodeInfoList &node_map, FaceInfoMap2 &face_map, MapCoordToUid &node_finder, MapCoordToUid &face_finder)
void _gatherAllNodesInfo ()
void _printFaces (std::ostream &o, FaceInfoMap &face_map)
void _addFaceToList (Face face, FaceInfoMap &face_map)
void _addFaceToList2 (Face face, FaceInfoMap2 &face_map)
void _addNodeToList (Node node, NodeInfoList &node_map)
bool _hasSharedNodes (Face face)

Private Attributes

IMeshm_mesh
VariableNodeReal3 m_nodes_coord
FaceInfoMng m_face_info_mng
NodeInfoList m_nodes_info
NodeInfoList m_active_nodes
FaceInfoMap m_active_faces
FaceInfoMap2 m_active_faces2
String m_active_face_name
FaceGroup m_active_face_group
bool m_is_updated
UniqueArray< Int64m_shared_face_uids
UniqueArray< Int64m_connected_shared_face_uids

Additional Inherited Members

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

Detailed Description

Definition at line 263 of file ParallelAMRConsistency.h.

Member Typedef Documentation

◆ FaceInfo2MapEnumerator

typedef HashTableMapEnumeratorT<ItemUniqueId, FaceInfo2> Arcane::mesh::ParallelAMRConsistency::FaceInfo2MapEnumerator

Definition at line 272 of file ParallelAMRConsistency.h.

◆ FaceInfoMap

typedef HashTableMapT<ItemUniqueId, FaceInfo> Arcane::mesh::ParallelAMRConsistency::FaceInfoMap

Definition at line 269 of file ParallelAMRConsistency.h.

◆ FaceInfoMap2

typedef HashTableMapT<ItemUniqueId, FaceInfo2> Arcane::mesh::ParallelAMRConsistency::FaceInfoMap2

Definition at line 270 of file ParallelAMRConsistency.h.

◆ ItemMap

typedef std::unordered_map<Int64, Item> Arcane::mesh::ParallelAMRConsistency::ItemMap

Definition at line 275 of file ParallelAMRConsistency.h.

◆ ItemMapValue

typedef std::pair<Int64, Item> Arcane::mesh::ParallelAMRConsistency::ItemMapValue

Definition at line 276 of file ParallelAMRConsistency.h.

◆ ItemUidSet

typedef std::unordered_set<Int64> Arcane::mesh::ParallelAMRConsistency::ItemUidSet

Definition at line 274 of file ParallelAMRConsistency.h.

◆ NodeInfoList

typedef HashTableMapT<ItemUniqueId, NodeInfo> Arcane::mesh::ParallelAMRConsistency::NodeInfoList

Definition at line 268 of file ParallelAMRConsistency.h.

◆ NodeInfoListEnumerator

typedef HashTableMapEnumeratorT<ItemUniqueId, NodeInfo> Arcane::mesh::ParallelAMRConsistency::NodeInfoListEnumerator

Definition at line 271 of file ParallelAMRConsistency.h.

Constructor & Destructor Documentation

◆ ParallelAMRConsistency()

Arcane::mesh::ParallelAMRConsistency::ParallelAMRConsistency ( IMesh * mesh)

AMR.

Definition at line 67 of file ParallelAMRConsistency.cc.

References Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().

Here is the call graph for this function:

Member Function Documentation

◆ _addFaceToList()

void Arcane::mesh::ParallelAMRConsistency::_addFaceToList ( Face face,
FaceInfoMap & face_map )
private

Definition at line 124 of file ParallelAMRConsistency.cc.

◆ _addFaceToList2()

void Arcane::mesh::ParallelAMRConsistency::_addFaceToList2 ( Face face,
FaceInfoMap2 & face_map )
private

Definition at line 543 of file ParallelAMRConsistency.cc.

◆ _addNodeToList()

void Arcane::mesh::ParallelAMRConsistency::_addNodeToList ( Node node,
NodeInfoList & node_map )
private

Definition at line 527 of file ParallelAMRConsistency.cc.

◆ _gatherFaces()

void Arcane::mesh::ParallelAMRConsistency::_gatherFaces ( ConstArrayView< ItemUniqueId > faces_to_send,
ConstArrayView< ItemUniqueId > nodes_to_send,
FaceInfoMap & face_map,
MapCoordToUid & node_finder,
MapCoordToUid & face_finder,
ItemUidSet & updated_face_uids,
ItemUidSet & updated_node_uids )
private
Warning
This method should not be called sequentially.

Sends unique ID faces to all sub-domains faces_to_send from the list face_map and receives those from all other sub-domains.

Definition at line 356 of file ParallelAMRConsistency.cc.

References Arcane::Array< T >::add(), Arcane::IParallelMng::allGather(), Arcane::BasicSerializer::allocateBuffer(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::TraceAccessor::debug(), Arcane::TraceAccessor::error(), Arcane::BasicSerializer::getArray(), Arcane::BasicSerializer::getInteger(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::hasKey(), Arcane::TraceAccessor::info(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::BasicSerializer::putArray(), Arcane::BasicSerializer::putInteger(), Arcane::Array< T >::reserve(), Arcane::BasicSerializer::reserveArray(), Arcane::BasicSerializer::setMode(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::Real3POD::x, Arcane::Real3POD::y, and Arcane::Real3POD::z.

Referenced by makeNewItemsConsistent().

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

◆ _gatherItems()

void Arcane::mesh::ParallelAMRConsistency::_gatherItems ( ConstArrayView< ItemUniqueId > nodes_to_send,
ConstArrayView< ItemUniqueId > faces_to_send,
NodeInfoList & node_map,
FaceInfoMap2 & face_map,
MapCoordToUid & node_finder,
MapCoordToUid & face_finder )
private
Warning
This method should not be called sequentially.

Sends unique ID faces to all sub-domains faces_to_send from the face_map list and receives those from all other sub-domains.

Definition at line 689 of file ParallelAMRConsistency.cc.

References Arcane::Array< T >::add(), Arcane::IParallelMng::allGather(), Arcane::BasicSerializer::allocateBuffer(), Arcane::IParallelMng::barrier(), Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::TraceAccessor::error(), Arcane::BasicSerializer::getArray(), Arcane::BasicSerializer::getInteger(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::hasKey(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::BasicSerializer::putArray(), Arcane::BasicSerializer::putInteger(), Arcane::Array< T >::reserve(), Arcane::BasicSerializer::reserveArray(), Arcane::BasicSerializer::setMode(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::Real3POD::x, Arcane::Real3POD::y, and Arcane::Real3POD::z.

Referenced by makeNewItemsConsistent2().

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

◆ _hasSharedNodes()

bool Arcane::mesh::ParallelAMRConsistency::_hasSharedNodes ( Face face)
private

Definition at line 147 of file ParallelAMRConsistency.cc.

◆ _update()

void Arcane::mesh::ParallelAMRConsistency::_update ( Array< ItemUniqueId > & nodes_unique_id,
NodeInfoList const & nodes_info )
private

Definition at line 511 of file ParallelAMRConsistency.cc.

◆ init()

void Arcane::mesh::ParallelAMRConsistency::init ( )

Definition at line 84 of file ParallelAMRConsistency.cc.

◆ isUpdated()

bool Arcane::mesh::ParallelAMRConsistency::isUpdated ( ) const
inline

Definition at line 303 of file ParallelAMRConsistency.h.

◆ makeNewItemsConsistent()

◆ makeNewItemsConsistent2()

void Arcane::mesh::ParallelAMRConsistency::makeNewItemsConsistent2 ( MapCoordToUid & node_finder,
MapCoordToUid & face_finder )

◆ update()

void Arcane::mesh::ParallelAMRConsistency::update ( )
inline

Definition at line 307 of file ParallelAMRConsistency.h.

Member Data Documentation

◆ m_active_face_group

FaceGroup Arcane::mesh::ParallelAMRConsistency::m_active_face_group
private

Definition at line 333 of file ParallelAMRConsistency.h.

◆ m_active_face_name

String Arcane::mesh::ParallelAMRConsistency::m_active_face_name
private

Definition at line 332 of file ParallelAMRConsistency.h.

◆ m_active_faces

FaceInfoMap Arcane::mesh::ParallelAMRConsistency::m_active_faces
private

Definition at line 330 of file ParallelAMRConsistency.h.

◆ m_active_faces2

FaceInfoMap2 Arcane::mesh::ParallelAMRConsistency::m_active_faces2
private

Definition at line 331 of file ParallelAMRConsistency.h.

◆ m_active_nodes

NodeInfoList Arcane::mesh::ParallelAMRConsistency::m_active_nodes
private

Definition at line 329 of file ParallelAMRConsistency.h.

◆ m_connected_shared_face_uids

UniqueArray<Int64> Arcane::mesh::ParallelAMRConsistency::m_connected_shared_face_uids
private

Definition at line 337 of file ParallelAMRConsistency.h.

◆ m_face_info_mng

FaceInfoMng Arcane::mesh::ParallelAMRConsistency::m_face_info_mng
private

Definition at line 327 of file ParallelAMRConsistency.h.

◆ m_is_updated

bool Arcane::mesh::ParallelAMRConsistency::m_is_updated
private

Definition at line 335 of file ParallelAMRConsistency.h.

◆ m_mesh

IMesh* Arcane::mesh::ParallelAMRConsistency::m_mesh
private

Definition at line 325 of file ParallelAMRConsistency.h.

◆ m_nodes_coord

VariableNodeReal3 Arcane::mesh::ParallelAMRConsistency::m_nodes_coord
private

Definition at line 326 of file ParallelAMRConsistency.h.

◆ m_nodes_info

NodeInfoList Arcane::mesh::ParallelAMRConsistency::m_nodes_info
private

Definition at line 328 of file ParallelAMRConsistency.h.

◆ m_shared_face_uids

UniqueArray<Int64> Arcane::mesh::ParallelAMRConsistency::m_shared_face_uids
private

Definition at line 336 of file ParallelAMRConsistency.h.


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