Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::DynamicMesh Class Reference

Implementation of a mesh. More...

#include <arcane/mesh/DynamicMesh.h>

Inheritance diagram for Arcane::mesh::DynamicMesh:
Collaboration diagram for Arcane::mesh::DynamicMesh:

Classes

class  InitialAllocator

Public Types

typedef ItemInternalItemInternalPtr
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.
IMeshmesh () 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.
VariableNodeReal3nodesCoordinates () 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.
IPrimaryMeshtoPrimaryMesh () override
 Returns the instance in the form of an IPrimaryMesh.
const MeshPartInfomeshPartInfo () const override
 Information about mesh parts.
void setMeshPartInfo (const MeshPartInfo &mpi) override
 Positions partitioning information.
IUserDataListuserDataList () override
 Associated user data manager.
const IUserDataListuserDataList () const override
 Associated user data manager.
IGhostLayerMngghostLayerMng () const override
 Associated ghost layer manager.
IMeshUniqueIdMngmeshUniqueIdMng () const override
 Unique ID numbering manager.
IMeshCheckerchecker () const override
 Checker interface.
VariableItemInt32itemsNewOwner (eItemKind ik) override
 Variable containing the identifier of the owning subdomain.
ItemInternalMapnodesMap ()
ItemInternalMapedgesMap ()
ItemInternalMapfacesMap ()
ItemInternalMapcellsMap ()
void addParentCells (ItemVectorView &items)
void removeItems (IItemFamily *item_family, Int32ConstArrayView cells_local_id)
NodeFamilytrueNodeFamily ()
EdgeFamilytrueEdgeFamily ()
FaceFamilytrueFaceFamily ()
CellFamilytrueCellFamily ()
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.
MeshItemInternalListmeshItemInternalList () override
ISubDomainsubDomain () override
IParallelMngparallelMng () override
 Parallelism manager.
ITraceMngtraceMng () 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.
IItemFamilycreateItemFamily (eItemKind ik, const String &name) override
 Create a particle family named name.
IItemFamilyfindItemFamily (eItemKind ik, const String &name, bool create_if_needed, bool register_modifier_if_created) override
 Returns the family named name.
IItemFamilyfindItemFamily (const String &name, bool throw_exception=true) override
 Returns the family named name.
IItemFamilyModifierfindItemFamilyModifier (eItemKind ik, const String &name) override
 Returns the IItemFamilyModifier interface for the family named name and of type ik.
void addItemFamilyModifier (IItemFamilyModifier *)
IItemFamilyitemFamily (eItemKind ik) override
 Returns the entity family of type ik.
IItemFamilynodeFamily () override
 Returns the node family.
IItemFamilyedgeFamily () override
 Returns the edge family.
IItemFamilyfaceFamily () override
 Returns the face family.
IItemFamilycellFamily () 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.
IMeshPartitionConstraintMngpartitionConstraintMng () override
 Manager of partitioning constraints associated with this mesh.
ConstArrayView< TiedInterface * > trueTiedInterfaces ()
IMeshUtilitiesutilities () override
 Associated utility functions interface.
IMeshModifiermodifier () override
 Associated modifier interface.
Propertiesproperties () 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.
IMeshparentMesh () 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.
DynamicMeshIncrementalBuilderincrementalBuilder ()
MeshRefinementmeshRefinement ()
void endUpdate (bool update_ghost_layer, bool remove_old_ghost) override
bool useMeshItemFamilyDependencies () const override
 check if the network itemFamily dependencies is activated
IItemFamilyNetworkitemFamilyNetwork () override
 Family network interface (connected families).
IIndexedIncrementalItemConnectivityMngindexedConnectivityMng () override
 Interface of the indexed incremental connectivity manager.
IMeshMngmeshMng () const override
 Associated mesh manager.
IVariableMngvariableMng () const override
 Associated variable manager.
ItemTypeMngitemTypeMng () const override
 Associated entity type manager.
void computeSynchronizeInfos () override
 Recalculates synchronization information.
IMeshInitialAllocatorinitialAllocator () 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.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
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

NodeFamilym_node_family
EdgeFamilym_edge_family
FaceFamilym_face_family
CellFamilym_cell_family
DynamicMeshIncrementalBuilderm_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)

Private Attributes

friend DynamicMeshInternal
friend DynamicMeshMergerHelper
ISubDomainm_sub_domain
IMeshMngm_mesh_mng
MeshHandle m_mesh_handle
IParallelMngm_parallel_mng
MeshItemInternalList m_item_internal_list
IVariableMngm_variable_mng
Propertiesm_properties
Int64 m_timestamp
bool m_is_allocated
Integer m_dimension
String m_name
String m_factory_name
bool m_need_compact
bool m_has_edge
IMeshm_parent_mesh
ItemGroupImplm_parent_group
UniqueArray< DynamicMesh * > m_child_meshes
IMeshUtilitiesm_mesh_utilities = nullptr
DynamicMeshCheckerm_mesh_checker = nullptr
SubMeshToolsm_submesh_tools = nullptr
MeshRefinementm_mesh_refinement = nullptr
 AMR.
NewItemOwnerBuilderm_new_item_owner_builder = nullptr
ExtraGhostCellsBuilderm_extra_ghost_cells_builder = nullptr
ExtraGhostParticlesBuilderm_extra_ghost_particles_builder = nullptr
InitialAllocator m_initial_allocator
std::unique_ptr< DynamicMeshInternal > m_internal_api
bool m_is_amr_activated = false
 AMR.
eMeshAMRKind m_amr_type
bool m_is_dynamic = false
ItemGroupList m_all_groups
 List of entity groups.
ItemFamilyList m_item_families
 List of entity family interfaces.
UniqueArray< ItemFamily * > m_true_item_families
 List of entity family implementations.
UniqueArray< IItemFamilyModifier * > m_family_modifiers
ObserverPool m_observer_pool
TiedInterfaceMngm_tied_interface_mng = nullptr
bool m_is_sub_connectivity_set = false
bool m_tied_interface_need_prepare_dump = false
MeshPartitionConstraintMngm_partition_constraint_mng = nullptr
IGhostLayerMngm_ghost_layer_mng = nullptr
IMeshUniqueIdMngm_mesh_unique_id_mng = nullptr
IMeshExchangeMngm_mesh_exchange_mng = nullptr
IMeshCompactMngm_mesh_compact_mng = nullptr
InternalConnectivityPolicy m_connectivity_policy
MeshPartInfo m_mesh_part_info
bool m_use_mesh_item_family_dependencies = false
IItemFamilyNetworkm_item_family_network = nullptr
ItemTypeMngm_item_type_mng = nullptr
std::unique_ptr< IIndexedIncrementalItemConnectivityMngm_indexed_connectivity_mng
MeshKind m_mesh_kind
bool m_do_not_save_need_compact = false
MeshEventsImpl m_mesh_events

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const
Protected Attributes inherited from Arcane::mesh::MeshVariables
ISubDomainm_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.

Detailed Description

Implementation of a mesh.

Definition at line 91 of file DynamicMesh.h.

Member Typedef Documentation

◆ ItemFamilyList

typedef List<IItemFamily*> Arcane::mesh::DynamicMesh::ItemFamilyList

Definition at line 109 of file DynamicMesh.h.

◆ ItemInternalPtr

typedef ItemInternal* Arcane::mesh::DynamicMesh::ItemInternalPtr

Definition at line 108 of file DynamicMesh.h.

Constructor & Destructor Documentation

◆ DynamicMesh()

Arcane::mesh::DynamicMesh::DynamicMesh ( ISubDomain * sd,
const MeshBuildInfo & mbi,
bool is_submesh )

Definition at line 175 of file DynamicMesh.cc.

◆ ~DynamicMesh()

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.

Here is the call graph for this function:

Member Function Documentation

◆ _addCells()

void Arcane::mesh::DynamicMesh::_addCells ( ISerializer * buffer,
Int32Array * cells_local_id )
private

Definition at line 941 of file DynamicMesh.cc.

◆ _addDependency()

template<class SourceFamily, class TargetFamily>
void Arcane::mesh::DynamicMesh::_addDependency ( SourceFamily * source_family,
TargetFamily * target_family )
inlineprivate

Definition at line 710 of file DynamicMesh.h.

◆ _addFamily()

void Arcane::mesh::DynamicMesh::_addFamily ( ItemFamily * true_family)
private

Definition at line 1718 of file DynamicMesh.cc.

◆ _addRelation()

template<class SourceFamily, class TargetFamily>
void Arcane::mesh::DynamicMesh::_addRelation ( SourceFamily * source_family,
TargetFamily * target_family )
inlineprivate

Definition at line 720 of file DynamicMesh.h.

◆ _allocateCells()

