Implementation of a mesh. More...
#include <arcane/mesh/DynamicMesh.h>
Classes | |
| class | InitialAllocator |
Public Types | |
| typedef ItemInternal * | ItemInternalPtr |
| typedef List< IItemFamily * > | ItemFamilyList |
Public Member Functions | |
| void | _checkKindRange (eItemKind ik) const |
| DynamicMesh (ISubDomain *sd, const MeshBuildInfo &mbi, bool is_submesh) | |
| ~DynamicMesh () | |
| void | build () override |
| MeshHandle | handle () const override |
| Handle on this mesh. | |
| String | name () const override |
| Mesh name. | |
| String | factoryName () const override |
| Name of the factory used to create the mesh. | |
| IMesh * | mesh () override |
| Associated mesh. | |
| Integer | dimension () override |
| Mesh dimension (1D, 2D, or 3D). | |
| void | setDimension (Integer dim) override |
| Positions the mesh dimension (1D, 2D, or 3D). | |
| VariableScalarInteger | connectivity () override |
| Connectivity descriptor. | |
| Integer | nbNode () override |
| Number of mesh nodes. | |
| Integer | nbEdge () override |
| Number of mesh edges. | |
| Integer | nbFace () override |
| Number of mesh faces. | |
| Integer | nbCell () override |
| Number of mesh cells. | |
| Integer | nbItem (eItemKind ik) override |
| Number of elements of type ik. | |
| ItemInternalArrayView | itemsInternal (eItemKind ik) override |
| Internal array of mesh elements of type type. | |
| VariableNodeReal3 & | nodesCoordinates () override |
| Node coordinates. | |
| SharedVariableNodeReal3 | sharedNodesCoordinates () override |
| Node coordinates. | |
| void | setEstimatedCells (Integer nb_cell) |
| void | exchangeItems () override |
| Changes the owning subdomains of entities. | |
| void | clearItems () override |
| Deletes all entities of all families in this mesh. | |
| void | updateGhostLayers () override |
| void | updateGhostLayers (bool remove_old_ghost) override |
| void | updateGhostLayerFromParent (Array< Int64 > &ghost_cell_to_refine, Array< Int64 > &cells_to_coarsen, bool remove_old_ghost) override |
| AMR. | |
| void | mergeMeshes (ConstArrayView< IMesh * > meshes) override |
| Merges the meshes of meshes with the current mesh. | |
| void | addExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder) override |
| addition of the "extraordinary" ghost cells addition algorithm. | |
| void | removeExtraGhostCellsBuilder (IExtraGhostCellsBuilder *builder) override |
| Removes the association with the builder instance. | |
| void | addExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder) override |
| Addition of the "extraordinary" ghost particle addition algorithm. | |
| void | removeExtraGhostParticlesBuilder (IExtraGhostParticlesBuilder *builder) override |
| Removes the association with the builder instance. | |
| void | serializeCells (ISerializer *buffer, Int32ConstArrayView cells_local_id) override |
| Int32 | meshRank () |
| void | checkValidMesh () override |
| Check for the validity of internal mesh structures (internal). | |
| void | checkValidMeshFull () override |
| Mesh validity check. | |
| void | checkValidConnectivity () |
| bool | isAllocated () override |
| True if the mesh is allocated. | |
| void | reloadMesh () override |
| Reloads the mesh from protected variables. | |
| void | deallocate () override |
| Deallocates the mesh. | |
| void | allocateCells (Integer mesh_nb_cell, Int64ConstArrayView cells_info, bool one_alloc) override |
| Allocation of a mesh. | |
| void | endAllocate () override |
| Indicates the end of cell allocation. | |
| void | addCells (Integer nb_cell, Int64ConstArrayView cell_infos, Int32ArrayView cells) override |
| Adds cells. | |
| void | addCells (const MeshModifierAddCellsArgs &args) override |
| Adds cells. | |
| void | addCells (ISerializer *buffer) override |
| Adds cells from the data contained in buffer. | |
| void | addCells (ISerializer *buffer, Int32Array &cells_local_id) override |
| Adds cells from the data contained in buffer. | |
| void | addFaces (Integer nb_face, Int64ConstArrayView face_infos, Int32ArrayView faces) override |
| Adds faces. | |
| void | addFaces (const MeshModifierAddFacesArgs &args) override |
| Adds faces. | |
| void | addEdges (Integer nb_edge, Int64ConstArrayView edge_infos, Int32ArrayView edges) override |
| Adds edges. | |
| void | addNodes (Int64ConstArrayView nodes_uid, Int32ArrayView nodes) override |
| Adds nodes. | |
| void | removeCells (Int32ConstArrayView cells_local_id, bool update_graph) override |
| void | removeCells (Int32ConstArrayView cells_local_id) override |
| Removes cells. | |
| void | detachCells (Int32ConstArrayView cells_local_id) override |
| Detaches cells from the mesh. | |
| void | removeDetachedCells (Int32ConstArrayView cells_local_id) override |
| Removes detached cells. | |
| void | flagCellToRefine (Int32ConstArrayView cells_lids) override |
| AMR. | |
| void | flagCellToCoarsen (Int32ConstArrayView cells_lids) override |
| void | refineItems () override |
| void | coarsenItems () override |
| void | coarsenItemsV2 (bool update_parent_flag) override |
| void | compact () |
| bool | adapt () override |
| void | registerCallBack (IAMRTransportFunctor *f) override |
| void | unRegisterCallBack (IAMRTransportFunctor *f) override |
| void | addHChildrenCells (Cell parent_cell, Integer nb_cell, Int64ConstArrayView cells_infos, Int32ArrayView cells) override |
| AMR. | |
| void | addParentCellToCell (Cell child, Cell parent) override |
| void | addChildCellToCell (Cell parent, Cell child) override |
| void | addParentFaceToFace (Face child, Face parent) override |
| void | addChildFaceToFace (Face parent, Face child) override |
| void | addParentNodeToNode (Node child, Node parent) override |
| void | addChildNodeToNode (Node parent, Node child) override |
| void | endUpdate () override |
| Notifies the instance that mesh modification is finished. | |
| Int64 | timestamp () override |
| Counter indicating the time of the last mesh modification. | |
| bool | isPrimaryMesh () const override |
| Indicates if the instance is a primary mesh. | |
| IPrimaryMesh * | toPrimaryMesh () override |
| Returns the instance in the form of an IPrimaryMesh. | |
| const MeshPartInfo & | meshPartInfo () const override |
| Information about mesh parts. | |
| void | setMeshPartInfo (const MeshPartInfo &mpi) override |
| Positions partitioning information. | |
| IUserDataList * | userDataList () override |
| Associated user data manager. | |
| const IUserDataList * | userDataList () const override |
| Associated user data manager. | |
| IGhostLayerMng * | ghostLayerMng () const override |
| Associated ghost layer manager. | |
| IMeshUniqueIdMng * | meshUniqueIdMng () const override |
| Unique ID numbering manager. | |
| IMeshChecker * | checker () const override |
| Checker interface. | |
| VariableItemInt32 & | itemsNewOwner (eItemKind ik) override |
| Variable containing the identifier of the owning subdomain. | |
| ItemInternalMap & | nodesMap () |
| ItemInternalMap & | edgesMap () |
| ItemInternalMap & | facesMap () |
| ItemInternalMap & | cellsMap () |
| void | addParentCells (ItemVectorView &items) |
| void | removeItems (IItemFamily *item_family, Int32ConstArrayView cells_local_id) |
| NodeFamily & | trueNodeFamily () |
| EdgeFamily & | trueEdgeFamily () |
| FaceFamily & | trueFaceFamily () |
| CellFamily & | trueCellFamily () |
| NodeGroup | allNodes () override |
| Group of all nodes. | |
| EdgeGroup | allEdges () override |
| Group of all edges. | |
| FaceGroup | allFaces () override |
| Group of all faces. | |
| CellGroup | allCells () override |
| Group of all cells. | |
| ItemGroup | allItems (eItemKind kind) |
| NodeGroup | ownNodes () override |
| Group of all domain-specific nodes. | |
| EdgeGroup | ownEdges () override |
| Group of all domain-specific edges. | |
| FaceGroup | ownFaces () override |
| Group of all domain-specific faces. | |
| CellGroup | ownCells () override |
| Group of all domain-specific cells. | |
| ItemGroup | ownItems (eItemKind kind) |
| FaceGroup | outerFaces () override |
| Group of all faces on the boundary. | |
| CellGroup | allActiveCells () override |
| AMR. | |
| CellGroup | ownActiveCells () override |
| Group of all active and domain-specific cells. | |
| CellGroup | allLevelCells (const Integer &level) override |
Group of all cells at level level. | |
| CellGroup | ownLevelCells (const Integer &level) override |
Group of all domain-specific cells at level level. | |
| FaceGroup | allActiveFaces () override |
| Group of all active faces. | |
| FaceGroup | ownActiveFaces () override |
| Group of all active faces on the boundary. | |
| FaceGroup | innerActiveFaces () override |
| Group of all active faces. | |
| FaceGroup | outerActiveFaces () override |
| Group of all active faces on the boundary. | |
| MeshItemInternalList * | meshItemInternalList () override |
| ISubDomain * | subDomain () override |
| IParallelMng * | parallelMng () override |
| Parallelism manager. | |
| ITraceMng * | traceMng () override |
| Associated message manager. | |
| ItemGroupCollection | groups () override |
| List of groups. | |
| void | prepareForDump () override |
| Prepares the instance for dumping. | |
| void | initializeVariables (const XmlNode &init_node) override |
| ItemGroup | findGroup (const String &name) override |
| Returns the group with name name or a null group if none exists. | |
| ItemGroup | findGroup (const String &name, eItemKind ik, bool create_if_needed) |
| void | destroyGroups () override |
| Destroys all groups of all families. | |
| NodeGroup | findNodeGroup (const String &aname) |
| EdgeGroup | findEdgeGroup (const String &aname) |
| FaceGroup | findFaceGroup (const String &aname) |
| CellGroup | findCellGroup (const String &aname) |
| ItemGroup | createGroup (const String &aname, const ItemGroup &parent) |
| ItemGroup | createGroup (const String &aname, eItemKind ik) |
| bool | isAmrActivated () const override |
| AMR. | |
| IItemFamily * | createItemFamily (eItemKind ik, const String &name) override |
| Create a particle family named name. | |
| IItemFamily * | findItemFamily (eItemKind ik, const String &name, bool create_if_needed, bool register_modifier_if_created) override |
| Returns the family named name. | |
| IItemFamily * | findItemFamily (const String &name, bool throw_exception=true) override |
| Returns the family named name. | |
| IItemFamilyModifier * | findItemFamilyModifier (eItemKind ik, const String &name) override |
| Returns the IItemFamilyModifier interface for the family named name and of type ik. | |
| void | addItemFamilyModifier (IItemFamilyModifier *) |
| IItemFamily * | itemFamily (eItemKind ik) override |
| Returns the entity family of type ik. | |
| IItemFamily * | nodeFamily () override |
| Returns the node family. | |
| IItemFamily * | edgeFamily () override |
| Returns the edge family. | |
| IItemFamily * | faceFamily () override |
| Returns the face family. | |
| IItemFamily * | cellFamily () override |
| Returns the cell family. | |
| IItemFamilyCollection | itemFamilies () override |
| bool | isDynamic () const override |
| Indicates if the mesh is dynamic (can evolve). | |
| void | setDynamic (bool v) override |
| Sets the property indicating whether the mesh can evolve. | |
| void | setCheckLevel (Integer level) override |
| Sets the mesh check level. | |
| Integer | checkLevel () const override |
| Current check level. | |
| void | computeTiedInterfaces (const XmlNode &xml_node) override |
| Determines the semi-conforming interfaces. | |
| bool | hasTiedInterface () override |
| True if semi-conforming interfaces exist in the mesh. | |
| TiedInterfaceCollection | tiedInterfaces () override |
| List of semi-conforming interfaces. | |
| IMeshPartitionConstraintMng * | partitionConstraintMng () override |
| Manager of partitioning constraints associated with this mesh. | |
| ConstArrayView< TiedInterface * > | trueTiedInterfaces () |
| IMeshUtilities * | utilities () override |
| Associated utility functions interface. | |
| IMeshModifier * | modifier () override |
| Associated modifier interface. | |
| Properties * | properties () override |
| Properties associated with this mesh. | |
| void | synchronizeGroupsAndVariables () override |
| Synchronizes all mesh groups and variables. | |
| void | defineParentForBuild (IMesh *mesh, ItemGroup group) override |
| Defines the parent mesh and group. | |
| IMesh * | parentMesh () const override |
| Access to the parent mesh. | |
| ItemGroup | parentGroup () const override |
| Parent group. | |
| void | addChildMesh (IMesh *sub_mesh) override |
| Adds a sub-mesh to the parent mesh. | |
| IMeshCollection | childMeshes () const override |
| List of sub-meshes of the current mesh. | |
| void | setOwnersFromCells () override |
| Positions entity owners based on the cell owner. | |
| IMeshCompactMng * | _compactMng () override |
| InternalConnectivityPolicy | _connectivityPolicy () const override |
| Connectivity usage policy. | |
| DynamicMeshIncrementalBuilder * | incrementalBuilder () |
| MeshRefinement * | meshRefinement () |
| void | endUpdate (bool update_ghost_layer, bool remove_old_ghost) override |
| bool | useMeshItemFamilyDependencies () const override |
| check if the network itemFamily dependencies is activated | |
| IItemFamilyNetwork * | itemFamilyNetwork () override |
| Family network interface (connected families). | |
| IIndexedIncrementalItemConnectivityMng * | indexedConnectivityMng () override |
| Interface of the indexed incremental connectivity manager. | |
| IMeshMng * | meshMng () const override |
| Associated mesh manager. | |
| IVariableMng * | variableMng () const override |
| Associated variable manager. | |
| ItemTypeMng * | itemTypeMng () const override |
| Associated entity type manager. | |
| void | computeSynchronizeInfos () override |
| Recalculates synchronization information. | |
| IMeshInitialAllocator * | initialAllocator () override |
| Specific initial allocator. | |
| void | allocate (UnstructuredMeshAllocateBuildInfo &build_info) override |
| void | allocate (CartesianMeshAllocateBuildInfo &build_info) override |
| EventObservable< const MeshEventArgs & > & | eventObservable (eMeshEventType type) override |
| Observable for an event. | |
| const MeshKind | meshKind () const override |
| Mesh characteristics. | |
| IMeshInternal * | _internalApi () override |
| Internal Arcane API. | |
| IMeshModifierInternal * | _modifierInternalApi () override |
| Internal API for Arcane. | |
| Public Member Functions inherited from Arcane::mesh::MeshVariables | |
| MeshVariables (ISubDomain *sub_domain, const String &base_name) | |
| 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 Member Functions inherited from Arcane::IMesh | |
| ARCANE_DEPRECATED_LONG_TERM ("Y2020: Do not use this method. Try to get 'ISubDomain' from another way") virtual ISubDomain *subDomain()=0 | |
| Associated subdomain. | |
Public Attributes | |
| NodeFamily * | m_node_family |
| EdgeFamily * | m_edge_family |
| FaceFamily * | m_face_family |
| CellFamily * | m_cell_family |
| DynamicMeshIncrementalBuilder * | m_mesh_builder = nullptr |
Private Member Functions | |
| void | _printMesh (std::ostream &ostr) |
| void | _allocateCells (Integer mesh_nb_cell, Int64ConstArrayView cells_info, Int32ArrayView cells=Int32ArrayView(), bool allow_build_face=true) |
| const char * | _className () const |
| void | _allocateCells2 (DynamicMeshIncrementalBuilder *mib) |
| void | _itemsUniqueIdsToLocalIdsSorted (eItemKind item_kind, ArrayView< Integer > ids) |
| void | _prepareForDump () |
| Prepares variables for a dump. | |
| void | _prepareForDumpReal () |
| Prepares variables for a dump. | |
| void | _readFromDump () |
| Reloads the mesh from protected variables. | |
| void | _setOwnersFromCells () |
| void | _synchronizeGroupsAndVariables () |
| void | _synchronizeGroups () |
| void | _synchronizeVariables () |
| void | _writeMesh (const String &base_name) |
| void | _removeGhostItems () |
| void | _removeGhostChildItems () |
| void | _removeGhostChildItems2 (Array< Int64 > &cells_to_coarsen) |
| void | _checkAMR () const |
| void | _sortInternalReferences () |
| void | _finalizeMeshChanged () |
| void | _compactItemInternalReferences () |
| void | _compactItems (bool do_sort, bool compact_variables_and_groups) |
| void | _checkValidItem (ItemInternal *item) |
| void | _computeSynchronizeInfos () |
| void | _computeFamilySynchronizeInfos () |
| void | _computeGroupSynchronizeInfos () |
| void | _exchangeItems (bool do_compact) |
| void | _exchangeItemsNew () |
| void | _checkDimension () const |
| void | _checkConnectivity () |
| void | _writeCells (const String &filename) |
| void | _prepareTiedInterfacesForDump () |
| void | _readTiedInterfacesFromDump () |
| void | _applyTiedInterfaceStructuration (TiedInterface *tied_interface) |
| void | _deleteTiedInterfaces () |
| void | _multipleExchangeItems (Integer nb_exchange, Integer version, bool do_compact) |
| Exchanges entities in multiple stages. | |
| void | _addCells (ISerializer *buffer, Int32Array *cells_local_id) |
| void | _setSubConnectivity () |
| void | _setDimension (Integer dim) |
| void | _internalUpdateGhost (bool update_ghost_layer, bool remove_old_ghost) |
| void | _internalEndUpdateInit (bool update_sync_info) |
| void | _internalEndUpdateResizeVariables () |
| void | _internalEndUpdateFinal (bool print_stat) |
| void | _computeExtraGhostCells () |
| void | _computeExtraGhostParticles () |
| void | _notifyEndUpdateForFamilies () |
| ItemFamily * | _createNewFamily (eItemKind kind, const String &name) |
| void | _saveProperties () |
| Saves properties before a dump. | |
| void | _loadProperties () |
| Reloads properties from a dump. | |
| void | _addFamily (ItemFamily *true_family) |
| void | _buildAndInitFamily (IItemFamily *family) |
| IItemFamilyPolicyMng * | _createFamilyPolicyMng (ItemFamily *family) |
| void | _applyCompactPolicy (const String &timer_name, std::function< void(IItemFamilyCompactPolicy *)> functor) |
| void | _updateGroupsAfterRemove () |
| Updates groups following entity deletions. | |
| void | _printConnectivityPolicy () |
| template<class SourceFamily, class TargetFamily> | |
| void | _addDependency (SourceFamily *source_family, TargetFamily *target_family) |
| template<class SourceFamily, class TargetFamily> | |
| void | _addRelation (SourceFamily *source_family, TargetFamily *target_family) |
| void | _updateItemFamilyDependencies (VariableScalarInteger connectivity) |
| void | _serializeItems (ISerializer *buffer, Int32ConstArrayView item_local_ids, IItemFamily *item_family) |
| void | _deserializeItems (ISerializer *buffer, Int32Array *item_local_ids, IItemFamily *item_family) |
| void | _fillSerializer (ISerializer *buffer, std::map< String, Int32UniqueArray > &serializedItems) |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
| Protected Attributes inherited from Arcane::mesh::MeshVariables | |
| ISubDomain * | m_sub_domain |
| VariableScalarInteger | m_mesh_dimension |
| Mesh dimension. | |
| VariableScalarInteger | m_mesh_connectivity |
| Mesh connectivity. | |
| VariableArrayString | m_item_families_name |
| Names of entity families. | |
| VariableArrayInteger | m_item_families_kind |
| Kind of entities in the families. | |
| VariableScalarString | m_parent_mesh_name |
| Name of the parent mesh. | |
| VariableScalarString | m_parent_group_name |
| Name of the parent group. | |
| VariableArrayString | m_child_meshes_name |
| Names of parent meshes. | |
Implementation of a mesh.
Definition at line 91 of file DynamicMesh.h.
| typedef List<IItemFamily*> Arcane::mesh::DynamicMesh::ItemFamilyList |
Definition at line 109 of file DynamicMesh.h.
| typedef ItemInternal* Arcane::mesh::DynamicMesh::ItemInternalPtr |
Definition at line 108 of file DynamicMesh.h.
| Arcane::mesh::DynamicMesh::DynamicMesh | ( | ISubDomain * | sd, |
| const MeshBuildInfo & | mbi, | ||
| bool | is_submesh ) |
Definition at line 175 of file DynamicMesh.cc.
| Arcane::mesh::DynamicMesh::~DynamicMesh | ( | ) |
AMR
Definition at line 321 of file DynamicMesh.cc.
References Arcane::IK_DoF, Arcane::IK_Particle, Arcane::TraceAccessor::info(), m_item_families, and m_mesh_refinement.
|
private |
Definition at line 941 of file DynamicMesh.cc.
|
inlineprivate |
Definition at line 710 of file DynamicMesh.h.
|
private |
Definition at line 1718 of file DynamicMesh.cc.
|
inlineprivate |
Definition at line 720 of file DynamicMesh.h.
|
private |
Definition at line 877 of file DynamicMesh.cc.
|
private |
Definition at line 1420 of file DynamicMesh.cc.
|
private |
Definition at line 2730 of file DynamicMesh.cc.
|
private |
Definition at line 1706 of file DynamicMesh.cc.
|
private |
Definition at line 3011 of file DynamicMesh.cc.
|
private |
Definition at line 2996 of file DynamicMesh.cc.
|
private |
Definition at line 2986 of file DynamicMesh.cc.
|
inline |
Definition at line 153 of file DynamicMesh.h.
|
private |
Definition at line 469 of file DynamicMesh.cc.
|
inlineprivate |
Definition at line 641 of file DynamicMesh.h.
|
private |
Definition at line 2745 of file DynamicMesh.cc.
|
private |
Definition at line 2754 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 522 of file DynamicMesh.h.
|
private |
Definition at line 2126 of file DynamicMesh.cc.
|
private |
Definition at line 2135 of file DynamicMesh.cc.
|
private |
Definition at line 626 of file DynamicMesh.cc.
|
private |
Definition at line 646 of file DynamicMesh.cc.
|
private |
Definition at line 616 of file DynamicMesh.cc.
|
inlineoverridevirtual |
|
private |
Definition at line 1680 of file DynamicMesh.cc.
|
private |
Definition at line 1655 of file DynamicMesh.cc.
|
private |
Definition at line 1035 of file DynamicMesh.cc.
|
private |
Definition at line 1779 of file DynamicMesh.cc.
|
private |
Definition at line 1962 of file DynamicMesh.cc.
|
private |
Definition at line 1055 of file DynamicMesh.cc.
|
private |
Definition at line 2712 of file DynamicMesh.cc.
|
overridevirtual |
|
private |
AMR
Definition at line 2485 of file DynamicMesh.cc.
References Arcane::MeshStats::dumpStats(), Arcane::TraceAccessor::info(), m_is_amr_activated, and traceMng().
|
private |
Definition at line 2452 of file DynamicMesh.cc.
|
private |
Definition at line 2474 of file DynamicMesh.cc.
|
private |
Definition at line 2424 of file DynamicMesh.cc.
|
private |
Reloads properties from a dump.
Definition at line 1507 of file DynamicMesh.cc.
References ghostLayerMng(), Arcane::TraceAccessor::info(), and name().
Referenced by _readFromDump().
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 3514 of file DynamicMesh.cc.
|
private |
Exchanges entities in multiple stages.
There are two versions for this mechanism:
We optimize slightly by only performing the optional compaction once.
TODO: optimize even better with a special function instead of calling _exchangeItems(); TODO: instead of dividing the list of cells into nb_exchange arbitrary parts, it would be necessary to do it by taking adjacent cells to avoid having too many exchanges of ghost cells if the cells are distributed randomly.
Definition at line 1858 of file DynamicMesh.cc.
References Arcane::Array< T >::add(), ARCANE_FATAL, cellFamily(), ENUMERATE_CELL, Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemsInternal(), Arcane::IItemFamily::itemsNewOwner(), Arcane::IItemFamily::itemsUniqueIdToLocalId(), mesh(), ownCells(), Arcane::Item::owner(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), and Arcane::Item::uniqueId().
|
private |
Definition at line 2530 of file DynamicMesh.cc.
|
private |
Prepares variables for a dump.
Definition at line 1546 of file DynamicMesh.cc.
References _prepareForDumpReal(), _saveProperties(), Arcane::BeginPrepareDump, Arcane::EndPrepareDump, Arcane::TraceAccessor::info(), and name().
Referenced by build(), endAllocate(), and prepareForDump().
|
private |
Prepares variables for a dump.
Definition at line 1581 of file DynamicMesh.cc.
References Arcane::mesh::MeshVariables::m_child_meshes_name, m_item_families, Arcane::mesh::MeshVariables::m_item_families_kind, Arcane::mesh::MeshVariables::m_item_families_name, Arcane::mesh::MeshVariables::m_parent_group_name, Arcane::mesh::MeshVariables::m_parent_mesh_name, and name().
Referenced by _prepareForDump().
|
private |
Definition at line 3466 of file DynamicMesh.cc.
|
private |
Definition at line 1464 of file DynamicMesh.cc.
|
private |
Reloads the mesh from protected variables.
Definition at line 2820 of file DynamicMesh.cc.
References _loadProperties(), ARCANE_FATAL, findItemFamily(), Arcane::IMeshMng::findMeshHandle(), Arcane::TraceAccessor::info(), Arcane::mesh::MeshVariables::m_child_meshes_name, m_item_families, Arcane::mesh::MeshVariables::m_item_families_kind, Arcane::mesh::MeshVariables::m_item_families_name, Arcane::mesh::MeshVariables::m_mesh_dimension, Arcane::mesh::MeshVariables::m_parent_group_name, Arcane::mesh::MeshVariables::m_parent_mesh_name, Arcane::MeshHandle::mesh(), and meshMng().
Referenced by build().
|
private |
Definition at line 2218 of file DynamicMesh.cc.
|
private |
Definition at line 2253 of file DynamicMesh.cc.
|
private |
Definition at line 2144 of file DynamicMesh.cc.
|
private |
Saves properties before a dump.
Definition at line 1483 of file DynamicMesh.cc.
References ghostLayerMng(), Arcane::TraceAccessor::info(), and name().
Referenced by _prepareForDump().
|
private |
Definition at line 1008 of file DynamicMesh.cc.
|
private |
Definition at line 2942 of file DynamicMesh.cc.
|
private |
Definition at line 3072 of file DynamicMesh.cc.
|
private |
Definition at line 3022 of file DynamicMesh.cc.
|
private |
Definition at line 2702 of file DynamicMesh.cc.
|
private |
Definition at line 2609 of file DynamicMesh.cc.
|
private |
Definition at line 2599 of file DynamicMesh.cc.
|
private |
Definition at line 2644 of file DynamicMesh.cc.
|
private |
Updates groups following entity deletions.
Definition at line 2173 of file DynamicMesh.cc.
|
private |
Definition at line 3489 of file DynamicMesh.cc.
|
private |
Definition at line 3036 of file DynamicMesh.cc.
|
private |
Definition at line 1439 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1375 of file DynamicMesh.cc.
|
overridevirtual |
Adds cells.
Reimplemented from Arcane::IMeshModifier.
Definition at line 908 of file DynamicMesh.cc.
|
overridevirtual |
Adds cells.
Adds cells. The format of cells_infos is identical to that of the IMesh::allocateCells() method. If cells_lid is not empty, it will contain the local IDs of the created cells. It is possible to perform multiple successive additions. Once the additions are complete, the endUpdate() method must be called. If an added cell has the same uniqueId() as an existing cell, the existing cell is kept as is and nothing happens.
The created cells are considered to belong to this subdomain. If this is not the case, their ownership must be modified afterwards.
This method is collective. If a subdomain does not wish to add cells, it is possible to pass an empty array.
Implements Arcane::IMeshModifier.
Definition at line 896 of file DynamicMesh.cc.
|
overridevirtual |
Adds cells from the data contained in buffer.
buffer must contain serialized cells, for example by calling IMesh::serializeCells().
Implements Arcane::IMeshModifier.
Definition at line 923 of file DynamicMesh.cc.
|
overridevirtual |
Adds cells from the data contained in buffer.
buffer must contain serialized cells, for example by calling IMesh::serializeCells(). In return, cells_local_id contains the list of localIds() of the deserialized cells. A cell may appear multiple times in this list if it appears multiple times in buffer.
Implements Arcane::IMeshModifier.
Definition at line 932 of file DynamicMesh.cc.
Implements Arcane::IMeshModifier.
Definition at line 1113 of file DynamicMesh.cc.
Implements Arcane::IMeshModifier.
Definition at line 1139 of file DynamicMesh.cc.
|
overridevirtual |
Adds a sub-mesh to the parent mesh.
Implements Arcane::IMesh.
Definition at line 3322 of file DynamicMesh.cc.
References ARCANE_FATAL.
Implements Arcane::IMeshModifier.
Definition at line 1165 of file DynamicMesh.cc.
|
overridevirtual |
Adds edges.
Adds edges. The format of edge_infos is identical to that of the IMesh::allocateCells() method. If edge_lids is not empty, it will contain the local IDs of the created edges. It is possible to perform multiple successive additions. Once the additions are complete, the endUpdate() method must be called. If an added edge has the same uniqueId() as an existing edge, the existing edge is kept as is and nothing happens.
The created edges are considered to belong to this subdomain. If this is not the case, their ownership must be modified afterwards.
This method is collective. If a subdomain does not wish to add edges, it is possible to pass an empty array.
Implements Arcane::IMeshModifier.
Definition at line 1202 of file DynamicMesh.cc.
|
overridevirtual |
addition of the "extraordinary" ghost cells addition algorithm.
Implements Arcane::IMeshModifier.
Definition at line 2090 of file DynamicMesh.cc.
|
overridevirtual |
Addition of the "extraordinary" ghost particle addition algorithm.
Implements Arcane::IMeshModifier.
Definition at line 2108 of file DynamicMesh.cc.
|
overridevirtual |
Adds faces.
Adds faces. The format of face_infos is identical to that of the IMesh::allocateCells() method. If face_lids is not empty, it will contain the local IDs of the created faces. It is possible to perform multiple successive additions. Once the additions are complete, the endUpdate() method must be called. If an added face has the same uniqueId() as an existing face, the existing face is kept as is and nothing happens.
The created faces are considered to belong to this subdomain. If this is not the case, their ownership must be modified afterwards.
Reimplemented from Arcane::IMeshModifier.
Definition at line 1193 of file DynamicMesh.cc.
References addFaces().
|
overridevirtual |
Adds faces.
Implements Arcane::IMeshModifier.
Definition at line 1178 of file DynamicMesh.cc.
Referenced by addFaces().
|
overridevirtual |
AMR.
Implements Arcane::IMeshModifier.
Definition at line 1087 of file DynamicMesh.cc.
References traceMng().
|
overridevirtual |
Adds nodes.
Adds nodes with unique identifiers being the values of the nodes_uid array. If nodes_lid is not empty, it will contain the local IDs of the created nodes. It is possible to perform multiple successive additions. Once the additions are complete, the endUpdate() method must be called. It is possible to specify an already existing uniqueId(). In this case, the node is simply ignored.
The created nodes are considered to belong to this subdomain. If this is not the case, their ownership must be modified afterwards.
This method is collective. If a subdomain does not wish to add nodes, it is possible to pass an empty array.
Implements Arcane::IMeshModifier.
Definition at line 1217 of file DynamicMesh.cc.
| void Arcane::mesh::DynamicMesh::addParentCells | ( | ItemVectorView & | items | ) |
Definition at line 1075 of file DynamicMesh.cc.
Implements Arcane::IMeshModifier.
Definition at line 1100 of file DynamicMesh.cc.
Implements Arcane::IMeshModifier.
Definition at line 1126 of file DynamicMesh.cc.
Implements Arcane::IMeshModifier.
Definition at line 1152 of file DynamicMesh.cc.
|
overridevirtual |
AMR.
AMR Group of all active cells
Group of all active cells
Implements Arcane::IMesh.
Definition at line 3174 of file DynamicMesh.cc.
|
overridevirtual |
Group of all active faces.
Implements Arcane::IMesh.
Definition at line 3206 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Group of all cells.
Implements Arcane::IMeshBase.
Definition at line 361 of file DynamicMesh.h.
References Arcane::IK_Cell.
|
inlineoverridevirtual |
Group of all edges.
Implements Arcane::IMeshBase.
Definition at line 359 of file DynamicMesh.h.
References Arcane::IK_Edge.
|
inlineoverridevirtual |
Group of all faces.
Implements Arcane::IMeshBase.
Definition at line 360 of file DynamicMesh.h.
References Arcane::IK_Face.
Definition at line 364 of file DynamicMesh.h.
Group of all cells at level level.
Group of all cells of level level.
Implements Arcane::IMesh.
Definition at line 3190 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Group of all nodes.
Implements Arcane::IMeshBase.
Definition at line 358 of file DynamicMesh.h.
References Arcane::IK_Node.
|
overridevirtual |
Implements Arcane::ICartesianMeshInitialAllocator.
Definition at line 973 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IUnstructuredMeshInitialAllocator.
Definition at line 962 of file DynamicMesh.cc.
|
overridevirtual |
Allocation of a mesh.
Creation of an arbitrary mesh.
This method is the most generic of the mesh creation methods. It is used when you only know the cells and the list of their nodes based on their unique global number.
This operation allocates the structures for the mesh containing a number of cells equal to nb_cell, the cells being described by the array cells_infos.
Since the node numbers are unique numbers, their value can be arbitrary: it is not necessary to start at zero, nor must the numbers be consecutive. The implementation handles determining the number of nodes in the mesh.
For example, if we have two cells, the first of type IT_Hexaedron8, with unique number 23, and the second of type IT_Tetraedron4 with unique number 45, the array cells_infos will contain 16 elements, distributed as follows:
If nb_cell is zero and cells_infos is not empty, the number of cells is determined dynamically. The array cells_infos is iterated until the end of the array is reached or a cell of type IT_NullType is encountered.
If one_alloc is true, the endAllocate() operation is called to indicate that no other cells will be added. It is possible to allocate the mesh in several steps by setting one_alloc to false and calling endAllocate() at the end.
Implements Arcane::IPrimaryMesh.
Definition at line 767 of file DynamicMesh.cc.
References ARCANE_FATAL, ARCANE_FATAL_IF, Arcane::ConstArrayView< T >::empty(), endAllocate(), Arcane::TraceAccessor::info(), Arcane::Timer::lastActivationTime(), Arcane::Timer::TimerReal, and traceMng().
|
overridevirtual |
AMR
AMR
Implements Arcane::IMesh.
Definition at line 371 of file DynamicMesh.cc.
References _prepareForDump(), _readFromDump(), ARCANE_FATAL, Arcane::Cell, endAllocate(), endUpdate(), Arcane::mesh::ItemGroupDynamicMeshObserver::executeExtend(), Arcane::TraceAccessor::info(), m_is_amr_activated, m_item_families, m_mesh_refinement, name(), Arcane::None, parentMesh(), Arcane::Patch, Arcane::PatchCartesianMeshOnly, properties(), Arcane::IVariableMng::readObservable(), traceMng(), and Arcane::IVariableMng::writeObservable().
|
overridevirtual |
Returns the cell family.
Implements Arcane::IMeshBase.
Definition at line 3418 of file DynamicMesh.cc.
Referenced by _multipleExchangeItems().
| DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::cellsMap | ( | ) |
Definition at line 3442 of file DynamicMesh.cc.
|
overridevirtual |
|
overridevirtual |
| void Arcane::mesh::DynamicMesh::checkValidConnectivity | ( | ) |
Definition at line 547 of file DynamicMesh.cc.
|
overridevirtual |
Check for the validity of internal mesh structures (internal).
Implements Arcane::IMesh.
Definition at line 525 of file DynamicMesh.cc.
Referenced by endAllocate().
|
overridevirtual |
Mesh validity check.
This is a global check across all subdomains.
It notably checks that connectivity is consistent between subdomains.
The check can be quite CPU intensive. This method is collective.
Implements Arcane::IMesh.
Definition at line 536 of file DynamicMesh.cc.
|
overridevirtual |
List of sub-meshes of the current mesh.
Implements Arcane::IMesh.
Definition at line 3337 of file DynamicMesh.cc.
|
overridevirtual |
Deletes all entities of all families in this mesh.
Implements Arcane::IMeshModifier.
Definition at line 1933 of file DynamicMesh.cc.
References endUpdate(), and m_item_families.
Referenced by deallocate().
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1346 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1359 of file DynamicMesh.cc.
| void Arcane::mesh::DynamicMesh::compact | ( | ) |
Definition at line 1390 of file DynamicMesh.cc.
|
overridevirtual |
Recalculates synchronization information.
This operation is collective.
Normally this is done automatically by Arcane when it is necessary. However, it can happen following certain internal modifications that the information for synchronization needs to be manually updated.
Implements Arcane::IMesh.
Definition at line 3523 of file DynamicMesh.cc.
Referenced by endAllocate(), reloadMesh(), and updateGhostLayerFromParent().
|
overridevirtual |
Determines the semi-conforming interfaces.
Implements Arcane::IMesh.
Definition at line 2923 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Connectivity descriptor.
This object allows reading/modifying connectivity
Implements Arcane::IMesh.
Definition at line 182 of file DynamicMesh.h.
References Arcane::mesh::MeshVariables::m_mesh_connectivity.
Definition at line 605 of file DynamicMesh.cc.
Definition at line 593 of file DynamicMesh.cc.
|
overridevirtual |
Create a particle family named name.
Implements Arcane::IMeshBase.
Definition at line 1634 of file DynamicMesh.cc.
References ARCANE_FATAL, Arcane::TraceAccessor::debug(), findItemFamily(), Arcane::itemKindName(), and name().
Referenced by findItemFamily().
|
overridevirtual |
Deallocates the mesh.
This deletes all entities and all entity groups. The mesh must then be reallocated via the call to allocateCells(). This call also deletes the mesh dimension, which must be reset by setDimension(). It is therefore possible to change the mesh dimension afterward.
This method is collective.
Implements Arcane::IPrimaryMesh.
Definition at line 750 of file DynamicMesh.cc.
References ARCANE_FATAL, clearItems(), destroyGroups(), and Arcane::mesh::MeshVariables::m_mesh_dimension.
|
overridevirtual |
Defines the parent mesh and group.
Must be set on the mesh being constructed before the build() phase
Implements Arcane::IMesh.
Definition at line 3244 of file DynamicMesh.cc.
References ARCANE_FATAL, Arcane::IK_Cell, Arcane::IK_Edge, Arcane::IK_Face, Arcane::IK_Node, Arcane::IK_Unknown, Arcane::ItemGroup::internal(), Arcane::ItemGroup::itemKind(), Arcane::MeshToMeshTransposer::kindTranspose(), m_item_families, Arcane::ItemGroup::mesh(), mesh(), name(), and traceMng().
|
overridevirtual |
Destroys all groups of all families.
Implements Arcane::IMesh.
Definition at line 556 of file DynamicMesh.cc.
References m_item_families.
Referenced by deallocate().
|
overridevirtual |
Detaches cells from the mesh.
The detached cells are disconnected from the mesh. The nodes, edges, and faces of these cells no longer reference them, and the uniqueId() of these cells can be reused. To permanently destroy these cells, the removeDetachedCells() method must be called.
Implements Arcane::IMeshModifier.
Definition at line 1279 of file DynamicMesh.cc.
References Arcane::ConstArrayView< T >::size(), and traceMng().
|
inlineoverridevirtual |
Mesh dimension (1D, 2D, or 3D).
The dimension corresponds to the dimension of the cells. If cells of multiple dimensions are present, the highest dimension is returned. If the dimension has not yet been set, returns -1;
Implements Arcane::IMeshBase.
Definition at line 180 of file DynamicMesh.h.
References Arcane::mesh::MeshVariables::m_mesh_dimension.
|
overridevirtual |
Returns the edge family.
Implements Arcane::IMeshBase.
Definition at line 3406 of file DynamicMesh.cc.
| DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::edgesMap | ( | ) |
Definition at line 3430 of file DynamicMesh.cc.
|
overridevirtual |
Indicates the end of cell allocation.
As long as this method has not been called, it is not valid to use this instance, except for allocating the mesh (allocateCells()).
This method is collective.
Implements Arcane::IPrimaryMesh.
Definition at line 792 of file DynamicMesh.cc.
References _prepareForDump(), ARCANE_FATAL_IF, Arcane::arcaneIsCheck(), checkValidMesh(), computeSynchronizeInfos(), Arcane::MeshStats::dumpStats(), Arcane::ITimeStats::dumpTimeAndMemoryUsage(), Arcane::platform::getEnvironmentVariable(), Arcane::TraceAccessor::info(), m_item_families, Arcane::String::null(), parallelMng(), and traceMng().
Referenced by allocateCells(), and build().
|
overridevirtual |
Notifies the instance that mesh modification is finished.
This method is collective.
Implements Arcane::IMeshModifier.
Definition at line 2540 of file DynamicMesh.cc.
References endUpdate().
Referenced by build(), clearItems(), and endUpdate().
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 2549 of file DynamicMesh.cc.
|
inlineoverridevirtual |
|
overridevirtual |
Changes the owning subdomains of entities.
This method is called when load balancing and redistributing the mesh between processors is desired. The method assumes that the IItemsFamily::itemsOwner() variables for each type of mesh entity (node, edge, face, and cell) contain the number of the new owning subdomain for each entity. These variables must be synchronized.
The instance then takes care of giving the cells that belong to it to other processors and receiving new cells from them, and then doing the same for nodes, edges, faces, and particles. The values of the variables and entity groups are also exchanged.
After calling this method, you may need to call the mesh change entry points (ITimeLoopMng::execMeshChangedEntryPoints).
To call this method, isDynamic() must be true.
Calling this method triggers an implicit call to endUpdate().
Implements Arcane::IPrimaryMesh.
Definition at line 1924 of file DynamicMesh.cc.
|
overridevirtual |
Returns the face family.
Implements Arcane::IMeshBase.
Definition at line 3412 of file DynamicMesh.cc.
| DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::facesMap | ( | ) |
Definition at line 3436 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Name of the factory used to create the mesh.
Implements Arcane::IMesh.
Definition at line 177 of file DynamicMesh.h.
Definition at line 444 of file DynamicMesh.h.
Definition at line 436 of file DynamicMesh.h.
Definition at line 440 of file DynamicMesh.h.
Returns the group with name name or a null group if none exists.
Implements Arcane::IMesh.
Definition at line 567 of file DynamicMesh.cc.
References m_item_families, name(), and Arcane::ItemGroup::null().
| ItemGroup Arcane::mesh::DynamicMesh::findGroup | ( | const String & | name, |
| eItemKind | ik, | ||
| bool | create_if_needed ) |
Definition at line 582 of file DynamicMesh.cc.
|
overridevirtual |
Returns the family named name.
If the requested family does not exist, if throw_exception is true, an exception is thrown, otherwise a null pointer is returned.
Implements Arcane::IMeshBase.
Definition at line 1750 of file DynamicMesh.cc.
References ARCANE_FATAL, m_item_families, and name().
|
overridevirtual |
Returns the family named name.
If create_if_needed is true, the family is created if it did not exist. If register_modifier_if_created is true, the family modifier is registered
Implements Arcane::IMeshBase.
Definition at line 1728 of file DynamicMesh.cc.
References createItemFamily(), m_item_families, modifier(), and name().
Referenced by _readFromDump(), createItemFamily(), and findItemFamilyModifier().
|
overridevirtual |
Returns the IItemFamilyModifier interface for the family named name and of type ik.
If this modifier is not found, returns nullptr
Implements Arcane::IMeshBase.
Definition at line 1764 of file DynamicMesh.cc.
References findItemFamily(), modifier(), and name().
Definition at line 432 of file DynamicMesh.h.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1323 of file DynamicMesh.cc.
|
overridevirtual |
AMR.
Implements Arcane::IMeshModifier.
Definition at line 1312 of file DynamicMesh.cc.
References m_mesh_refinement, and traceMng().
|
inlineoverridevirtual |
Associated ghost layer manager.
Implements Arcane::IMesh.
Definition at line 297 of file DynamicMesh.h.
Referenced by _loadProperties(), and _saveProperties().
|
overridevirtual |
List of groups.
Implements Arcane::IMesh.
Definition at line 661 of file DynamicMesh.cc.
References m_all_groups, and m_item_families.
|
inlineoverridevirtual |
|
overridevirtual |
True if semi-conforming interfaces exist in the mesh.
Implements Arcane::IMesh.
Definition at line 2896 of file DynamicMesh.cc.
|
inline |
Definition at line 530 of file DynamicMesh.h.
|
inlineoverridevirtual |
Interface of the indexed incremental connectivity manager.
Implements Arcane::IMesh.
Definition at line 538 of file DynamicMesh.h.
|
inlineoverridevirtual |
Specific initial allocator.
If null, allocateCells() must be used.
Reimplemented from Arcane::IPrimaryMesh.
Definition at line 550 of file DynamicMesh.h.
|
overridevirtual |
Implements Arcane::IMesh.
Definition at line 677 of file DynamicMesh.cc.
References ARCANE_FATAL, Arcane::XmlNode::children(), Arcane::TraceAccessor::debug(), ENUMERATE_ITEM, Arcane::TraceAccessor::error(), Arcane::IItemFamily::findGroup(), Arcane::IVariableMng::findMeshVariable(), Arcane::IVariable::initialize(), Arcane::IVariable::isUsed(), Arcane::IVariable::itemFamily(), m_item_families, Arcane::IItemFamily::name(), Arcane::IVariable::name(), Arcane::ItemGroup::null(), Arcane::XmlNode::null(), Arcane::Item::owner(), and Arcane::ICaseDocumentFragment::rootElement().
|
overridevirtual |
Group of all active faces.
Group of all internal active faces.
Implements Arcane::IMesh.
Definition at line 3225 of file DynamicMesh.cc.
|
inlineoverridevirtual |
True if the mesh is allocated.
A mesh is allocated as soon as an entity has been added, by allocateCells(), or reloadMesh()
Implements Arcane::IMesh.
Definition at line 240 of file DynamicMesh.h.
|
inlineoverridevirtual |
AMR.
Implements Arcane::IMesh.
Definition at line 453 of file DynamicMesh.h.
References m_is_amr_activated.
|
inlineoverridevirtual |
Indicates if the mesh is dynamic (can evolve).
Implements Arcane::IMesh.
Definition at line 484 of file DynamicMesh.h.
|
overridevirtual |
Indicates if the instance is a primary mesh.
To be a primary mesh, the instance must be convertible to an IPrimaryMesh and not be a sub-mesh, meaning it does not have a parent mesh (parentMesh()==nullptr).
Implements Arcane::IMesh.
Definition at line 3359 of file DynamicMesh.cc.
References parentMesh().
Referenced by toPrimaryMesh().
|
inlineoverridevirtual |
Implements Arcane::IMeshBase.
Definition at line 477 of file DynamicMesh.h.
|
inlineoverridevirtual |
Returns the entity family of type ik.
Implements Arcane::IMeshBase.
Definition at line 467 of file DynamicMesh.h.
References m_item_families.
|
inlineoverridevirtual |
Family network interface (connected families).
Implements Arcane::IMesh.
Definition at line 537 of file DynamicMesh.h.
Referenced by serializeCells().
|
inlineoverridevirtual |
Internal array of mesh elements of type type.
Implements Arcane::IMesh.
Definition at line 194 of file DynamicMesh.h.
References m_item_families.
|
inlineoverridevirtual |
Variable containing the identifier of the owning subdomain.
Returns the variable containing the identifier of the owning subdomain of entities of the given kind.
Implements Arcane::IPrimaryMesh.
Definition at line 303 of file DynamicMesh.h.
References m_item_families.
|
inlineoverridevirtual |
Associated entity type manager.
Implements Arcane::IMesh.
Definition at line 544 of file DynamicMesh.h.
|
overridevirtual |
Merges the meshes of meshes with the current mesh.
Implements Arcane::IMeshModifier.
Definition at line 3451 of file DynamicMesh.cc.
References Arcane::Array< T >::add(), ARCANE_CHECK_POINTER, and mesh().
|
inlineoverridevirtual |
Associated mesh.
Implements Arcane::IMeshModifier.
Definition at line 179 of file DynamicMesh.h.
Referenced by _multipleExchangeItems(), defineParentForBuild(), and mergeMeshes().
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 413 of file DynamicMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Associated mesh manager.
Implements Arcane::IMesh.
Definition at line 542 of file DynamicMesh.h.
Referenced by _readFromDump().
|
inlineoverridevirtual |
Information about mesh parts.
Implements Arcane::IMesh.
Definition at line 292 of file DynamicMesh.h.
|
inline |
Definition at line 232 of file DynamicMesh.h.
|
inline |
Definition at line 531 of file DynamicMesh.h.
|
inlineoverridevirtual |
Unique ID numbering manager.
Implements Arcane::IMesh.
Definition at line 298 of file DynamicMesh.h.
|
inlineoverridevirtual |
Associated modifier interface.
Implements Arcane::IMesh.
Definition at line 509 of file DynamicMesh.h.
Referenced by findItemFamily(), and findItemFamilyModifier().
|
inlineoverridevirtual |
Mesh name.
Implements Arcane::IMeshBase.
Definition at line 176 of file DynamicMesh.h.
Referenced by _loadProperties(), _prepareForDump(), _prepareForDumpReal(), _saveProperties(), build(), createItemFamily(), defineParentForBuild(), findGroup(), findItemFamily(), findItemFamily(), findItemFamilyModifier(), and reloadMesh().
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Number of elements of type ik.
Implements Arcane::IMeshBase.
Definition at line 188 of file DynamicMesh.h.
References m_item_families.
|
overridevirtual |
|
overridevirtual |
Returns the node family.
Implements Arcane::IMeshBase.
Definition at line 3400 of file DynamicMesh.cc.
Referenced by sharedNodesCoordinates().
|
overridevirtual |
Node coordinates.
Implements Arcane::IPrimaryMesh.
Definition at line 3051 of file DynamicMesh.cc.
Referenced by sharedNodesCoordinates().
| DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::nodesMap | ( | ) |
Definition at line 3424 of file DynamicMesh.cc.
|
overridevirtual |
Group of all active faces on the boundary.
Implements Arcane::IMesh.
Definition at line 3233 of file DynamicMesh.cc.
|
overridevirtual |
Group of all faces on the boundary.
Implements Arcane::IMeshBase.
Definition at line 3163 of file DynamicMesh.cc.
|
overridevirtual |
Group of all active and domain-specific cells.
Implements Arcane::IMesh.
Definition at line 3182 of file DynamicMesh.cc.
|
overridevirtual |
Group of all active faces on the boundary.
Group of all active faces specific to the sub-domain.
Implements Arcane::IMesh.
Definition at line 3214 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Group of all domain-specific cells.
Implements Arcane::IMeshBase.
Definition at line 373 of file DynamicMesh.h.
References Arcane::IK_Cell.
Referenced by _multipleExchangeItems().
|
inlineoverridevirtual |
Group of all domain-specific edges.
Implements Arcane::IMeshBase.
Definition at line 371 of file DynamicMesh.h.
References Arcane::IK_Edge.
|
inlineoverridevirtual |
Group of all domain-specific faces.
Implements Arcane::IMeshBase.
Definition at line 372 of file DynamicMesh.h.
References Arcane::IK_Face.
Definition at line 376 of file DynamicMesh.h.
Group of all domain-specific cells at level level.
Group of all own cells of level level.
Implements Arcane::IMesh.
Definition at line 3198 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Group of all domain-specific nodes.
Implements Arcane::IMeshBase.
Definition at line 370 of file DynamicMesh.h.
References Arcane::IK_Node.
|
overridevirtual |
Parallelism manager.
Implements Arcane::IMesh.
Definition at line 460 of file DynamicMesh.cc.
Referenced by endAllocate().
|
overridevirtual |
Parent group.
Returns the null group if the mesh has no parent.
Implements Arcane::IMesh.
Definition at line 3313 of file DynamicMesh.cc.
|
overridevirtual |
Access to the parent mesh.
Returns nullptr if the mesh does not have a parent mesh.
Implements Arcane::IMesh.
Definition at line 3304 of file DynamicMesh.cc.
Referenced by build(), isPrimaryMesh(), and sharedNodesCoordinates().
|
overridevirtual |
Manager of partitioning constraints associated with this mesh.
Implements Arcane::IMesh.
Definition at line 3295 of file DynamicMesh.cc.
|
overridevirtual |
Prepares the instance for dumping.
Implements Arcane::IMesh.
Definition at line 479 of file DynamicMesh.cc.
References _prepareForDump().
|
inlineoverridevirtual |
Properties associated with this mesh.
Implements Arcane::IMesh.
Definition at line 510 of file DynamicMesh.h.
Referenced by build().
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1334 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1399 of file DynamicMesh.cc.
|
overridevirtual |
Reloads the mesh from protected variables.
Implements Arcane::IPrimaryMesh.
Definition at line 488 of file DynamicMesh.cc.
References computeSynchronizeInfos(), Arcane::TraceAccessor::info(), Arcane::Timer::lastActivationTime(), name(), Arcane::Timer::TimerReal, and traceMng().
|
inlineoverridevirtual |
Removes cells.
Removes the cells whose local IDs are provided in cells_local_id. It is possible to perform multiple successive removals. Once the removals are complete, the endUpdate() method must be called.
Implements Arcane::IMeshModifier.
Definition at line 257 of file DynamicMesh.h.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1232 of file DynamicMesh.cc.
|
overridevirtual |
Removes detached cells.
Removes detached cells via detachCells(). It is possible to perform multiple successive removals. Once the removals are complete, the endUpdate() method must be called.
Implements Arcane::IMeshModifier.
Definition at line 1295 of file DynamicMesh.cc.
References Arcane::ConstArrayView< T >::size(), and traceMng().
|
overridevirtual |
Removes the association with the builder instance.
Implements Arcane::IMeshModifier.
Definition at line 2099 of file DynamicMesh.cc.
|
overridevirtual |
Removes the association with the builder instance.
Implements Arcane::IMeshModifier.
Definition at line 2117 of file DynamicMesh.cc.
| void Arcane::mesh::DynamicMesh::removeItems | ( | IItemFamily * | item_family, |
| Int32ConstArrayView | cells_local_id ) |
Definition at line 1250 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IMesh.
Definition at line 984 of file DynamicMesh.cc.
References Arcane::ISerializer::allocateBuffer(), itemFamilyNetwork(), Arcane::ISerializer::ModePut, Arcane::ISerializer::setMode(), and traceMng().
|
overridevirtual |
Sets the mesh check level.
0 - tests disabled 1 - partial tests, after endUpdate() 2 - full tests, after endUpdate()
Implements Arcane::IMesh.
Definition at line 507 of file DynamicMesh.cc.
|
overridevirtual |
Positions the mesh dimension (1D, 2D, or 3D).
The dimension corresponds to the dimension of the cell elements. If cells of multiple dimensions are present, the highest dimension must be indicated.
The dimension must be set before allocating cells if one uses allocateCells(), and must not be modified afterward.
Implements Arcane::IPrimaryMesh.
Definition at line 2932 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Sets the property indicating whether the mesh can evolve.
This property must be set to true if you wish to modify the mesh, for example by exchanging entities via the exchangeItems() call. This only concerns nodes, edges, faces, and cells, but not particles, which can still be created and destroyed.
By default, isDynamic() is false.
The property setting can only be done during initialization.
Implements Arcane::IMeshModifier.
Definition at line 489 of file DynamicMesh.h.
| void Arcane::mesh::DynamicMesh::setEstimatedCells | ( | Integer | nb_cell | ) |
Definition at line 2793 of file DynamicMesh.cc.
|
overridevirtual |
Positions partitioning information.
Implements Arcane::IPrimaryMesh.
Definition at line 3479 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Positions entity owners based on the cell owner.
Positions the owners of entities other than cells (Node, Edge, and Face) based on the cell owner. This operation is only useful in parallel and must only be called during initialization after the endAllocate() method.
This operation is collective.
Implements Arcane::IPrimaryMesh.
Definition at line 521 of file DynamicMesh.h.
|
overridevirtual |
Node coordinates.
Implements Arcane::IMesh.
Definition at line 3060 of file DynamicMesh.cc.
References nodeFamily(), nodesCoordinates(), parentMesh(), and toPrimaryMesh().
|
inlineoverride |
Definition at line 420 of file DynamicMesh.h.
|
overridevirtual |
Synchronizes all mesh groups and variables.
This operation is collective
Implements Arcane::IMesh.
Definition at line 2585 of file DynamicMesh.cc.
|
overridevirtual |
List of semi-conforming interfaces.
Implements Arcane::IMesh.
Definition at line 2905 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Counter indicating the time of the last mesh modification.
This counter increases with every call to endUpdate(). It is 0 upon initialization. It allows, for example, checking if the mesh topology has changed between two parts of the code.
Implements Arcane::IMesh.
Definition at line 286 of file DynamicMesh.h.
|
overridevirtual |
Returns the instance in the form of an IPrimaryMesh.
Throws a BadCastException if the instance is not of type IPrimaryMesh and if isPrimaryMesh() is false.
Implements Arcane::IMesh.
Definition at line 3368 of file DynamicMesh.cc.
References isPrimaryMesh().
Referenced by sharedNodesCoordinates().
|
inlineoverridevirtual |
Associated message manager.
Implements Arcane::IMeshBase.
Definition at line 422 of file DynamicMesh.h.
References Arcane::TraceAccessor::traceMng().
Referenced by _internalEndUpdateFinal(), addHChildrenCells(), allocateCells(), build(), defineParentForBuild(), detachCells(), endAllocate(), flagCellToRefine(), reloadMesh(), removeDetachedCells(), serializeCells(), and updateGhostLayerFromParent().
|
inline |
Definition at line 354 of file DynamicMesh.h.
|
inline |
Definition at line 352 of file DynamicMesh.h.
|
inline |
Definition at line 353 of file DynamicMesh.h.
|
inline |
Definition at line 351 of file DynamicMesh.h.
| ConstArrayView< TiedInterface * > Arcane::mesh::DynamicMesh::trueTiedInterfaces | ( | ) |
Definition at line 2914 of file DynamicMesh.cc.
|
overridevirtual |
Implements Arcane::IMeshModifier.
Definition at line 1409 of file DynamicMesh.cc.
|
overridevirtual |
AMR.
AMR
Implements Arcane::IMeshModifier.
Definition at line 2292 of file DynamicMesh.cc.
References ARCANE_FATAL, Arcane::Face::cell(), computeSynchronizeInfos(), Arcane::MeshStats::dumpStats(), Arcane::VariableCollection::each(), Arcane::Cell::face(), Arcane::TraceAccessor::info(), Arcane::ItemBase::isAncestor(), Arcane::Item::isOwn(), Arcane::Item::localId(), m_is_amr_activated, m_item_families, m_mesh_refinement, Arcane::Face::nbCell(), Arcane::Cell::nbFace(), Arcane::TraceAccessor::pinfo(), Arcane::IVariable::resizeFromGroup(), Arcane::AbstractArray< T >::size(), traceMng(), and Arcane::IVariableMng::usedVariables().
|
overridevirtual |
Updates the ghost layers
Implements Arcane::IMeshModifier.
Definition at line 2183 of file DynamicMesh.cc.
References updateGhostLayers().
Referenced by updateGhostLayers().
|
overridevirtual |
Implements Arcane::IMesh.
Definition at line 2192 of file DynamicMesh.cc.
|
inlineoverridevirtual |
check if the network itemFamily dependencies is activated
Implements Arcane::IMesh.
Definition at line 536 of file DynamicMesh.h.
|
inlineoverridevirtual |
Associated user data manager.
Implements Arcane::IMesh.
Definition at line 295 of file DynamicMesh.h.
|
inlineoverridevirtual |
Associated user data manager.
Implements Arcane::IMesh.
Definition at line 294 of file DynamicMesh.h.
|
overridevirtual |
Associated utility functions interface.
Implements Arcane::IMesh.
Definition at line 3152 of file DynamicMesh.cc.
|
inlineoverridevirtual |
Associated variable manager.
Implements Arcane::IMesh.
Definition at line 543 of file DynamicMesh.h.
|
private |
Definition at line 101 of file DynamicMesh.h.
|
private |
Definition at line 104 of file DynamicMesh.h.
|
private |
|
private |
Definition at line 592 of file DynamicMesh.h.
| CellFamily* Arcane::mesh::DynamicMesh::m_cell_family |
Definition at line 341 of file DynamicMesh.h.
|
private |
Definition at line 347 of file DynamicMesh.h.
|
private |
Definition at line 621 of file DynamicMesh.h.
|
private |
Definition at line 330 of file DynamicMesh.h.
|
private |
Definition at line 629 of file DynamicMesh.h.
| EdgeFamily* Arcane::mesh::DynamicMesh::m_edge_family |
Definition at line 339 of file DynamicMesh.h.
|
private |
Definition at line 583 of file DynamicMesh.h.
|
private |
Definition at line 584 of file DynamicMesh.h.
| FaceFamily* Arcane::mesh::DynamicMesh::m_face_family |
Definition at line 340 of file DynamicMesh.h.
|
private |
Definition at line 332 of file DynamicMesh.h.
|
private |
Definition at line 604 of file DynamicMesh.h.
|
private |
Definition at line 612 of file DynamicMesh.h.
|
private |
Definition at line 334 of file DynamicMesh.h.
|
private |
Definition at line 627 of file DynamicMesh.h.
|
private |
Definition at line 585 of file DynamicMesh.h.
|
private |
Definition at line 586 of file DynamicMesh.h.
|
private |
Definition at line 329 of file DynamicMesh.h.
|
private |
AMR.
Definition at line 591 of file DynamicMesh.h.
Referenced by _internalEndUpdateFinal(), build(), isAmrActivated(), and updateGhostLayerFromParent().
|
private |
Definition at line 594 of file DynamicMesh.h.
|
private |
Definition at line 608 of file DynamicMesh.h.
|
private |
List of entity family interfaces.
Definition at line 600 of file DynamicMesh.h.
Referenced by _prepareForDumpReal(), _readFromDump(), build(), clearItems(), defineParentForBuild(), destroyGroups(), endAllocate(), findGroup(), findItemFamily(), findItemFamily(), groups(), initializeVariables(), itemFamily(), itemsInternal(), itemsNewOwner(), nbItem(), updateGhostLayerFromParent(), and ~DynamicMesh().
|
private |
Definition at line 625 of file DynamicMesh.h.
|
private |
Definition at line 325 of file DynamicMesh.h.
|
private |
Definition at line 626 of file DynamicMesh.h.
| DynamicMeshIncrementalBuilder* Arcane::mesh::DynamicMesh::m_mesh_builder = nullptr |
Definition at line 574 of file DynamicMesh.h.
|
private |
Definition at line 578 of file DynamicMesh.h.
|
private |
Definition at line 615 of file DynamicMesh.h.
|
private |
Definition at line 631 of file DynamicMesh.h.
|
private |
Definition at line 614 of file DynamicMesh.h.
|
private |
Definition at line 323 of file DynamicMesh.h.
|
private |
Definition at line 628 of file DynamicMesh.h.
|
private |
Definition at line 322 of file DynamicMesh.h.
|
private |
Definition at line 622 of file DynamicMesh.h.
|
private |
AMR.
Definition at line 581 of file DynamicMesh.h.
Referenced by build(), flagCellToRefine(), updateGhostLayerFromParent(), and ~DynamicMesh().
|
private |
Definition at line 613 of file DynamicMesh.h.
|
private |
Definition at line 570 of file DynamicMesh.h.
|
private |
Definition at line 331 of file DynamicMesh.h.
|
private |
Definition at line 333 of file DynamicMesh.h.
|
private |
Definition at line 582 of file DynamicMesh.h.
| NodeFamily* Arcane::mesh::DynamicMesh::m_node_family |
Definition at line 338 of file DynamicMesh.h.
|
private |
Definition at line 606 of file DynamicMesh.h.
|
private |
Definition at line 324 of file DynamicMesh.h.
|
private |
Definition at line 346 of file DynamicMesh.h.
|
private |
Definition at line 345 of file DynamicMesh.h.
|
private |
Definition at line 611 of file DynamicMesh.h.
|
private |
Definition at line 327 of file DynamicMesh.h.
|
private |
Definition at line 321 of file DynamicMesh.h.
|
private |
Definition at line 579 of file DynamicMesh.h.
|
private |
Definition at line 607 of file DynamicMesh.h.
|
private |
Definition at line 609 of file DynamicMesh.h.
|
private |
Definition at line 328 of file DynamicMesh.h.
|
private |
List of entity family implementations.
Definition at line 603 of file DynamicMesh.h.
|
private |
Definition at line 624 of file DynamicMesh.h.
|
private |
Definition at line 326 of file DynamicMesh.h.