Exchange of mesh entities between subdomains. More...
#include <arcane/mesh/MeshExchange.h>
Classes | |
| class | IncrementalUnorderedMultiArray |
| class | DynamicMultiArray |
Public Member Functions | |
| MeshExchange (IMesh *mesh) | |
| void | computeInfos () |
| Compute the info. | |
| ISubDomain * | subDomain () const |
| IMesh * | mesh () const |
| ConstArrayView< std::set< Int32 > > | getItemsToSend (IItemFamily *family) const |
| List of entities to send by subdomain for the family family. | |
| 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 |
Public Attributes | |
| std::map< IItemFamily *, UniqueArray< std::set< Int32 > > * > | m_items_to_send |
Private Types | |
| using | ItemDestRankArray = DynamicMultiArray<Int32> |
| using | ItemDestRankMap = std::map<IItemFamily*, ItemDestRankArray*> |
| using | ItemDestRankMapArray = UniqueArray<ItemDestRankMap> |
Private Member Functions | |
| void | _computeMeshConnectivityInfos2 (Int32ConstArrayView cells_new_owner) |
| AMR. | |
| void | _addTreeCellToSend (ArrayView< std::set< Int32 > > items_to_send, Int32 local_id, Int32 cell_local_id, CellInfoListView cells) |
| void | _addTreeItemToSend (Int32 cell_local_id, CellInfoListView cells) |
| void | _addItemToSend2 (ArrayView< std::set< Int32 > > items_to_send, Int32 item_local_id, Int32 cell_local_id) |
| void | _familyTree (Int32Array &family, Cell item, const bool reset=true) const |
| void | _computeItemsToSend2 () |
| void | _computeMeshConnectivityInfos (Int32ConstArrayView cells_new_owner) |
| void | _computeGraphConnectivityInfos () |
| void | _exchangeCellDataInfos (Int32ConstArrayView cells_new_owner, bool use_active_cells) |
| void | _computeItemsToSend (bool send_dof=false) |
| void | _addItemToSend (ArrayView< std::set< Int32 > > items_to_send, Int32 item_local_id, Int32 cell_local_id, bool use_itemfamily_network=false) |
| void | _computeMeshConnectivityInfos3 () |
| AMR OFF. | |
| void | _exchangeCellDataInfos3 () |
| void | _computeItemsToSend3 () |
| void | _propagatesToChildConnectivities (IItemFamily *family) |
| void | _propagatesToChildDependencies (IItemFamily *family) |
| void | _addDestRank (const Item &item, IItemFamily *item_family, const Integer new_owner) |
| void | _addDestRank (const Item &item, IItemFamily *item_family, const Item &followed_item, IItemFamily *followed_item_family) |
| void | _allocData (IItemFamily *family) |
| void | _addGraphConnectivityToNewConnectivityInfo () |
| ArrayView< std::set< Int32 > > | _getItemsToSend (IItemFamily *family) |
| List of entities to send by subdomain for the family family. | |
| void | _setItemsToSend (IItemFamily *family) |
| void | _printItemToSend (IItemFamily *family) |
| Using ItemFamilyNetwork. | |
| void | _printItemToRemove (IItemFamily *family) |
| void | _markRemovableItems (bool with_cell_family=true) |
| void | _markRemovableDoFs () |
| void | _markRemovableParticles () |
| void | _markRemovableCells (Int32ConstArrayView cells_new_owner, bool use_active_cells) |
| void | _debugPrint () |
| void | _checkSubItemsDestRanks () |
| void | _exchangeGhostItemDataInfos () |
| Integer | _getSubdomainIndexInCommunicatingRanks (Integer rank, Int32ConstArrayView communicating_ranks) |
Private Attributes | |
| IMesh * | m_mesh |
| Mesh. | |
| IParallelMng * | m_parallel_mng |
| Int32 | m_nb_rank |
| Int32 | m_rank |
| IItemFamily * | m_cell_family |
| IncrementalUnorderedMultiArray< Int32 > * | m_neighbour_cells_owner |
| IncrementalUnorderedMultiArray< Int32 > * | m_neighbour_cells_new_owner |
| DynamicMultiArray< Int32 > * | m_neighbour_extra_cells_owner |
| DynamicMultiArray< Int32 > * | m_neighbour_extra_cells_new_owner |
| ItemDestRankMap | m_item_dest_ranks_map |
| ItemDestRankMapArray | m_ghost_item_dest_ranks_map |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Exchange of mesh entities between subdomains.
Definition at line 47 of file MeshExchange.h.
|
private |
Definition at line 141 of file MeshExchange.h.
|
private |
Definition at line 142 of file MeshExchange.h.
|
private |
Definition at line 143 of file MeshExchange.h.
| Arcane::mesh::MeshExchange::MeshExchange | ( | IMesh * | mesh | ) |
Definition at line 181 of file MeshExchange.cc.
| Arcane::mesh::MeshExchange::~MeshExchange | ( | ) |
Definition at line 199 of file MeshExchange.cc.
|
private |
Definition at line 1005 of file MeshExchange.cc.
|
private |
Definition at line 1024 of file MeshExchange.cc.
|
private |
Definition at line 329 of file MeshExchange.cc.
|
private |
Definition at line 537 of file MeshExchange.cc.
|
private |
Definition at line 696 of file MeshExchange.cc.
|
private |
Definition at line 726 of file MeshExchange.cc.
|
private |
Definition at line 1055 of file MeshExchange.cc.
|
private |
Definition at line 1434 of file MeshExchange.cc.
|
private |
Definition at line 301 of file MeshExchange.cc.
|
private |
Definition at line 561 of file MeshExchange.cc.
|
private |
Definition at line 787 of file MeshExchange.cc.
|
private |
Definition at line 1206 of file MeshExchange.cc.
|
private |
Definition at line 350 of file MeshExchange.cc.
|
private |
AMR.
Definition at line 648 of file MeshExchange.cc.
References Arcane::Array< T >::clear(), ENUMERATE_CELL, Arcane::Array< T >::fill(), Arcane::Item::localId(), and Arcane::ItemWithNodes::nodes().
Referenced by computeInfos().
|
private |
AMR OFF.
ITEM_FAMILY_NETWORK ON
Definition at line 880 of file MeshExchange.cc.
References Arcane::TraceAccessor::info(), and m_mesh.
Referenced by computeInfos().
|
private |
Definition at line 1066 of file MeshExchange.cc.
|
private |
Definition at line 397 of file MeshExchange.cc.
|
private |
Definition at line 1085 of file MeshExchange.cc.
|
private |
Definition at line 1466 of file MeshExchange.cc.
|
private |
Definition at line 765 of file MeshExchange.cc.
|
private |
List of entities to send by subdomain for the family family.
List of entities to send by sub-domain for family family.
Definition at line 232 of file MeshExchange.cc.
References ARCANE_FATAL, and Arcane::IItemFamily::name().
|
private |
Definition at line 1592 of file MeshExchange.cc.
|
private |
Definition at line 1355 of file MeshExchange.cc.
|
private |
Definition at line 1305 of file MeshExchange.cc.
|
private |
Definition at line 1330 of file MeshExchange.cc.
|
private |
Definition at line 1414 of file MeshExchange.cc.
|
private |
Definition at line 1292 of file MeshExchange.cc.
|
private |
Using ItemFamilyNetwork.
Definition at line 1271 of file MeshExchange.cc.
References ARCANE_FATAL, Arcane::TraceAccessor::debug(), and Arcane::IItemFamily::name().
|
private |
Definition at line 919 of file MeshExchange.cc.
|
private |
Definition at line 979 of file MeshExchange.cc.
|
private |
Definition at line 1252 of file MeshExchange.cc.
| void Arcane::mesh::MeshExchange::computeInfos | ( | ) |
Compute the info.
AMR
AMR END
Definition at line 244 of file MeshExchange.cc.
References _computeMeshConnectivityInfos2(), _computeMeshConnectivityInfos3(), and m_mesh.
Referenced by Arcane::mesh::MeshExchanger::computeExchangeInfos().
| ConstArrayView< std::set< Int32 > > Arcane::mesh::MeshExchange::getItemsToSend | ( | IItemFamily * | family | ) | const |
List of entities to send by subdomain for the family family.
List of entities to send by sub-domain for family family.
Definition at line 219 of file MeshExchange.cc.
References ARCANE_FATAL, and Arcane::IItemFamily::name().
Referenced by Arcane::mesh::MeshExchanger::computeExchangeInfos().
|
inline |
Definition at line 73 of file MeshExchange.h.
| ISubDomain * Arcane::mesh::MeshExchange::subDomain | ( | ) | const |
Definition at line 1605 of file MeshExchange.cc.
|
private |
Definition at line 84 of file MeshExchange.h.
|
private |
Definition at line 145 of file MeshExchange.h.
|
private |
Definition at line 144 of file MeshExchange.h.
| std::map<IItemFamily*, UniqueArray<std::set<Int32> >*> Arcane::mesh::MeshExchange::m_items_to_send |
Definition at line 120 of file MeshExchange.h.
|
private |
Mesh.
Definition at line 80 of file MeshExchange.h.
Referenced by _computeMeshConnectivityInfos3(), and computeInfos().
|
private |
Definition at line 82 of file MeshExchange.h.
|
private |
Definition at line 125 of file MeshExchange.h.
|
private |
Definition at line 124 of file MeshExchange.h.
|
private |
Definition at line 127 of file MeshExchange.h.
|
private |
Definition at line 126 of file MeshExchange.h.
|
private |
Definition at line 81 of file MeshExchange.h.
|
private |
Definition at line 83 of file MeshExchange.h.