void Arcane::mesh::DynamicMesh::_allocateCells ( Integer mesh_nb_cell,
Int64ConstArrayView cells_info,
Int32ArrayView cells = Int32ArrayView(),
bool allow_build_face = true )
private

Definition at line 877 of file DynamicMesh.cc.

◆ _allocateCells2()

void Arcane::mesh::DynamicMesh::_allocateCells2 ( DynamicMeshIncrementalBuilder * mib)
private

Definition at line 1420 of file DynamicMesh.cc.

◆ _applyCompactPolicy()

void Arcane::mesh::DynamicMesh::_applyCompactPolicy ( const String & timer_name,
std::function< void(IItemFamilyCompactPolicy *)> functor )
private

Definition at line 2730 of file DynamicMesh.cc.

◆ _buildAndInitFamily()

void Arcane::mesh::DynamicMesh::_buildAndInitFamily ( IItemFamily * family)
private

Definition at line 1706 of file DynamicMesh.cc.

◆ _checkAMR()

void Arcane::mesh::DynamicMesh::_checkAMR ( ) const
private

Definition at line 3011 of file DynamicMesh.cc.

◆ _checkConnectivity()

void Arcane::mesh::DynamicMesh::_checkConnectivity ( )
private

Definition at line 2996 of file DynamicMesh.cc.

◆ _checkDimension()

void Arcane::mesh::DynamicMesh::_checkDimension ( ) const
private

Definition at line 2986 of file DynamicMesh.cc.

◆ _checkKindRange()

void Arcane::mesh::DynamicMesh::_checkKindRange ( eItemKind ik) const
inline

Definition at line 153 of file DynamicMesh.h.

◆ _checkValidItem()

void Arcane::mesh::DynamicMesh::_checkValidItem ( ItemInternal * item)
private

Definition at line 469 of file DynamicMesh.cc.

◆ _className()

const char * Arcane::mesh::DynamicMesh::_className ( ) const
inlineprivate

Definition at line 641 of file DynamicMesh.h.

◆ _compactItemInternalReferences()

void Arcane::mesh::DynamicMesh::_compactItemInternalReferences ( )
private

Definition at line 2745 of file DynamicMesh.cc.

◆ _compactItems()

void Arcane::mesh::DynamicMesh::_compactItems ( bool do_sort,
bool compact_variables_and_groups )
private

Definition at line 2754 of file DynamicMesh.cc.

◆ _compactMng()

IMeshCompactMng * Arcane::mesh::DynamicMesh::_compactMng ( )
inlineoverridevirtual

Implements Arcane::IMesh.

Definition at line 522 of file DynamicMesh.h.

◆ _computeExtraGhostCells()

void Arcane::mesh::DynamicMesh::_computeExtraGhostCells ( )
private

Definition at line 2126 of file DynamicMesh.cc.

◆ _computeExtraGhostParticles()

void Arcane::mesh::DynamicMesh::_computeExtraGhostParticles ( )
private

Definition at line 2135 of file DynamicMesh.cc.

◆ _computeFamilySynchronizeInfos()

void Arcane::mesh::DynamicMesh::_computeFamilySynchronizeInfos ( )
private

Definition at line 626 of file DynamicMesh.cc.

◆ _computeGroupSynchronizeInfos()

void Arcane::mesh::DynamicMesh::_computeGroupSynchronizeInfos ( )
private

Definition at line 646 of file DynamicMesh.cc.

◆ _computeSynchronizeInfos()

void Arcane::mesh::DynamicMesh::_computeSynchronizeInfos ( )
private

Definition at line 616 of file DynamicMesh.cc.

◆ _connectivityPolicy()

InternalConnectivityPolicy Arcane::mesh::DynamicMesh::_connectivityPolicy ( ) const
inlineoverridevirtual

Connectivity usage policy.

Implements Arcane::IMesh.

Definition at line 523 of file DynamicMesh.h.

◆ _createFamilyPolicyMng()

IItemFamilyPolicyMng * Arcane::mesh::DynamicMesh::_createFamilyPolicyMng ( ItemFamily * family)
private

Definition at line 1680 of file DynamicMesh.cc.

◆ _createNewFamily()

ItemFamily * Arcane::mesh::DynamicMesh::_createNewFamily ( eItemKind kind,
const String & name )
private

Definition at line 1655 of file DynamicMesh.cc.

◆ _deserializeItems()

void Arcane::mesh::DynamicMesh::_deserializeItems ( ISerializer * buffer,
Int32Array * item_local_ids,
IItemFamily * item_family )
private

Definition at line 1035 of file DynamicMesh.cc.

◆ _exchangeItems()

void Arcane::mesh::DynamicMesh::_exchangeItems ( bool do_compact)
private

Definition at line 1779 of file DynamicMesh.cc.

◆ _exchangeItemsNew()

void Arcane::mesh::DynamicMesh::_exchangeItemsNew ( )
private

Definition at line 1962 of file DynamicMesh.cc.

◆ _fillSerializer()

void Arcane::mesh::DynamicMesh::_fillSerializer ( ISerializer * buffer,
std::map< String, Int32UniqueArray > & serializedItems )
private

Definition at line 1055 of file DynamicMesh.cc.

◆ _finalizeMeshChanged()

void Arcane::mesh::DynamicMesh::_finalizeMeshChanged ( )
private

Definition at line 2712 of file DynamicMesh.cc.

◆ _internalApi()

IMeshInternal * Arcane::mesh::DynamicMesh::_internalApi ( )
overridevirtual

Internal Arcane API.

Implements Arcane::IMesh.

Definition at line 3505 of file DynamicMesh.cc.

◆ _internalEndUpdateFinal()

void Arcane::mesh::DynamicMesh::_internalEndUpdateFinal ( bool print_stat)
private

AMR

Definition at line 2485 of file DynamicMesh.cc.

References Arcane::MeshStats::dumpStats(), Arcane::TraceAccessor::info(), m_is_amr_activated, and traceMng().

Here is the call graph for this function:

◆ _internalEndUpdateInit()

void Arcane::mesh::DynamicMesh::_internalEndUpdateInit ( bool update_sync_info)
private

Definition at line 2452 of file DynamicMesh.cc.

◆ _internalEndUpdateResizeVariables()

void Arcane::mesh::DynamicMesh::_internalEndUpdateResizeVariables ( )
private

Definition at line 2474 of file DynamicMesh.cc.

◆ _internalUpdateGhost()

void Arcane::mesh::DynamicMesh::_internalUpdateGhost ( bool update_ghost_layer,
bool remove_old_ghost )
private

Definition at line 2424 of file DynamicMesh.cc.

◆ _loadProperties()

void Arcane::mesh::DynamicMesh::_loadProperties ( )
private

Reloads properties from a dump.

Definition at line 1507 of file DynamicMesh.cc.

References ghostLayerMng(), Arcane::TraceAccessor::info(), and name().

Referenced by _readFromDump().

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

◆ _modifierInternalApi()

IMeshModifierInternal * Arcane::mesh::DynamicMesh::_modifierInternalApi ( )
overridevirtual

Internal API for Arcane.

Implements Arcane::IMeshModifier.

Definition at line 3514 of file DynamicMesh.cc.

◆ _multipleExchangeItems()

void Arcane::mesh::DynamicMesh::_multipleExchangeItems ( Integer nb_exchange,
Integer version,
bool do_compact )
private

Exchanges entities in multiple stages.

There are two versions for this mechanism:

  1. Version 1, which is the historical version. For this algorithm, we divide the number of cells to send into nb_exchange parts, each part having (nb_cell / nb_exchange) cells. This algorithm allows limiting the size of messages but not the number of messages in flight.
  2. Version 2, which separates the list of cells to send based on the rank of each part. This is useful for limiting the number of messages sent simultaneously but will not decrease the size of the message sent to a given rank. Assuming that consecutive ranks are on the same node of a computer, we separate the exchange into nb_exchange using the following algorithm:
    • we denote 'i' as the i-th exchange (numbered from 0 to (nb_exchange-1)),
    • for exchange 'i', we only process the cells whose new owner modulo (nb_exchange) equals 'i'.

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().

Here is the call graph for this function:

◆ _notifyEndUpdateForFamilies()

void Arcane::mesh::DynamicMesh::_notifyEndUpdateForFamilies ( )
private

Definition at line 2530 of file DynamicMesh.cc.

◆ _prepareForDump()

void Arcane::mesh::DynamicMesh::_prepareForDump ( )
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().

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

◆ _prepareForDumpReal()

void Arcane::mesh::DynamicMesh::_prepareForDumpReal ( )
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().

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

◆ _printConnectivityPolicy()

void Arcane::mesh::DynamicMesh::_printConnectivityPolicy ( )
private

Definition at line 3466 of file DynamicMesh.cc.

◆ _printMesh()

void Arcane::mesh::DynamicMesh::_printMesh ( std::ostream & ostr)
private

