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 815 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 805 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1058 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 594 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 559 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 723 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 628 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 471 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 415 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 337 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1473 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1499 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 602 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 291 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 1323 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1269 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 567 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 651 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 373 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 397 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 996 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 636 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 789 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 778 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 586 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 700 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 551 of file DynamicMeshIncrementalBuilder.cc.
Referenced by addCells3().
|
private |
Definition at line 620 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 834 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 86 of file DynamicMeshIncrementalBuilder.cc.
|
private |
Definition at line 1647 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 241 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 175 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 1370 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 1405 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 1437 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 1130 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 1172 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 1216 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 1078 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 1635 of file DynamicMeshIncrementalBuilder.cc.
References Arcane::TraceAccessor::debug(), m_ghost_layer_builder, and m_mesh.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::addGhostLayers | ( | bool | is_allocate | ) |
Definition at line 1622 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 875 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 1029 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 1038 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 951 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 975 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 854 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 932 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 1049 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 1605 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 1555 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::printStats | ( | Int32 | level = TraceMessage::DEFAULT_LEVEL | ) |
Definition at line 1569 of file DynamicMeshIncrementalBuilder.cc.
| void Arcane::mesh::DynamicMeshIncrementalBuilder::readFromDump | ( | ) |
Definition at line 1525 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 1676 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 1772 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 1758 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(), addGhostChildFromParent(), 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().