Construction of a mesh incrementally. More...
#include <arcane/mesh/DynamicMeshIncrementalBuilder.h>
Classes | |
| struct | NodeInFacePtr |
| struct | NodeInFace |
Public Member Functions | |
| DynamicMeshIncrementalBuilder (DynamicMesh *mesh) | |
| Constructs an instance for the mesh mesh. | |
| void | addCells (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true) |
| Adds cells to the current mesh. | |
| void | addCells2 (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true) |
| void | addCells3 (Integer nb_cell, Int64ConstArrayView cell_infos, Integer sub_domain_id, Int32ArrayView cells, bool allow_build_face=true) |
| Adds cells to the current mesh. Uses generic item addition based on family dependencies. | |
| void | addFaces (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces) |
| Ajoute des faces au maillage actuel. | |
| void | addFaces2 (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces) |
| Ajoute des faces au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles. | |
| void | addFaces3 (Integer nb_face, Int64ConstArrayView face_infos, Integer sub_domain_id, Int32ArrayView faces) |
| void | addEdges (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges) |
| Adds edges to the current mesh. | |
| void | addEdges2 (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges) |
| Adds edges to the current mesh. Uses generic item addition based on family dependencies. | |
| void | addEdges3 (Integer nb_edge, Int64ConstArrayView edge_infos, Integer sub_domain_id, Int32ArrayView edges) |
| void | addNodes (Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes) |
| Ajoute des noeuds au maillage actuel. | |
| void | addNodes2 (Int64ConstArrayView nodes_uid, Integer sub_domain_id, Int32ArrayView nodes) |
| Ajoute des noeuds au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles. | |
| void | addItems (ItemDataList &item_info_list) |
| Ajout générique d'items d'un ensemble de famille pour lesquelles on fournit un ItemData. | |
| void | addItems (ItemDataList &item_info_list, ItemDataList &item_relation_info_list) |
| void | addRelations (ItemDataList &item_relation_list) |
| void | addFamilyItems (ItemData &item_info) |
| Ajout générique d'items d'une famille, décrite par son ItemInfo. | |
| void | addParentCells (const ItemVectorView &items) |
| Add to the current mesh items coming from a parent mesh. | |
| void | addParentItems (const ItemVectorView &items, const eItemKind submesh_kind) |
| Add to the current mesh items coming from a parent mesh. | |
| void | addHChildrenCells (Cell hParent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32 sub_domain_id, Int32ArrayView cells, bool allow_build_face) |
| Ajoute des mailles au maillage actuel. | |
| void | computeFacesUniqueIds () |
| Calculates the unique IDs for each face. | |
| void | addGhostLayers (bool is_allocate) |
| void | addGhostChildFromParent (Array< Int64 > &ghost_cell_to_refine) |
| AMR. | |
| void | removeGhostCells () |
| void | removeNeedRemoveMarkedCells () |
| void | removeNeedRemoveMarkedItems () |
| Removes ghost items. | |
| void | readFromDump () |
| void | setConnectivity (Integer c) |
| Sets the active connectivity for the associated mesh. | |
| void | resetAfterDeallocate () |
| Resets the structures to allow for a new allocation. | |
| void | printInfos () |
| void | printStats (Int32 level=TraceMessage::DEFAULT_LEVEL) |
| ItemInternalMap & | itemsMap (eItemKind ik) |
| DynamicMesh * | mesh () |
| bool | isVerbose () const |
| bool | hasEdge () const |
| OneMeshItemAdder * | oneMeshItemAdder () const |
| 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 | |
| typedef NodeInFace::NodeInFaceSet | NodeInFaceSet |
Private Member Functions | |
| void | _printCellFaceInfos (ItemInternal *cell, const String &str) |
| void | _removeNeedRemoveMarkedItems (ItemInternalMap &map, UniqueArray< Int32 > &items_local_id) |
| void | _fillFaceInfo (Integer &nb_face, Integer nb_cell, Int64Array &faces_infos, Int64ConstArrayView cells_infos, std::map< Int64, Int64SharedArray > &cell_to_face_connectivity_info) |
| Adds cells to the current mesh. | |
| void | _fillEdgeInfo (Integer &nb_edge, Integer nb_face, Int64Array &edges_infos, Int64ConstArrayView faces_infos, std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map) |
| void | _fillNodeInfo (Integer &nb_node, Integer nb_face, Int64Array &nodes_infos, Int64ConstArrayView faces_infos) |
| void | _fillNodeInfoFromEdge (Integer &nb_node, Integer nb_edge, Int64Array &nodes_infos, Int64ConstArrayView edges_infos) |
| void | _fillCellInfo2 (Integer nb_cell, Int64ConstArrayView cells_infos, Int64Array &cell_infos2, Integer &nb_face, Int64Array &faces_infos, Int64Array &node_uids, bool allow_build_face) |
| void | _fillFaceInfo2 (Integer nb_face, Int64ConstArrayView faces_infos, Int64ArrayView face_info2, Int64Array &node_uids) |
| void | _fillEdgeInfo2 (Integer nb_edge, Int64ConstArrayView edges_infos, Int64ArrayView edge_info2, Int64Array &node_uids) |
| void | _fillEdgeNewInfoNew (Integer nb_edge, Int64ConstArrayView edges_infos, Int64ArrayView edge_new_infos) |
| void | _fillNodeNewInfo (Int64ConstArrayView node_uids, Int64ArrayView node_infos2) |
| void | _fillCellNewInfoNew (Integer nb_cell, Int64ConstArrayView cells_infos, Int64Array &cell_infos2, const std::map< Int64, Int64SharedArray > &cell_to_face_connectivity_info, const std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map) |
| void | _fillFaceNewInfoNew (Integer nb_face, Int64ConstArrayView faces_infos, Int64Array &face_infos2, const std::map< std::pair< Int64, Int64 >, Int64 > &edge_uid_map) |
| void | _fillItemInfo2 (ItemDataList &item_data_list, Int64ConstArrayView cells_infos) |
| void | _initNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| void | _initEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| void | _initFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| Initializes face relation info. | |
| void | _appendNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| void | _appendEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| void | _appendFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info) |
| void | _fillNodeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView nodes_info, bool is_source_item_relation_data_emtpy) |
| void | _fillEdgeRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView edges_info, bool is_source_item_relation_data_emtpy) |
| void | _fillFaceRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView faces_info, bool is_source_item_relation_data_emtpy) |
| void | _fillItemRelationInfo (ItemData &source_item_relation_data, const ItemData &target_item_dependencies_data, Int64ConstArrayView source_item_types, bool is_source_item_relation_data_emtpy) |
| void | _initEmptyRelationInfo (Int64Array &source_relation_info, std::map< Int64, Int64SharedArray > &source_to_target_uids, Int64ConstArrayView source_item_uids_and_types, Integer approx_relation_size, IItemFamily const *target_family) |
| void | _appendInitializedRelationInfo (Int64Array &source_relation_info, std::map< Int64, Int64SharedArray > &source_to_target_uids, Int64ConstArrayView source_item_uids_and_types, Integer approx_relation_size, IItemFamily const *target_family) |
| Int64 | _findFaceUniqueId (Int64ConstArrayView work_face_sorted_nodes, NodeInFaceSet &face_nodes_set) |
| Int64 | _findFaceInFaceNodesSet (const NodeInFaceSet &face_nodes_set, Integer index, Int64ConstArrayView face_nodes, NodeInFacePtr node) |
| void | _addFaceNodes (NodeInFaceSet &face_nodes_set, Int64ConstArrayView face_nodes, Int64 face_uid) |
| void | _addFaceInFaceNodesSet (NodeInFaceSet &face_nodes_set, Integer index, Int64ConstArrayView face_nodes, NodeInFacePtr node, Int64 face_uid) |
| NodeInFacePtr & | _insertNode (NodeInFaceSet &face_nodes_set, Int64 inserted_node_uid) |
| void | _addItemsOrRelations (ItemDataList &info_list, IItemFamilyNetwork::eSchedulingOrder family_graph_traversal_order) |
Private Attributes | |
| DynamicMesh * | m_mesh |
| Associated mesh. | |
| ItemTypeMng * | m_item_type_mng = nullptr |
| Integer | m_connectivity = 0 |
| Connectivity info of the current mesh. | |
| bool | m_has_edge = false |
| Info on the presence of an edge (accelerates access to general connectivity). | |
| bool | m_has_amr |
| AMR. | |
| bool | m_verbose = false |
| True if messages are displayed. | |
| OneMeshItemAdder * | m_one_mesh_item_adder = nullptr |
| Mesh building utilities. | |
| GhostLayerBuilder * | m_ghost_layer_builder = nullptr |
| Utility to build ghost elements. | |
| FaceUniqueIdBuilder * | m_face_unique_id_builder = nullptr |
| EdgeUniqueIdBuilder * | m_edge_unique_id_builder = nullptr |
| Int64 | m_face_uid_pool = 0 |
| uniqueId() number used for generating faces | |
| Int64 | m_edge_uid_pool = 0 |
| uniqueId() number used for generating edges | |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Construction of a mesh incrementally.
Definition at line 55 of file DynamicMeshIncrementalBuilder.h.
|
private |
Definition at line 205 of file DynamicMeshIncrementalBuilder.h.
|
explicit |
Constructs an instance for the mesh mesh.
Definition at line 59 of file DynamicMeshIncrementalBuilder.cc.
References m_has_amr, m_mesh, m_one_mesh_item_adder, m_verbose, Arcane::TraceAccessor::TraceAccessor(), and Arcane::TraceAccessor::traceMng().
| Arcane::mesh::DynamicMeshIncrementalBuilder::~DynamicMeshIncrementalBuilder | ( | ) |
Definition at line 74 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 807 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 797 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1050 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 586 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 551 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 715 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 620 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 463 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 407 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 329 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1465 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1491 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 594 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Adds cells to the current mesh.
| mesh_nb_cell | number of cells to add |
| cells_infos | mesh information (see IMesh::allocateMesh()) |
| sub_domain_id | sub-domain to which the cells will belong |
| cells | returns, if not empty, contains the created cells. |
Definition at line 283 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::Array< T >::add(), Arcane::Array< T >::addRange(), Arcane::ItemTypeInfo::localFace(), m_face_uid_pool, Arcane::ItemTypeInfo::nbLocalFace(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::Array< T >::reserve(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), Arcane::ItemTypeMng::typeFromId(), and Arcane::ItemTypeInfo::LocalFace::typeId().
Referenced by addCells3().
|
private |
Definition at line 1315 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1261 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 559 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 643 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 365 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 389 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 988 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 628 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 781 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 770 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 578 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 692 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Initializes face relation info.
| source_item_relation_data | The destination ItemData for face relations. |
| target_item_dependencies_data | The source ItemData containing dependencies. |
| faces_info | The constant array view of face information. |
| is_source_relation_data_empty | Flag indicating if the source relation data is empty. |
Definition at line 543 of file DynamicMeshIncrementalBuilder.cc.
Referenced by addCells3().
|
private |
Definition at line 612 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 826 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 86 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1639 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells | ( | Integer | nb_cell, |
| Int64ConstArrayView | cells_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | cells, | ||
| bool | allow_build_face = true ) |
Adds cells to the current mesh.
| mesh_nb_cell | number of cells to add |
| cells_infos | mesh information (see IMesh::allocateMesh()) |
| sub_domain_id | sub-domain to which the cells will belong |
| cells | returns, if not empty, contains the created cells. |
Definition at line 124 of file DynamicMeshIncrementalBuilder.cc.
References ARCANE_THROW, Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells2 | ( | Integer | nb_cell, |
| Int64ConstArrayView | cell_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | cells, | ||
| bool | allow_build_face = true ) |
Definition at line 233 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addCells3 | ( | Integer | nb_cell, |
| Int64ConstArrayView | cells_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | cells, | ||
| bool | allow_build_face = true ) |
Adds cells to the current mesh. Uses generic item addition based on family dependencies.
| mesh_nb_cell | number of cells to add |
| cells_infos | mesh information (see IMesh::allocateMesh()) |
| sub_domain_id | sub-domain to which the cells will belong |
| cells | returns, if not empty, contains the created cells. |
Definition at line 167 of file DynamicMeshIncrementalBuilder.cc.
References _fillFaceInfo(), _initFaceRelationInfo(), addItems(), Arcane::IK_Edge, Arcane::IK_Face, m_mesh, Arcane::Array< T >::resize(), and Arcane::ArrayView< T >::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges | ( | Integer | nb_edge, |
| Int64ConstArrayView | edge_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | edges ) |
Adds edges to the current mesh.
| nb_face | number of faces to add |
| edge_infos | edge information (see IMesh::allocateCells() without type identifier) |
| sub_domain_id | sub-domain to which the edges will belong |
| edges | returns, if not empty, contains the created edges. |
Definition at line 1362 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::ItemBase::localId(), m_one_mesh_item_adder, and Arcane::ArrayView< T >::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges2 | ( | Integer | nb_edge, |
| Int64ConstArrayView | edge_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | edges ) |
Adds edges to the current mesh. Uses generic item addition based on family dependencies.
| nb_face | number of faces to add |
| edge_infos | edge information (see IMesh::allocateCells() without type identifier) |
| sub_domain_id | sub-domain to which the edges will belong |
| edges | returns, if not empty, contains the created edges. |
Definition at line 1397 of file DynamicMeshIncrementalBuilder.cc.
References addItems(), m_mesh, Arcane::AbstractArray< T >::size(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), and Arcane::Array< T >::view().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addEdges3 | ( | Integer | nb_edge, |
| Int64ConstArrayView | edge_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | edges ) |
Definition at line 1429 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces | ( | Integer | nb_face, |
| Int64ConstArrayView | faces_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | faces ) |
Ajoute des faces au maillage actuel.
| nb_face | nombre de faces à ajouter |
| faces_infos | infos sur les faces (voir IMesh::allocateCells()) |
| sub_domain_id | sous-domaine auquel les faces appartiendront |
| faces | en retour, si non vide, contient les faces créées. |
Definition at line 1122 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::ItemTypeId::fromInteger(), Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces2 | ( | Integer | nb_face, |
| Int64ConstArrayView | faces_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | faces ) |
Ajoute des faces au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.
| nb_face | nombre de faces à ajouter |
| faces_infos | infos sur les faces (voir IMesh::allocateCells()) |
| sub_domain_id | sous-domaine auquel les faces appartiendront |
| faces | en retour, si non vide, contient les faces créées. |
Definition at line 1164 of file DynamicMeshIncrementalBuilder.cc.
References addItems(), m_mesh, Arcane::AbstractArray< T >::size(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), and Arcane::Array< T >::view().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces3 | ( | Integer | nb_face, |
| Int64ConstArrayView | face_infos, | ||
| Integer | sub_domain_id, | ||
| Int32ArrayView | faces ) |
Definition at line 1208 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addFamilyItems | ( | ItemData & | item_info | ) |
Ajout générique d'items d'une famille, décrite par son ItemInfo.
Definition at line 1070 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::subView().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addGhostChildFromParent | ( | Array< Int64 > & | ghost_cell_to_refine | ) |
AMR.
Definition at line 1627 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::TraceAccessor::debug(), and m_ghost_layer_builder.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addGhostLayers | ( | bool | is_allocate | ) |
Definition at line 1614 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addHChildrenCells | ( | Cell | hParent_cell, |
| Integer | nb_cell, | ||
| Int64ConstArrayView | cells_infos, | ||
| Int32 | sub_domain_id, | ||
| Int32ArrayView | cells, | ||
| bool | allow_build_face ) |
Ajoute des mailles au maillage actuel.
AMR Add to the current mesh the child cells the parent cell hParent_cell
| mesh_nb_cell | nombre de mailles à ajouter |
| cells_infos | infos sur les maillage (voir IMesh::allocateMesh()) |
| sub_domain_id | sous-domaine auquel les mailles appartiendront |
| cells | en retour, si non vide, contient les mailles créées. |
Definition at line 867 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::mesh::CellFamily::_addParentCellToCell(), Arcane::TraceAccessor::debug(), Arcane::Trace::Highest, Arcane::ItemBase::localId(), m_mesh, m_one_mesh_item_adder, Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ArrayView< T >::size(), and Arcane::ItemTypeMng::typeFromId().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addItems | ( | ItemDataList & | item_info_list | ) |
Ajout générique d'items d'un ensemble de famille pour lesquelles on fournit un ItemData.
L'objet ItemDataList est une map <family_index,ItemData> où family_index est pris égal à l'item_kind de la famille et où ItemData aggrège les informations id/connectivités des items Le tableau item_infos (ItemData::itemInfos()) à la structure suivante : item_infos[0] = nb_connected_families // Only constitutive (owning) connections. item_infos[i] = first_item_type item_infos[i+1] = first_item_uid item_infos[i+2] = first_family_id item_infos[i+3] = nb_connected_items_in_first_family item_infos[i+4...i+n] = first_family items uids item_infos[i+n+1] = second_family_id item_infos[i+n+1...i+m] = second_family items uids item_infos[i+m+1] = second_item_uid ...idem first item La méthode parcours le graphe des connectivités du maillage pour créer les items de toute les familles La méthode addFamilyItems(ItemInfo&) crée les items d'une famille donnée
Definition at line 1021 of file DynamicMeshIncrementalBuilder.cc.
Referenced by addCells3(), addEdges2(), addFaces2(), and addNodes2().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addItems | ( | ItemDataList & | item_info_list, |
| ItemDataList & | item_relation_info_list ) |
Definition at line 1030 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addNodes | ( | Int64ConstArrayView | nodes_uid, |
| Integer | owner, | ||
| Int32ArrayView | nodes ) |
Ajoute des noeuds au maillage actuel.
| nodes_uid | identifiant unique des noeuds à créer. |
| owner | sous-domaine auquel les noeuds appartiendront. |
| nodes | en retour, si non vide, contient les noeuds correspodants aux nodes_uid |
Definition at line 943 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::ItemBase::localId(), m_one_mesh_item_adder, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addNodes2 | ( | Int64ConstArrayView | nodes_uid, |
| Integer | owner, | ||
| Int32ArrayView | nodes ) |
Ajoute des noeuds au maillage actuel. Utilise l'ajout d'item générique basé sur dépendances entre familles.
| nodes_uid | identifiant unique des noeuds à créer. |
| owner | sous-domaine auquel les noeuds appartiendront. |
| nodes | en retour, si non vide, contient les noeuds correspodants aux nodes_uid |
Definition at line 967 of file DynamicMeshIncrementalBuilder.cc.
References addItems(), m_mesh, Arcane::ArrayView< T >::size(), and Arcane::ConstArrayView< T >::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addParentCells | ( | const ItemVectorView & | items | ) |
Add to the current mesh items coming from a parent mesh.
Ajoute des items du maillage parent au en tant que maille au maillage actuel.
| items | items à ajouter (vu depuis la maillage parent) |
| sub_domain_id | sous-domaine auquel les mailles appartiendront |
Definition at line 846 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::IK_Cell, m_one_mesh_item_adder, and Arcane::ItemVectorView::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addParentItems | ( | const ItemVectorView & | items, |
| const eItemKind | submesh_kind ) |
Add to the current mesh items coming from a parent mesh.
Ajoute des items du maillage parent au en tant qu'items fantomes au maillage actuel.
| items | items à ajouter (vu depuis la maillage parent) |
| sub_domain_id | sous-domaine auquel les mailles appartiendront |
Definition at line 924 of file DynamicMeshIncrementalBuilder.cc.
References m_one_mesh_item_adder, and Arcane::ItemVectorView::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addRelations | ( | ItemDataList & | item_relation_list | ) |
Definition at line 1041 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::computeFacesUniqueIds | ( | ) |
Calculates the unique IDs for each face.
The algorithm must work in a way that gives the same face numbering sequentially and in parallel regardless of the decomposition, to facilitate debugging.
The numbering principle is as follows: we traverse the cells in increasing order of their unique_id, and for each cell, we traverse the list of faces. A face is numbered if and only if its backCell() is the current cell or if its frontCell() is the current cell but it is a boundary face (nbCell()==1). When numbering the faces of the current cell, we first number the faces for which it is the backCell(), then the faces for which it is the frontCell().
This small detail is explained to simplify the determination of numbering in the parallel case (todo: explain why...)
Definition at line 1597 of file DynamicMeshIncrementalBuilder.cc.
References m_has_edge.
|
inline |
Definition at line 140 of file DynamicMeshIncrementalBuilder.h.
|
inline |
Definition at line 139 of file DynamicMeshIncrementalBuilder.h.
|
inline |
Definition at line 138 of file DynamicMeshIncrementalBuilder.h.
|
inline |
Definition at line 142 of file DynamicMeshIncrementalBuilder.h.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::printInfos | ( | ) |
Definition at line 1547 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::printStats | ( | Int32 | level = TraceMessage::DEFAULT_LEVEL | ) |
Definition at line 1561 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::readFromDump | ( | ) |
Definition at line 1517 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::removeNeedRemoveMarkedItems | ( | ) |
Removes ghost items.
Suppresses all items whose owner is not the current sub-domain and which do not belong to any internal elements of this sub-domain. Internal items that are no longer connected to any items are also destroyed
Definition at line 1668 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::Array< T >::add(), ARCANE_CHECK_POINTER, Arcane::mesh::ItemInternalMap::eachItem(), Arcane::ItemBase::flags(), Arcane::mesh::ParticleFamily::getEnableGhostItems(), Arcane::ItemFlags::II_NeedRemove, Arcane::IK_DoF, Arcane::IK_Particle, Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemKind(), Arcane::Item::localId(), m_mesh, Arcane::Item::mutableItemBase(), Arcane::IItemFamily::name(), Arcane::mesh::CellFamily::removeCells(), Arcane::IItemFamily::removeNeedRemoveMarkedItems(), Arcane::Array< T >::reserve(), Arcane::MutableItemBase::setFlags(), and Arcane::AbstractArray< T >::size().
| void Arcane::mesh::DynamicMeshIncrementalBuilder::resetAfterDeallocate | ( | ) |
Resets the structures to allow for a new allocation.
Definition at line 1764 of file DynamicMeshIncrementalBuilder.cc.
References m_edge_uid_pool, m_face_uid_pool, and m_one_mesh_item_adder.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::setConnectivity | ( | Integer | c | ) |
Sets the active connectivity for the associated mesh.
This conditions the connectivities to the responsibility of this family
Definition at line 1750 of file DynamicMeshIncrementalBuilder.cc.
References ARCANE_FATAL, m_connectivity, and m_has_edge.
|
private |
Connectivity info of the current mesh.
Definition at line 257 of file DynamicMeshIncrementalBuilder.h.
Referenced by setConnectivity().
|
private |
uniqueId() number used for generating edges
Definition at line 272 of file DynamicMeshIncrementalBuilder.h.
Referenced by resetAfterDeallocate().
|
private |
Definition at line 269 of file DynamicMeshIncrementalBuilder.h.
|
private |
uniqueId() number used for generating faces
Definition at line 271 of file DynamicMeshIncrementalBuilder.h.
Referenced by _fillFaceInfo(), and resetAfterDeallocate().
|
private |
Definition at line 268 of file DynamicMeshIncrementalBuilder.h.
|
private |
Utility to build ghost elements.
Definition at line 267 of file DynamicMeshIncrementalBuilder.h.
Referenced by addGhostChildFromParent().
|
private |
AMR.
Definition at line 261 of file DynamicMeshIncrementalBuilder.h.
Referenced by DynamicMeshIncrementalBuilder().
|
private |
Info on the presence of an edge (accelerates access to general connectivity).
Definition at line 258 of file DynamicMeshIncrementalBuilder.h.
Referenced by computeFacesUniqueIds(), and setConnectivity().
|
private |
Definition at line 255 of file DynamicMeshIncrementalBuilder.h.
|
private |
Associated mesh.
Definition at line 254 of file DynamicMeshIncrementalBuilder.h.
Referenced by addCells3(), addEdges2(), addFaces2(), addHChildrenCells(), addNodes2(), DynamicMeshIncrementalBuilder(), and removeNeedRemoveMarkedItems().
|
private |
Mesh building utilities.
Utility to add an item to the mesh
Definition at line 266 of file DynamicMeshIncrementalBuilder.h.
Referenced by addCells(), addEdges(), addFaces(), addFamilyItems(), addHChildrenCells(), addNodes(), addParentCells(), addParentItems(), DynamicMeshIncrementalBuilder(), and resetAfterDeallocate().
|
private |
True if messages are displayed.
Definition at line 263 of file DynamicMeshIncrementalBuilder.h.
Referenced by DynamicMeshIncrementalBuilder().