Definition at line 1464 of file DynamicMesh.cc.

◆ _readFromDump()

void Arcane::mesh::DynamicMesh::_readFromDump ( )
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().

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

◆ _removeGhostChildItems()

void Arcane::mesh::DynamicMesh::_removeGhostChildItems ( )
private

Definition at line 2218 of file DynamicMesh.cc.

◆ _removeGhostChildItems2()

void Arcane::mesh::DynamicMesh::_removeGhostChildItems2 ( Array< Int64 > & cells_to_coarsen)
private

Definition at line 2253 of file DynamicMesh.cc.

◆ _removeGhostItems()

void Arcane::mesh::DynamicMesh::_removeGhostItems ( )
private

Definition at line 2144 of file DynamicMesh.cc.

◆ _saveProperties()

void Arcane::mesh::DynamicMesh::_saveProperties ( )
private

Saves properties before a dump.

Definition at line 1483 of file DynamicMesh.cc.

References ghostLayerMng(), Arcane::TraceAccessor::info(), and name().

Referenced by _prepareForDump().

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

◆ _serializeItems()

void Arcane::mesh::DynamicMesh::_serializeItems ( ISerializer * buffer,
Int32ConstArrayView item_local_ids,
IItemFamily * item_family )
private

Definition at line 1008 of file DynamicMesh.cc.

◆ _setDimension()

void Arcane::mesh::DynamicMesh::_setDimension ( Integer dim)
private

Definition at line 2942 of file DynamicMesh.cc.

◆ _setOwnersFromCells()

void Arcane::mesh::DynamicMesh::_setOwnersFromCells ( )
private

Definition at line 3072 of file DynamicMesh.cc.

◆ _setSubConnectivity()

void Arcane::mesh::DynamicMesh::_setSubConnectivity ( )
private

Definition at line 3022 of file DynamicMesh.cc.

◆ _sortInternalReferences()

void Arcane::mesh::DynamicMesh::_sortInternalReferences ( )
private

Definition at line 2702 of file DynamicMesh.cc.

◆ _synchronizeGroups()

void Arcane::mesh::DynamicMesh::_synchronizeGroups ( )
private

Definition at line 2609 of file DynamicMesh.cc.

◆ _synchronizeGroupsAndVariables()

void Arcane::mesh::DynamicMesh::_synchronizeGroupsAndVariables ( )
private

Definition at line 2599 of file DynamicMesh.cc.

◆ _synchronizeVariables()

void Arcane::mesh::DynamicMesh::_synchronizeVariables ( )
private

Definition at line 2644 of file DynamicMesh.cc.

◆ _updateGroupsAfterRemove()

void Arcane::mesh::DynamicMesh::_updateGroupsAfterRemove ( )
private

Updates groups following entity deletions.

Definition at line 2173 of file DynamicMesh.cc.

◆ _updateItemFamilyDependencies()

void Arcane::mesh::DynamicMesh::_updateItemFamilyDependencies ( VariableScalarInteger connectivity)
private

Definition at line 3489 of file DynamicMesh.cc.

◆ _writeCells()

void Arcane::mesh::DynamicMesh::_writeCells ( const String & filename)
private

Definition at line 3036 of file DynamicMesh.cc.

◆ _writeMesh()

void Arcane::mesh::DynamicMesh::_writeMesh ( const String & base_name)
private

Definition at line 1439 of file DynamicMesh.cc.

◆ adapt()

bool Arcane::mesh::DynamicMesh::adapt ( )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1375 of file DynamicMesh.cc.

◆ addCells() [1/4]

void Arcane::mesh::DynamicMesh::addCells ( const MeshModifierAddCellsArgs & args)
overridevirtual

Adds cells.

Reimplemented from Arcane::IMeshModifier.

Definition at line 908 of file DynamicMesh.cc.

◆ addCells() [2/4]

void Arcane::mesh::DynamicMesh::addCells ( Integer nb_cell,
Int64ConstArrayView cell_infos,
Int32ArrayView cells_lid )
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.

◆ addCells() [3/4]

void Arcane::mesh::DynamicMesh::addCells ( ISerializer * buffer)
overridevirtual

Adds cells from the data contained in buffer.

buffer must contain serialized cells, for example by calling IMesh::serializeCells().

Deprecated
Use IMesh::cellFamily()->policyMng()->createSerializer() instead.

Implements Arcane::IMeshModifier.

Definition at line 923 of file DynamicMesh.cc.

◆ addCells() [4/4]

void Arcane::mesh::DynamicMesh::addCells ( ISerializer * buffer,
Int32Array & cells_local_id )
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.

Deprecated
Use IMesh::cellFamily()->policyMng()->createSerializer() instead.

Implements Arcane::IMeshModifier.

Definition at line 932 of file DynamicMesh.cc.

◆ addChildCellToCell()

void Arcane::mesh::DynamicMesh::addChildCellToCell ( Cell parent,
Cell child )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1113 of file DynamicMesh.cc.

◆ addChildFaceToFace()

void Arcane::mesh::DynamicMesh::addChildFaceToFace ( Face parent,
Face child )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1139 of file DynamicMesh.cc.

◆ addChildMesh()

void Arcane::mesh::DynamicMesh::addChildMesh ( IMesh * sub_mesh)
overridevirtual

Adds a sub-mesh to the parent mesh.

Implements Arcane::IMesh.

Definition at line 3322 of file DynamicMesh.cc.

References ARCANE_FATAL.

◆ addChildNodeToNode()

void Arcane::mesh::DynamicMesh::addChildNodeToNode ( Node parent,
Node child )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1165 of file DynamicMesh.cc.

◆ addEdges()

void Arcane::mesh::DynamicMesh::addEdges ( Integer nb_edge,
Int64ConstArrayView edge_infos,
Int32ArrayView edge_lids )
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.

◆ addExtraGhostCellsBuilder()

void Arcane::mesh::DynamicMesh::addExtraGhostCellsBuilder ( IExtraGhostCellsBuilder * builder)
overridevirtual

addition of the "extraordinary" ghost cells addition algorithm.

Implements Arcane::IMeshModifier.

Definition at line 2090 of file DynamicMesh.cc.

◆ addExtraGhostParticlesBuilder()

void Arcane::mesh::DynamicMesh::addExtraGhostParticlesBuilder ( IExtraGhostParticlesBuilder * builder)
overridevirtual

Addition of the "extraordinary" ghost particle addition algorithm.

Implements Arcane::IMeshModifier.

Definition at line 2108 of file DynamicMesh.cc.

◆ addFaces() [1/2]

void Arcane::mesh::DynamicMesh::addFaces ( const MeshModifierAddFacesArgs & args)
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().

Here is the call graph for this function:

◆ addFaces() [2/2]

void Arcane::mesh::DynamicMesh::addFaces ( Integer nb_face,
Int64ConstArrayView face_infos,
Int32ArrayView face_lids )
overridevirtual

Adds faces.

See also
addFaces(const MeshModifierAddFacesArgs&)

Implements Arcane::IMeshModifier.

Definition at line 1178 of file DynamicMesh.cc.

Referenced by addFaces().

Here is the caller graph for this function:

◆ addHChildrenCells()

void Arcane::mesh::DynamicMesh::addHChildrenCells ( Cell parent_cell,
Integer nb_cell,
Int64ConstArrayView cells_infos,
Int32ArrayView cells )
overridevirtual

AMR.

Implements Arcane::IMeshModifier.

Definition at line 1087 of file DynamicMesh.cc.

References traceMng().

Here is the call graph for this function:

◆ addNodes()

void Arcane::mesh::DynamicMesh::addNodes ( Int64ConstArrayView nodes_uid,
Int32ArrayView nodes_lid )
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.

◆ addParentCells()

void Arcane::mesh::DynamicMesh::addParentCells ( ItemVectorView & items)

Definition at line 1075 of file DynamicMesh.cc.

◆ addParentCellToCell()

void Arcane::mesh::DynamicMesh::addParentCellToCell ( Cell child,
Cell parent )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1100 of file DynamicMesh.cc.

◆ addParentFaceToFace()

void Arcane::mesh::DynamicMesh::addParentFaceToFace ( Face child,
Face parent )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1126 of file DynamicMesh.cc.

◆ addParentNodeToNode()

void Arcane::mesh::DynamicMesh::addParentNodeToNode ( Node child,
Node parent )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1152 of file DynamicMesh.cc.

◆ allActiveCells()

CellGroup Arcane::mesh::DynamicMesh::allActiveCells ( )
overridevirtual

AMR.

AMR Group of all active cells

Group of all active cells

Implements Arcane::IMesh.

Definition at line 3174 of file DynamicMesh.cc.

◆ allActiveFaces()

FaceGroup Arcane::mesh::DynamicMesh::allActiveFaces ( )
overridevirtual

Group of all active faces.

Implements Arcane::IMesh.

Definition at line 3206 of file DynamicMesh.cc.

◆ allCells()

CellGroup Arcane::mesh::DynamicMesh::allCells ( )
inlineoverridevirtual

Group of all cells.

Implements Arcane::IMeshBase.

Definition at line 361 of file DynamicMesh.h.

References Arcane::IK_Cell.

◆ allEdges()

EdgeGroup Arcane::mesh::DynamicMesh::allEdges ( )
inlineoverridevirtual

Group of all edges.

Implements Arcane::IMeshBase.

Definition at line 359 of file DynamicMesh.h.

References Arcane::IK_Edge.

◆ allFaces()

FaceGroup Arcane::mesh::DynamicMesh::allFaces ( )
inlineoverridevirtual

Group of all faces.

Implements Arcane::IMeshBase.

Definition at line 360 of file DynamicMesh.h.

References Arcane::IK_Face.

◆ allItems()

ItemGroup Arcane::mesh::DynamicMesh::allItems ( eItemKind kind)
inline

Definition at line 364 of file DynamicMesh.h.

◆ allLevelCells()

CellGroup Arcane::mesh::DynamicMesh::allLevelCells ( const Integer & level)
overridevirtual

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.

◆ allNodes()

NodeGroup Arcane::mesh::DynamicMesh::allNodes ( )
inlineoverridevirtual

Group of all nodes.

Implements Arcane::IMeshBase.

Definition at line 358 of file DynamicMesh.h.

References Arcane::IK_Node.

◆ allocate() [1/2]

void Arcane::mesh::DynamicMesh::allocate ( CartesianMeshAllocateBuildInfo & build_info)
overridevirtual

Implements Arcane::ICartesianMeshInitialAllocator.

Definition at line 973 of file DynamicMesh.cc.

◆ allocate() [2/2]

void Arcane::mesh::DynamicMesh::allocate ( UnstructuredMeshAllocateBuildInfo & build_info)
overridevirtual

Implements Arcane::IUnstructuredMeshInitialAllocator.

Definition at line 962 of file DynamicMesh.cc.

◆ allocateCells()

void Arcane::mesh::DynamicMesh::allocateCells ( Integer nb_cell,
Int64ConstArrayView cells_infos,
bool one_alloc )
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:

cells_infos[0] = IT_Hexaedron8
cells_infos[1] = 23
cells_infos[2...9] = The 8 nodes of the cell
cells_infos[10] = IT_Tetraedron4
cells_infos[11] = 45
cells_infos[12...15] = The 4 nodes of the cell

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.

Warning
When calling this function, the current mesh and all groups are destroyed. This method should only be used to create the initial mesh. If you want to add or remove cells, you must use the IMeshModifier::addCells() or IMeshModifier::removeCells() methods.

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().

Here is the call graph for this function:

◆ build()

void Arcane::mesh::DynamicMesh::build ( )
overridevirtual

◆ cellFamily()

IItemFamily * Arcane::mesh::DynamicMesh::cellFamily ( )
overridevirtual

Returns the cell family.

Implements Arcane::IMeshBase.

Definition at line 3418 of file DynamicMesh.cc.

Referenced by _multipleExchangeItems().

Here is the caller graph for this function:

◆ cellsMap()

DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::cellsMap ( )

Definition at line 3442 of file DynamicMesh.cc.

◆ checker()

IMeshChecker * Arcane::mesh::DynamicMesh::checker ( ) const
overridevirtual

Checker interface.

Implements Arcane::IMesh.

Definition at line 3350 of file DynamicMesh.cc.

◆ checkLevel()

Integer Arcane::mesh::DynamicMesh::checkLevel ( ) const
overridevirtual

Current check level.

Implements Arcane::IMesh.

Definition at line 516 of file DynamicMesh.cc.

◆ checkValidConnectivity()

void Arcane::mesh::DynamicMesh::checkValidConnectivity ( )

Definition at line 547 of file DynamicMesh.cc.

◆ checkValidMesh()

void Arcane::mesh::DynamicMesh::checkValidMesh ( )
overridevirtual

Check for the validity of internal mesh structures (internal).

Implements Arcane::IMesh.

Definition at line 525 of file DynamicMesh.cc.

Referenced by endAllocate().

Here is the caller graph for this function:

◆ checkValidMeshFull()

void Arcane::mesh::DynamicMesh::checkValidMeshFull ( )
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.

◆ childMeshes()

IMeshCollection Arcane::mesh::DynamicMesh::childMeshes ( ) const
overridevirtual

List of sub-meshes of the current mesh.

Implements Arcane::IMesh.

Definition at line 3337 of file DynamicMesh.cc.

◆ clearItems()

void Arcane::mesh::DynamicMesh::clearItems ( )
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().

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

◆ coarsenItems()

void Arcane::mesh::DynamicMesh::coarsenItems ( )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1346 of file DynamicMesh.cc.

◆ coarsenItemsV2()

void Arcane::mesh::DynamicMesh::coarsenItemsV2 ( bool update_parent_flag)
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1359 of file DynamicMesh.cc.

◆ compact()

void Arcane::mesh::DynamicMesh::compact ( )

Definition at line 1390 of file DynamicMesh.cc.

◆ computeSynchronizeInfos()

void Arcane::mesh::DynamicMesh::computeSynchronizeInfos ( )
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().

Here is the caller graph for this function:

◆ computeTiedInterfaces()

void Arcane::mesh::DynamicMesh::computeTiedInterfaces ( const XmlNode & mesh_node)
overridevirtual

Determines the semi-conforming interfaces.

Implements Arcane::IMesh.

Definition at line 2923 of file DynamicMesh.cc.

◆ connectivity()

VariableScalarInteger Arcane::mesh::DynamicMesh::connectivity ( )
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.

◆ createGroup() [1/2]

ItemGroup Arcane::mesh::DynamicMesh::createGroup ( const String & aname,
const ItemGroup & parent )

Definition at line 605 of file DynamicMesh.cc.

◆ createGroup() [2/2]

ItemGroup Arcane::mesh::DynamicMesh::createGroup ( const String & aname,
eItemKind ik )

Definition at line 593 of file DynamicMesh.cc.

◆ createItemFamily()

IItemFamily * Arcane::mesh::DynamicMesh::createItemFamily ( eItemKind ik,
const String & name )
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().

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

◆ deallocate()

void Arcane::mesh::DynamicMesh::deallocate ( )
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.

Warning
This method is experimental and many edge effects are possible. Notably, the current implementation does not support deallocation when there are partial variables on the mesh.

Implements Arcane::IPrimaryMesh.

Definition at line 750 of file DynamicMesh.cc.

References ARCANE_FATAL, clearItems(), destroyGroups(), and Arcane::mesh::MeshVariables::m_mesh_dimension.

Here is the call graph for this function:

◆ defineParentForBuild()

void Arcane::mesh::DynamicMesh::defineParentForBuild ( IMesh * mesh,
ItemGroup group )
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().

Here is the call graph for this function:

◆ destroyGroups()

void Arcane::mesh::DynamicMesh::destroyGroups ( )
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().

Here is the caller graph for this function:

◆ detachCells()

void Arcane::mesh::DynamicMesh::detachCells ( Int32ConstArrayView cells_local_id)
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().

Here is the call graph for this function:

◆ dimension()

Integer Arcane::mesh::DynamicMesh::dimension ( )
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.

◆ edgeFamily()

IItemFamily * Arcane::mesh::DynamicMesh::edgeFamily ( )
overridevirtual

Returns the edge family.

Implements Arcane::IMeshBase.

Definition at line 3406 of file DynamicMesh.cc.

◆ edgesMap()

DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::edgesMap ( )

Definition at line 3430 of file DynamicMesh.cc.

◆ endAllocate()

void Arcane::mesh::DynamicMesh::endAllocate ( )
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().

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

◆ endUpdate() [1/2]

void Arcane::mesh::DynamicMesh::endUpdate ( )
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().

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

◆ endUpdate() [2/2]

void Arcane::mesh::DynamicMesh::endUpdate ( bool update_ghost_layer,
bool remove_old_ghost )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 2549 of file DynamicMesh.cc.

◆ eventObservable()

EventObservable< const MeshEventArgs & > & Arcane::mesh::DynamicMesh::eventObservable ( eMeshEventType type)
inlineoverridevirtual

Observable for an event.

Implements Arcane::IMesh.

Definition at line 556 of file DynamicMesh.h.

◆ exchangeItems()

void Arcane::mesh::DynamicMesh::exchangeItems ( )
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.

◆ faceFamily()

IItemFamily * Arcane::mesh::DynamicMesh::faceFamily ( )
overridevirtual

Returns the face family.

Implements Arcane::IMeshBase.

Definition at line 3412 of file DynamicMesh.cc.

◆ facesMap()

DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::facesMap ( )

Definition at line 3436 of file DynamicMesh.cc.

◆ factoryName()

String Arcane::mesh::DynamicMesh::factoryName ( ) const
inlineoverridevirtual

Name of the factory used to create the mesh.

Implements Arcane::IMesh.

Definition at line 177 of file DynamicMesh.h.

◆ findCellGroup()

CellGroup Arcane::mesh::DynamicMesh::findCellGroup ( const String & aname)
inline

Definition at line 444 of file DynamicMesh.h.

◆ findEdgeGroup()

EdgeGroup Arcane::mesh::DynamicMesh::findEdgeGroup ( const String & aname)
inline

Definition at line 436 of file DynamicMesh.h.

◆ findFaceGroup()

FaceGroup Arcane::mesh::DynamicMesh::findFaceGroup ( const String & aname)
inline

Definition at line 440 of file DynamicMesh.h.

◆ findGroup() [1/2]

ItemGroup Arcane::mesh::DynamicMesh::findGroup ( const String & name)
overridevirtual

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().

Here is the call graph for this function:

◆ findGroup() [2/2]

ItemGroup Arcane::mesh::DynamicMesh::findGroup ( const String & name,
eItemKind ik,
bool create_if_needed )

Definition at line 582 of file DynamicMesh.cc.

◆ findItemFamily() [1/2]

IItemFamily * Arcane::mesh::DynamicMesh::findItemFamily ( const String & name,
bool throw_exception = true )
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().

Here is the call graph for this function:

◆ findItemFamily() [2/2]

IItemFamily * Arcane::mesh::DynamicMesh::findItemFamily ( eItemKind ik,
const String & name,
bool create_if_needed,
bool register_modifier_if_created )
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().

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

◆ findItemFamilyModifier()

IItemFamilyModifier * Arcane::mesh::DynamicMesh::findItemFamilyModifier ( eItemKind ik,
const String & name )
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().

Here is the call graph for this function:

◆ findNodeGroup()

NodeGroup Arcane::mesh::DynamicMesh::findNodeGroup ( const String & aname)
inline

Definition at line 432 of file DynamicMesh.h.

◆ flagCellToCoarsen()

void Arcane::mesh::DynamicMesh::flagCellToCoarsen ( Int32ConstArrayView cells_lids)
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1323 of file DynamicMesh.cc.

◆ flagCellToRefine()

void Arcane::mesh::DynamicMesh::flagCellToRefine ( Int32ConstArrayView cells_lids)
overridevirtual

AMR.

Implements Arcane::IMeshModifier.

Definition at line 1312 of file DynamicMesh.cc.

References m_mesh_refinement, and traceMng().

Here is the call graph for this function:

◆ ghostLayerMng()

IGhostLayerMng * Arcane::mesh::DynamicMesh::ghostLayerMng ( ) const
inlineoverridevirtual

Associated ghost layer manager.

Implements Arcane::IMesh.

Definition at line 297 of file DynamicMesh.h.

Referenced by _loadProperties(), and _saveProperties().

Here is the caller graph for this function:

◆ groups()

ItemGroupCollection Arcane::mesh::DynamicMesh::groups ( )
overridevirtual

List of groups.

Implements Arcane::IMesh.

Definition at line 661 of file DynamicMesh.cc.

References m_all_groups, and m_item_families.

◆ handle()

MeshHandle Arcane::mesh::DynamicMesh::handle ( ) const
inlineoverridevirtual

Handle on this mesh.

Implements Arcane::IMeshBase.

Definition at line 175 of file DynamicMesh.h.

◆ hasTiedInterface()

bool Arcane::mesh::DynamicMesh::hasTiedInterface ( )
overridevirtual

True if semi-conforming interfaces exist in the mesh.

Implements Arcane::IMesh.

Definition at line 2896 of file DynamicMesh.cc.

◆ incrementalBuilder()

DynamicMeshIncrementalBuilder * Arcane::mesh::DynamicMesh::incrementalBuilder ( )
inline

Definition at line 530 of file DynamicMesh.h.

◆ indexedConnectivityMng()

IIndexedIncrementalItemConnectivityMng * Arcane::mesh::DynamicMesh::indexedConnectivityMng ( )
inlineoverridevirtual

Interface of the indexed incremental connectivity manager.

Implements Arcane::IMesh.

Definition at line 538 of file DynamicMesh.h.

◆ initialAllocator()

IMeshInitialAllocator * Arcane::mesh::DynamicMesh::initialAllocator ( )
inlineoverridevirtual

Specific initial allocator.

If null, allocateCells() must be used.

Reimplemented from Arcane::IPrimaryMesh.

Definition at line 550 of file DynamicMesh.h.

◆ initializeVariables()

void Arcane::mesh::DynamicMesh::initializeVariables ( const XmlNode & init_node)
overridevirtual

◆ innerActiveFaces()

FaceGroup Arcane::mesh::DynamicMesh::innerActiveFaces ( )
overridevirtual

Group of all active faces.

Group of all internal active faces.

Implements Arcane::IMesh.

Definition at line 3225 of file DynamicMesh.cc.

◆ isAllocated()

bool Arcane::mesh::DynamicMesh::isAllocated ( )
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.

◆ isAmrActivated()

bool Arcane::mesh::DynamicMesh::isAmrActivated ( ) const
inlineoverridevirtual

AMR.

Implements Arcane::IMesh.

Definition at line 453 of file DynamicMesh.h.

References m_is_amr_activated.

◆ isDynamic()

bool Arcane::mesh::DynamicMesh::isDynamic ( ) const
inlineoverridevirtual

Indicates if the mesh is dynamic (can evolve).

Implements Arcane::IMesh.

Definition at line 484 of file DynamicMesh.h.

◆ isPrimaryMesh()

bool Arcane::mesh::DynamicMesh::isPrimaryMesh ( ) const
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().

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

◆ itemFamilies()

IItemFamilyCollection Arcane::mesh::DynamicMesh::itemFamilies ( )
inlineoverridevirtual

Implements Arcane::IMeshBase.

Definition at line 477 of file DynamicMesh.h.

◆ itemFamily()

IItemFamily * Arcane::mesh::DynamicMesh::itemFamily ( eItemKind ik)
inlineoverridevirtual

Returns the entity family of type ik.

Precondition
ik==IK_Node || ik==IK_Edge || ik==IK_Face || ik==IK_Cell

Implements Arcane::IMeshBase.

Definition at line 467 of file DynamicMesh.h.

References m_item_families.

◆ itemFamilyNetwork()

IItemFamilyNetwork * Arcane::mesh::DynamicMesh::itemFamilyNetwork ( )
inlineoverridevirtual

Family network interface (connected families).

Implements Arcane::IMesh.

Definition at line 537 of file DynamicMesh.h.

Referenced by serializeCells().

Here is the caller graph for this function:

◆ itemsInternal()

ItemInternalArrayView Arcane::mesh::DynamicMesh::itemsInternal ( eItemKind )
inlineoverridevirtual

Internal array of mesh elements of type type.

Implements Arcane::IMesh.

Definition at line 194 of file DynamicMesh.h.

References m_item_families.

◆ itemsNewOwner()

VariableItemInt32 & Arcane::mesh::DynamicMesh::itemsNewOwner ( eItemKind kind)
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.

Warning
This variable is used for generating synchronization messages between subdomains and must not be modified.

Implements Arcane::IPrimaryMesh.

Definition at line 303 of file DynamicMesh.h.

References m_item_families.

◆ itemTypeMng()

ItemTypeMng * Arcane::mesh::DynamicMesh::itemTypeMng ( ) const
inlineoverridevirtual

Associated entity type manager.

Implements Arcane::IMesh.

Definition at line 544 of file DynamicMesh.h.

◆ mergeMeshes()

void Arcane::mesh::DynamicMesh::mergeMeshes ( ConstArrayView< IMesh * > meshes)
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().

Here is the call graph for this function:

◆ mesh()

IMesh * Arcane::mesh::DynamicMesh::mesh ( )
inlineoverridevirtual

Associated mesh.

Implements Arcane::IMeshModifier.

Definition at line 179 of file DynamicMesh.h.

Referenced by _multipleExchangeItems(), defineParentForBuild(), and mergeMeshes().

Here is the caller graph for this function:

◆ meshItemInternalList()

MeshItemInternalList * Arcane::mesh::DynamicMesh::meshItemInternalList ( )
inlineoverridevirtual

Implements Arcane::IMesh.

Definition at line 413 of file DynamicMesh.h.

◆ meshKind()

const MeshKind Arcane::mesh::DynamicMesh::meshKind ( ) const
inlineoverridevirtual

Mesh characteristics.

Implements Arcane::IMesh.

Definition at line 563 of file DynamicMesh.h.

◆ meshMng()

IMeshMng * Arcane::mesh::DynamicMesh::meshMng ( ) const
inlineoverridevirtual

Associated mesh manager.

Implements Arcane::IMesh.

Definition at line 542 of file DynamicMesh.h.

Referenced by _readFromDump().

Here is the caller graph for this function:

◆ meshPartInfo()

const MeshPartInfo & Arcane::mesh::DynamicMesh::meshPartInfo ( ) const
inlineoverridevirtual

Information about mesh parts.

Implements Arcane::IMesh.

Definition at line 292 of file DynamicMesh.h.

◆ meshRank()

Int32 Arcane::mesh::DynamicMesh::meshRank ( )
inline

Definition at line 232 of file DynamicMesh.h.

◆ meshRefinement()

MeshRefinement * Arcane::mesh::DynamicMesh::meshRefinement ( )
inline

Definition at line 531 of file DynamicMesh.h.

◆ meshUniqueIdMng()

IMeshUniqueIdMng * Arcane::mesh::DynamicMesh::meshUniqueIdMng ( ) const
inlineoverridevirtual

Unique ID numbering manager.

Implements Arcane::IMesh.

Definition at line 298 of file DynamicMesh.h.

◆ modifier()

IMeshModifier * Arcane::mesh::DynamicMesh::modifier ( )
inlineoverridevirtual

Associated modifier interface.

Implements Arcane::IMesh.

Definition at line 509 of file DynamicMesh.h.

Referenced by findItemFamily(), and findItemFamilyModifier().

Here is the caller graph for this function:

◆ name()

String Arcane::mesh::DynamicMesh::name ( ) const
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().

Here is the caller graph for this function:

◆ nbCell()

Integer Arcane::mesh::DynamicMesh::nbCell ( )
overridevirtual

Number of mesh cells.

Implements Arcane::IMeshBase.

Definition at line 3394 of file DynamicMesh.cc.

◆ nbEdge()

Integer Arcane::mesh::DynamicMesh::nbEdge ( )
overridevirtual

Number of mesh edges.

Implements Arcane::IMeshBase.

Definition at line 3384 of file DynamicMesh.cc.

◆ nbFace()

Integer Arcane::mesh::DynamicMesh::nbFace ( )
overridevirtual

Number of mesh faces.

Implements Arcane::IMeshBase.

Definition at line 3389 of file DynamicMesh.cc.

◆ nbItem()

Integer Arcane::mesh::DynamicMesh::nbItem ( eItemKind ik)
inlineoverridevirtual

Number of elements of type ik.

Precondition
ik==IK_Node || ik==IK_Edge || ik==IK_Face || ik==IK_Cell

Implements Arcane::IMeshBase.

Definition at line 188 of file DynamicMesh.h.

References m_item_families.

◆ nbNode()

Integer Arcane::mesh::DynamicMesh::nbNode ( )
overridevirtual

Number of mesh nodes.

Implements Arcane::IMeshBase.

Definition at line 3379 of file DynamicMesh.cc.

◆ nodeFamily()

IItemFamily * Arcane::mesh::DynamicMesh::nodeFamily ( )
overridevirtual

Returns the node family.

Implements Arcane::IMeshBase.

Definition at line 3400 of file DynamicMesh.cc.

Referenced by sharedNodesCoordinates().

Here is the caller graph for this function:

◆ nodesCoordinates()

VariableNodeReal3 & Arcane::mesh::DynamicMesh::nodesCoordinates ( )
overridevirtual

Node coordinates.

Implements Arcane::IPrimaryMesh.

Definition at line 3051 of file DynamicMesh.cc.

Referenced by sharedNodesCoordinates().

Here is the caller graph for this function:

◆ nodesMap()

DynamicMeshKindInfos::ItemInternalMap & Arcane::mesh::DynamicMesh::nodesMap ( )

Definition at line 3424 of file DynamicMesh.cc.

◆ outerActiveFaces()

FaceGroup Arcane::mesh::DynamicMesh::outerActiveFaces ( )
overridevirtual

Group of all active faces on the boundary.

Implements Arcane::IMesh.

Definition at line 3233 of file DynamicMesh.cc.

◆ outerFaces()

FaceGroup Arcane::mesh::DynamicMesh::outerFaces ( )
overridevirtual

Group of all faces on the boundary.

Implements Arcane::IMeshBase.

Definition at line 3163 of file DynamicMesh.cc.

◆ ownActiveCells()

CellGroup Arcane::mesh::DynamicMesh::ownActiveCells ( )
overridevirtual

Group of all active and domain-specific cells.

Implements Arcane::IMesh.

Definition at line 3182 of file DynamicMesh.cc.

◆ ownActiveFaces()

FaceGroup Arcane::mesh::DynamicMesh::ownActiveFaces ( )
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.

◆ ownCells()

CellGroup Arcane::mesh::DynamicMesh::ownCells ( )
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().

Here is the caller graph for this function:

◆ ownEdges()

EdgeGroup Arcane::mesh::DynamicMesh::ownEdges ( )
inlineoverridevirtual

Group of all domain-specific edges.

Implements Arcane::IMeshBase.

Definition at line 371 of file DynamicMesh.h.

References Arcane::IK_Edge.

◆ ownFaces()

FaceGroup Arcane::mesh::DynamicMesh::ownFaces ( )
inlineoverridevirtual

Group of all domain-specific faces.

Implements Arcane::IMeshBase.

Definition at line 372 of file DynamicMesh.h.

References Arcane::IK_Face.

◆ ownItems()

ItemGroup Arcane::mesh::DynamicMesh::ownItems ( eItemKind kind)
inline

Definition at line 376 of file DynamicMesh.h.

◆ ownLevelCells()

CellGroup Arcane::mesh::DynamicMesh::ownLevelCells ( const Integer & level)
overridevirtual

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.

◆ ownNodes()

NodeGroup Arcane::mesh::DynamicMesh::ownNodes ( )
inlineoverridevirtual

Group of all domain-specific nodes.

Implements Arcane::IMeshBase.

Definition at line 370 of file DynamicMesh.h.

References Arcane::IK_Node.

◆ parallelMng()

IParallelMng * Arcane::mesh::DynamicMesh::parallelMng ( )
overridevirtual

Parallelism manager.

Implements Arcane::IMesh.

Definition at line 460 of file DynamicMesh.cc.

Referenced by endAllocate().

Here is the caller graph for this function:

◆ parentGroup()

ItemGroup Arcane::mesh::DynamicMesh::parentGroup ( ) const
overridevirtual

Parent group.

Returns the null group if the mesh has no parent.

Implements Arcane::IMesh.

Definition at line 3313 of file DynamicMesh.cc.

◆ parentMesh()

IMesh * Arcane::mesh::DynamicMesh::parentMesh ( ) const
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().

Here is the caller graph for this function:

◆ partitionConstraintMng()

IMeshPartitionConstraintMng * Arcane::mesh::DynamicMesh::partitionConstraintMng ( )
overridevirtual

Manager of partitioning constraints associated with this mesh.

Implements Arcane::IMesh.

Definition at line 3295 of file DynamicMesh.cc.

◆ prepareForDump()

void Arcane::mesh::DynamicMesh::prepareForDump ( )
overridevirtual

Prepares the instance for dumping.

Implements Arcane::IMesh.

Definition at line 479 of file DynamicMesh.cc.

References _prepareForDump().

Here is the call graph for this function:

◆ properties()

Properties * Arcane::mesh::DynamicMesh::properties ( )
inlineoverridevirtual

Properties associated with this mesh.

Implements Arcane::IMesh.

Definition at line 510 of file DynamicMesh.h.

Referenced by build().

Here is the caller graph for this function:

◆ refineItems()

void Arcane::mesh::DynamicMesh::refineItems ( )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1334 of file DynamicMesh.cc.

◆ registerCallBack()

void Arcane::mesh::DynamicMesh::registerCallBack ( IAMRTransportFunctor * f)
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1399 of file DynamicMesh.cc.

◆ reloadMesh()

void Arcane::mesh::DynamicMesh::reloadMesh ( )
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().

Here is the call graph for this function:

◆ removeCells() [1/2]

void Arcane::mesh::DynamicMesh::removeCells ( Int32ConstArrayView cells_local_id)
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.

◆ removeCells() [2/2]

void Arcane::mesh::DynamicMesh::removeCells ( Int32ConstArrayView cells_local_id,
bool update_graph )
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1232 of file DynamicMesh.cc.

◆ removeDetachedCells()

void Arcane::mesh::DynamicMesh::removeDetachedCells ( Int32ConstArrayView cells_local_id)
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().

Here is the call graph for this function:

◆ removeExtraGhostCellsBuilder()

void Arcane::mesh::DynamicMesh::removeExtraGhostCellsBuilder ( IExtraGhostCellsBuilder * builder)
overridevirtual

Removes the association with the builder instance.

Implements Arcane::IMeshModifier.

Definition at line 2099 of file DynamicMesh.cc.

◆ removeExtraGhostParticlesBuilder()

void Arcane::mesh::DynamicMesh::removeExtraGhostParticlesBuilder ( IExtraGhostParticlesBuilder * builder)
overridevirtual

Removes the association with the builder instance.

Implements Arcane::IMeshModifier.

Definition at line 2117 of file DynamicMesh.cc.

◆ removeItems()

void Arcane::mesh::DynamicMesh::removeItems ( IItemFamily * item_family,
Int32ConstArrayView cells_local_id )

Definition at line 1250 of file DynamicMesh.cc.

◆ serializeCells()

void Arcane::mesh::DynamicMesh::serializeCells ( ISerializer * buffer,
Int32ConstArrayView cells_local_id )
overridevirtual
Deprecated
Use IMesh::cellFamily()->policyMng()->createSerializer() instead.

Implements Arcane::IMesh.

Definition at line 984 of file DynamicMesh.cc.

References Arcane::ISerializer::allocateBuffer(), itemFamilyNetwork(), Arcane::ISerializer::ModePut, Arcane::ISerializer::setMode(), and traceMng().

Here is the call graph for this function:

◆ setCheckLevel()

void Arcane::mesh::DynamicMesh::setCheckLevel ( Integer level)
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.

◆ setDimension()

void Arcane::mesh::DynamicMesh::setDimension ( Integer dim)
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.

◆ setDynamic()

void Arcane::mesh::DynamicMesh::setDynamic ( bool v)
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.

◆ setEstimatedCells()

void Arcane::mesh::DynamicMesh::setEstimatedCells ( Integer nb_cell)

Definition at line 2793 of file DynamicMesh.cc.

◆ setMeshPartInfo()

void Arcane::mesh::DynamicMesh::setMeshPartInfo ( const MeshPartInfo & mpi)
overridevirtual

Positions partitioning information.

Implements Arcane::IPrimaryMesh.

Definition at line 3479 of file DynamicMesh.cc.

◆ setOwnersFromCells()

void Arcane::mesh::DynamicMesh::setOwnersFromCells ( )
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.

◆ sharedNodesCoordinates()

SharedVariableNodeReal3 Arcane::mesh::DynamicMesh::sharedNodesCoordinates ( )
overridevirtual

Node coordinates.

Implements Arcane::IMesh.

Definition at line 3060 of file DynamicMesh.cc.

References nodeFamily(), nodesCoordinates(), parentMesh(), and toPrimaryMesh().

Here is the call graph for this function:

◆ subDomain()

ISubDomain * Arcane::mesh::DynamicMesh::subDomain ( )
inlineoverride

Definition at line 420 of file DynamicMesh.h.

◆ synchronizeGroupsAndVariables()

void Arcane::mesh::DynamicMesh::synchronizeGroupsAndVariables ( )
overridevirtual

Synchronizes all mesh groups and variables.

This operation is collective

Implements Arcane::IMesh.

Definition at line 2585 of file DynamicMesh.cc.

◆ tiedInterfaces()

TiedInterfaceCollection Arcane::mesh::DynamicMesh::tiedInterfaces ( )
overridevirtual

List of semi-conforming interfaces.

Implements Arcane::IMesh.

Definition at line 2905 of file DynamicMesh.cc.

◆ timestamp()

Int64 Arcane::mesh::DynamicMesh::timestamp ( )
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.

◆ toPrimaryMesh()

IPrimaryMesh * Arcane::mesh::DynamicMesh::toPrimaryMesh ( )
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().

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

◆ traceMng()

ITraceMng * Arcane::mesh::DynamicMesh::traceMng ( )
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().

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

◆ trueCellFamily()

CellFamily & Arcane::mesh::DynamicMesh::trueCellFamily ( )
inline

Definition at line 354 of file DynamicMesh.h.

◆ trueEdgeFamily()

EdgeFamily & Arcane::mesh::DynamicMesh::trueEdgeFamily ( )
inline

Definition at line 352 of file DynamicMesh.h.

◆ trueFaceFamily()

FaceFamily & Arcane::mesh::DynamicMesh::trueFaceFamily ( )
inline

Definition at line 353 of file DynamicMesh.h.

◆ trueNodeFamily()

NodeFamily & Arcane::mesh::DynamicMesh::trueNodeFamily ( )
inline

Definition at line 351 of file DynamicMesh.h.

◆ trueTiedInterfaces()

ConstArrayView< TiedInterface * > Arcane::mesh::DynamicMesh::trueTiedInterfaces ( )

Definition at line 2914 of file DynamicMesh.cc.

◆ unRegisterCallBack()

void Arcane::mesh::DynamicMesh::unRegisterCallBack ( IAMRTransportFunctor * f)
overridevirtual

Implements Arcane::IMeshModifier.

Definition at line 1409 of file DynamicMesh.cc.

◆ updateGhostLayerFromParent()

void Arcane::mesh::DynamicMesh::updateGhostLayerFromParent ( Array< Int64 > & ghost_cell_to_refine,
Array< Int64 > & cells_to_coarsen,
bool remove_old_ghost )
overridevirtual

◆ updateGhostLayers() [1/2]

void Arcane::mesh::DynamicMesh::updateGhostLayers ( )
overridevirtual

Updates the ghost layers

Implements Arcane::IMeshModifier.

Definition at line 2183 of file DynamicMesh.cc.

References updateGhostLayers().

Referenced by updateGhostLayers().

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

◆ updateGhostLayers() [2/2]

void Arcane::mesh::DynamicMesh::updateGhostLayers ( bool remove_old_ghost)
overridevirtual

Implements Arcane::IMesh.

Definition at line 2192 of file DynamicMesh.cc.

◆ useMeshItemFamilyDependencies()

bool Arcane::mesh::DynamicMesh::useMeshItemFamilyDependencies ( ) const
inlineoverridevirtual

check if the network itemFamily dependencies is activated

Implements Arcane::IMesh.

Definition at line 536 of file DynamicMesh.h.

◆ userDataList() [1/2]

const IUserDataList * Arcane::mesh::DynamicMesh::userDataList ( ) const
inlineoverridevirtual

Associated user data manager.

Implements Arcane::IMesh.

Definition at line 295 of file DynamicMesh.h.

◆ userDataList() [2/2]

IUserDataList * Arcane::mesh::DynamicMesh::userDataList ( )
inlineoverridevirtual

Associated user data manager.

Implements Arcane::IMesh.

Definition at line 294 of file DynamicMesh.h.

◆ utilities()

IMeshUtilities * Arcane::mesh::DynamicMesh::utilities ( )
overridevirtual

Associated utility functions interface.

Implements Arcane::IMesh.

Definition at line 3152 of file DynamicMesh.cc.

◆ variableMng()

IVariableMng * Arcane::mesh::DynamicMesh::variableMng ( ) const
inlineoverridevirtual

Associated variable manager.

Implements Arcane::IMesh.

Definition at line 543 of file DynamicMesh.h.

Member Data Documentation

◆ DynamicMeshInternal

friend Arcane::mesh::DynamicMesh::DynamicMeshInternal
private

Definition at line 101 of file DynamicMesh.h.

◆ DynamicMeshMergerHelper

friend Arcane::mesh::DynamicMesh::DynamicMeshMergerHelper
private

Definition at line 104 of file DynamicMesh.h.

◆ m_all_groups

ItemGroupList Arcane::mesh::DynamicMesh::m_all_groups
private

List of entity groups.

Definition at line 597 of file DynamicMesh.h.

Referenced by groups().

◆ m_amr_type

eMeshAMRKind Arcane::mesh::DynamicMesh::m_amr_type
private

Definition at line 592 of file DynamicMesh.h.

◆ m_cell_family

CellFamily* Arcane::mesh::DynamicMesh::m_cell_family

Definition at line 341 of file DynamicMesh.h.

◆ m_child_meshes

UniqueArray<DynamicMesh*> Arcane::mesh::DynamicMesh::m_child_meshes
private

Definition at line 347 of file DynamicMesh.h.

◆ m_connectivity_policy

InternalConnectivityPolicy Arcane::mesh::DynamicMesh::m_connectivity_policy
private

Definition at line 621 of file DynamicMesh.h.

◆ m_dimension

Integer Arcane::mesh::DynamicMesh::m_dimension
private

Definition at line 330 of file DynamicMesh.h.

◆ m_do_not_save_need_compact

bool Arcane::mesh::DynamicMesh::m_do_not_save_need_compact = false
private

Definition at line 629 of file DynamicMesh.h.

◆ m_edge_family

EdgeFamily* Arcane::mesh::DynamicMesh::m_edge_family

Definition at line 339 of file DynamicMesh.h.

◆ m_extra_ghost_cells_builder

ExtraGhostCellsBuilder* Arcane::mesh::DynamicMesh::m_extra_ghost_cells_builder = nullptr
private

Definition at line 583 of file DynamicMesh.h.

◆ m_extra_ghost_particles_builder

ExtraGhostParticlesBuilder* Arcane::mesh::DynamicMesh::m_extra_ghost_particles_builder = nullptr
private

Definition at line 584 of file DynamicMesh.h.

◆ m_face_family

FaceFamily* Arcane::mesh::DynamicMesh::m_face_family

Definition at line 340 of file DynamicMesh.h.

◆ m_factory_name

String Arcane::mesh::DynamicMesh::m_factory_name
private

Definition at line 332 of file DynamicMesh.h.

◆ m_family_modifiers

UniqueArray<IItemFamilyModifier*> Arcane::mesh::DynamicMesh::m_family_modifiers
private

Definition at line 604 of file DynamicMesh.h.

◆ m_ghost_layer_mng

IGhostLayerMng* Arcane::mesh::DynamicMesh::m_ghost_layer_mng = nullptr
private

Definition at line 612 of file DynamicMesh.h.

◆ m_has_edge

bool Arcane::mesh::DynamicMesh::m_has_edge
private

Definition at line 334 of file DynamicMesh.h.

◆ m_indexed_connectivity_mng

std::unique_ptr<IIndexedIncrementalItemConnectivityMng> Arcane::mesh::DynamicMesh::m_indexed_connectivity_mng
private

Definition at line 627 of file DynamicMesh.h.

◆ m_initial_allocator

InitialAllocator Arcane::mesh::DynamicMesh::m_initial_allocator
private

Definition at line 585 of file DynamicMesh.h.

◆ m_internal_api

std::unique_ptr<DynamicMeshInternal> Arcane::mesh::DynamicMesh::m_internal_api
private

Definition at line 586 of file DynamicMesh.h.

◆ m_is_allocated

bool Arcane::mesh::DynamicMesh::m_is_allocated
private

Definition at line 329 of file DynamicMesh.h.

◆ m_is_amr_activated

bool Arcane::mesh::DynamicMesh::m_is_amr_activated = false
private

AMR.

Definition at line 591 of file DynamicMesh.h.

Referenced by _internalEndUpdateFinal(), build(), isAmrActivated(), and updateGhostLayerFromParent().

◆ m_is_dynamic

bool Arcane::mesh::DynamicMesh::m_is_dynamic = false
private

Definition at line 594 of file DynamicMesh.h.

◆ m_is_sub_connectivity_set

bool Arcane::mesh::DynamicMesh::m_is_sub_connectivity_set = false
private

Definition at line 608 of file DynamicMesh.h.

◆ m_item_families

◆ m_item_family_network

IItemFamilyNetwork* Arcane::mesh::DynamicMesh::m_item_family_network = nullptr
private

Definition at line 625 of file DynamicMesh.h.

◆ m_item_internal_list

MeshItemInternalList Arcane::mesh::DynamicMesh::m_item_internal_list
private

Definition at line 325 of file DynamicMesh.h.

◆ m_item_type_mng

ItemTypeMng* Arcane::mesh::DynamicMesh::m_item_type_mng = nullptr
private

Definition at line 626 of file DynamicMesh.h.

◆ m_mesh_builder

DynamicMeshIncrementalBuilder* Arcane::mesh::DynamicMesh::m_mesh_builder = nullptr

Definition at line 574 of file DynamicMesh.h.

◆ m_mesh_checker

DynamicMeshChecker* Arcane::mesh::DynamicMesh::m_mesh_checker = nullptr
private

Definition at line 578 of file DynamicMesh.h.

◆ m_mesh_compact_mng

IMeshCompactMng* Arcane::mesh::DynamicMesh::m_mesh_compact_mng = nullptr
private

Definition at line 615 of file DynamicMesh.h.

◆ m_mesh_events

MeshEventsImpl Arcane::mesh::DynamicMesh::m_mesh_events
private

Definition at line 631 of file DynamicMesh.h.

◆ m_mesh_exchange_mng

IMeshExchangeMng* Arcane::mesh::DynamicMesh::m_mesh_exchange_mng = nullptr
private

Definition at line 614 of file DynamicMesh.h.

◆ m_mesh_handle

MeshHandle Arcane::mesh::DynamicMesh::m_mesh_handle
private

Definition at line 323 of file DynamicMesh.h.

◆ m_mesh_kind

MeshKind Arcane::mesh::DynamicMesh::m_mesh_kind
private

Definition at line 628 of file DynamicMesh.h.

◆ m_mesh_mng

IMeshMng* Arcane::mesh::DynamicMesh::m_mesh_mng
private

Definition at line 322 of file DynamicMesh.h.

◆ m_mesh_part_info

MeshPartInfo Arcane::mesh::DynamicMesh::m_mesh_part_info
private

Definition at line 622 of file DynamicMesh.h.

◆ m_mesh_refinement

MeshRefinement* Arcane::mesh::DynamicMesh::m_mesh_refinement = nullptr
private

AMR.

Definition at line 581 of file DynamicMesh.h.

Referenced by build(), flagCellToRefine(), updateGhostLayerFromParent(), and ~DynamicMesh().

◆ m_mesh_unique_id_mng

IMeshUniqueIdMng* Arcane::mesh::DynamicMesh::m_mesh_unique_id_mng = nullptr
private

Definition at line 613 of file DynamicMesh.h.

◆ m_mesh_utilities

IMeshUtilities* Arcane::mesh::DynamicMesh::m_mesh_utilities = nullptr
private

Definition at line 570 of file DynamicMesh.h.

◆ m_name

String Arcane::mesh::DynamicMesh::m_name
private

Definition at line 331 of file DynamicMesh.h.

◆ m_need_compact

bool Arcane::mesh::DynamicMesh::m_need_compact
private

Definition at line 333 of file DynamicMesh.h.

◆ m_new_item_owner_builder

NewItemOwnerBuilder* Arcane::mesh::DynamicMesh::m_new_item_owner_builder = nullptr
private

Definition at line 582 of file DynamicMesh.h.

◆ m_node_family

NodeFamily* Arcane::mesh::DynamicMesh::m_node_family

Definition at line 338 of file DynamicMesh.h.

◆ m_observer_pool

ObserverPool Arcane::mesh::DynamicMesh::m_observer_pool
private

Definition at line 606 of file DynamicMesh.h.

◆ m_parallel_mng

IParallelMng* Arcane::mesh::DynamicMesh::m_parallel_mng
private

Definition at line 324 of file DynamicMesh.h.

◆ m_parent_group

ItemGroupImpl* Arcane::mesh::DynamicMesh::m_parent_group
private

Definition at line 346 of file DynamicMesh.h.

◆ m_parent_mesh

IMesh* Arcane::mesh::DynamicMesh::m_parent_mesh
private

Definition at line 345 of file DynamicMesh.h.

◆ m_partition_constraint_mng

MeshPartitionConstraintMng* Arcane::mesh::DynamicMesh::m_partition_constraint_mng = nullptr
private

Definition at line 611 of file DynamicMesh.h.

◆ m_properties

Properties* Arcane::mesh::DynamicMesh::m_properties
private

Definition at line 327 of file DynamicMesh.h.

◆ m_sub_domain

ISubDomain* Arcane::mesh::DynamicMesh::m_sub_domain
private

Definition at line 321 of file DynamicMesh.h.

◆ m_submesh_tools

SubMeshTools* Arcane::mesh::DynamicMesh::m_submesh_tools = nullptr
private

Definition at line 579 of file DynamicMesh.h.

◆ m_tied_interface_mng

TiedInterfaceMng* Arcane::mesh::DynamicMesh::m_tied_interface_mng = nullptr
private

Definition at line 607 of file DynamicMesh.h.

◆ m_tied_interface_need_prepare_dump

bool Arcane::mesh::DynamicMesh::m_tied_interface_need_prepare_dump = false
private

Definition at line 609 of file DynamicMesh.h.

◆ m_timestamp

Int64 Arcane::mesh::DynamicMesh::m_timestamp
private

Definition at line 328 of file DynamicMesh.h.

◆ m_true_item_families

UniqueArray<ItemFamily*> Arcane::mesh::DynamicMesh::m_true_item_families
private

List of entity family implementations.

Definition at line 603 of file DynamicMesh.h.

◆ m_use_mesh_item_family_dependencies

bool Arcane::mesh::DynamicMesh::m_use_mesh_item_family_dependencies = false
private

Definition at line 624 of file DynamicMesh.h.

◆ m_variable_mng

IVariableMng* Arcane::mesh::DynamicMesh::m_variable_mng
private

Definition at line 326 of file DynamicMesh.h.


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