Public Member Functions | |
| virtual void | build ()=0 |
| virtual String | factoryName () const =0 |
| Name of the factory used to create the mesh. | |
| virtual ItemInternalList | itemsInternal (eItemKind)=0 |
| Internal array of mesh elements of type type. | |
| virtual SharedVariableNodeReal3 | sharedNodesCoordinates ()=0 |
| Node coordinates. | |
| virtual void | checkValidMesh ()=0 |
| Check for the validity of internal mesh structures (internal). | |
| virtual void | checkValidMeshFull ()=0 |
| Mesh validity check. | |
| virtual void | synchronizeGroupsAndVariables ()=0 |
| Synchronizes all mesh groups and variables. | |
| virtual bool | isAllocated ()=0 |
| True if the mesh is allocated. | |
| virtual Int64 | timestamp ()=0 |
| Counter indicating the time of the last mesh modification. | |
| ARCANE_DEPRECATED_LONG_TERM ("Y2020: Do not use this method. Try to get 'ISubDomain' from another way") virtual ISubDomain *subDomain()=0 | |
| Associated subdomain. | |
| virtual IParallelMng * | parallelMng ()=0 |
| Parallelism manager. | |
| virtual VariableScalarInteger | connectivity ()=0 |
| Connectivity descriptor. | |
| virtual CellGroup | allActiveCells ()=0 |
| virtual CellGroup | ownActiveCells ()=0 |
| Group of all active cells specific to the domain. | |
| virtual CellGroup | allLevelCells (const Integer &level)=0 |
Group of all cells of level level. | |
| virtual CellGroup | ownLevelCells (const Integer &level)=0 |
Group of all cells specific to the domain of level level. | |
| virtual FaceGroup | allActiveFaces ()=0 |
| Group of all active faces. | |
| virtual FaceGroup | ownActiveFaces ()=0 |
| Group of all active faces specific to the domain. | |
| virtual FaceGroup | innerActiveFaces ()=0 |
| Group of all active faces. | |
| virtual FaceGroup | outerActiveFaces ()=0 |
| Group of all active faces on the boundary. | |
| virtual ItemGroupCollection | groups ()=0 |
| List of groups. | |
| virtual ItemGroup | findGroup (const String &name)=0 |
| Returns the group with name name or a null group if none exists. | |
| virtual void | destroyGroups ()=0 |
| Destroys all groups of all families. | |
| virtual MeshItemInternalList * | meshItemInternalList ()=0 |
| virtual void | updateGhostLayers (bool remove_old_ghost)=0 |
| virtual ARCANE_DEPRECATED_240 void | serializeCells (ISerializer *buffer, Int32ConstArrayView cells_local_id)=0 |
| virtual void | prepareForDump ()=0 |
| Prepares the instance for dumping. | |
| virtual void | initializeVariables (const XmlNode &init_node)=0 |
| Initializes variables with values from the configuration file (internal). | |
| virtual void | setCheckLevel (Integer level)=0 |
| Sets the mesh check level. | |
| virtual Integer | checkLevel () const =0 |
| Current check level. | |
| virtual bool | isDynamic () const =0 |
| Indicates if the mesh is dynamic (can evolve). | |
| virtual bool | isAmrActivated () const =0 |
Management of semi-conforming interfaces | |
| virtual void | computeTiedInterfaces (const XmlNode &mesh_node)=0 |
| Determines the semi-conforming interfaces. | |
| virtual bool | hasTiedInterface ()=0 |
| True if semi-conforming interfaces exist in the mesh. | |
| virtual TiedInterfaceCollection | tiedInterfaces ()=0 |
| List of semi-conforming interfaces. | |
| virtual IMeshPartitionConstraintMng * | partitionConstraintMng ()=0 |
| Manager of partitioning constraints associated with this mesh. | |
| virtual IMeshUtilities * | utilities ()=0 |
| Associated utility functions interface. | |
| virtual Properties * | properties ()=0 |
| Properties associated with this mesh. | |
| virtual IMeshModifier * | modifier ()=0 |
| Associated modifier interface. | |
| virtual VariableNodeReal3 & | nodesCoordinates ()=0 |
| Node coordinates. | |
| virtual void | defineParentForBuild (IMesh *mesh, ItemGroup group)=0 |
| Defines the parent mesh and group. | |
| virtual IMesh * | parentMesh () const =0 |
| Access to the parent mesh. | |
| virtual ItemGroup | parentGroup () const =0 |
| Parent group. | |
| virtual void | addChildMesh (IMesh *sub_mesh)=0 |
| Adds a sub-mesh to the parent mesh. | |
| virtual MeshCollection | childMeshes () const =0 |
| List of sub-meshes of the current mesh. | |
| virtual bool | isPrimaryMesh () const =0 |
| Indicates if the instance is a primary mesh. | |
| virtual IPrimaryMesh * | toPrimaryMesh ()=0 |
| Returns the instance in the form of an IPrimaryMesh. | |
| virtual IUserDataList * | userDataList ()=0 |
| Associated user data manager. | |
| virtual const IUserDataList * | userDataList () const =0 |
| Associated user data manager. | |
| virtual IGhostLayerMng * | ghostLayerMng () const =0 |
| Associated ghost layer manager. | |
| virtual IMeshUniqueIdMng * | meshUniqueIdMng () const =0 |
| Unique ID numbering manager. | |
| virtual IMeshChecker * | checker () const =0 |
| Checker interface. | |
| virtual const MeshPartInfo & | meshPartInfo () const =0 |
| Mesh part information. | |
| virtual bool | useMeshItemFamilyDependencies () const =0 |
| check if the network itemFamily dependencies is activated | |
| virtual IItemFamilyNetwork * | itemFamilyNetwork ()=0 |
| Family network interface (connected families). | |
| virtual IIndexedIncrementalItemConnectivityMng * | indexedConnectivityMng ()=0 |
| Interface of the indexed incremental connectivity manager. | |
| virtual const MeshKind | meshKind () const =0 |
| Mesh characteristics. | |
| virtual EventObservable< const MeshEventArgs & > & | eventObservable (eMeshEventType type)=0 |
| Observable for an event. | |
| virtual IMeshCompactMng * | _compactMng ()=0 |
| virtual InternalConnectivityPolicy | _connectivityPolicy () const =0 |
| Connectivity usage policy. | |
| virtual IMeshMng * | meshMng () const =0 |
| Associated mesh manager. | |
| virtual IVariableMng * | variableMng () const =0 |
| Associated variable manager. | |
| virtual ItemTypeMng * | itemTypeMng () const =0 |
| Associated entity type manager. | |
| virtual void | computeSynchronizeInfos ()=0 |
| Recalculates synchronization information. | |
| virtual IMeshInternal * | _internalApi ()=0 |
| Internal Arcane API. | |
| Public Member Functions inherited from Arcane::IMeshBase | |
| virtual MeshHandle | handle () const =0 |
| Handle on this mesh. | |
| virtual String | name () const =0 |
| Mesh name. | |
| virtual Integer | nbNode ()=0 |
| Number of mesh nodes. | |
| virtual Integer | nbEdge ()=0 |
| Number of mesh edges. | |
| virtual Integer | nbFace ()=0 |
| Number of mesh faces. | |
| virtual Integer | nbCell ()=0 |
| Number of mesh cells. | |
| virtual Integer | nbItem (eItemKind ik)=0 |
| Number of elements of type ik. | |
| virtual ITraceMng * | traceMng ()=0 |
| Associated message manager. | |
| virtual Integer | dimension ()=0 |
| Mesh dimension (1D, 2D, or 3D). | |
| virtual NodeGroup | allNodes ()=0 |
| Group of all nodes. | |
| virtual EdgeGroup | allEdges ()=0 |
| Group of all edges. | |
| virtual FaceGroup | allFaces ()=0 |
| Group of all faces. | |
| virtual CellGroup | allCells ()=0 |
| Group of all cells. | |
| virtual NodeGroup | ownNodes ()=0 |
| Group of all domain-specific nodes. | |
| virtual EdgeGroup | ownEdges ()=0 |
| Group of all domain-specific edges. | |
| virtual FaceGroup | ownFaces ()=0 |
| Group of all domain-specific faces. | |
| virtual CellGroup | ownCells ()=0 |
| Group of all domain-specific cells. | |
| virtual FaceGroup | outerFaces ()=0 |
| Group of all faces on the boundary. | |
| virtual IItemFamily * | createItemFamily (eItemKind ik, const String &name)=0 |
| Create a particle family named name. | |
| virtual IItemFamily * | findItemFamily (eItemKind ik, const String &name, bool create_if_needed=false, bool register_modifier_if_created=false)=0 |
| Returns the family named name. | |
| virtual IItemFamily * | findItemFamily (const String &name, bool throw_exception=false)=0 |
| Returns the family named name. | |
| virtual IItemFamilyModifier * | findItemFamilyModifier (eItemKind ik, const String &name)=0 |
| Returns the IItemFamilyModifier interface for the family named name and of type ik. | |
| virtual IItemFamily * | itemFamily (eItemKind ik)=0 |
| Returns the entity family of type ik. | |
| virtual IItemFamily * | nodeFamily ()=0 |
| Returns the node family. | |
| virtual IItemFamily * | edgeFamily ()=0 |
| Returns the edge family. | |
| virtual IItemFamily * | faceFamily ()=0 |
| Returns the face family. | |
| virtual IItemFamily * | cellFamily ()=0 |
| Returns the cell family. | |
| virtual IItemFamilyCollection | itemFamilies ()=0 |
Interface of a mesh.
There are two types of meshes that implement this interface:
A mesh is composed of a set of entities (Item), such as nodes (Node), edges (Edge), faces (Face), or cells (Cell). It is also possible to associate other types of entities, such as particles (Particle).
Entities of the same type are managed in a family (IItemFamily).
A mesh has a dimension, retrievable via dimension(), which can be 1, 2, or 3. The dimension is only used to indicate the dimension of Cell elements, i.e., 1D, 2D, or 3D.
To create a mesh, you must refer to the IPrimaryMesh interface.
|
pure virtual |
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References _compactMng().
Referenced by Arcane::mesh::ItemFamily::_compactItems(), and _compactMng().
|
pure virtual |
Connectivity usage policy.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References _connectivityPolicy().
Referenced by _connectivityPolicy().
|
pure virtual |
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References _internalApi().
Referenced by _internalApi().
|
pure virtual |
Adds a sub-mesh to the parent mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References addChildMesh().
Referenced by addChildMesh().
|
pure virtual |
AMR Group of all active cells
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References allActiveCells().
Referenced by allActiveCells().
|
pure virtual |
Group of all active faces.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References allActiveFaces().
Referenced by allActiveFaces().
Group of all cells of level level.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References allLevelCells().
Referenced by allLevelCells().
|
pure virtual |
Implemented in Arcane::mesh::DynamicMesh.
|
pure virtual |
Checker interface.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References checker().
Referenced by checker().
|
pure virtual |
Current check level.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References checkLevel().
Referenced by checkLevel().
|
pure virtual |
Check for the validity of internal mesh structures (internal).
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
Referenced by Arcane::SubDomain::readOrReloadMeshes().
|
pure virtual |
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.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
List of sub-meshes of the current mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References childMeshes().
Referenced by childMeshes().
|
pure virtual |
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.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References computeSynchronizeInfos().
Referenced by computeSynchronizeInfos().
|
pure virtual |
Determines the semi-conforming interfaces.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References computeTiedInterfaces().
Referenced by computeTiedInterfaces().
|
pure virtual |
Connectivity descriptor.
This object allows reading/modifying connectivity
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References connectivity().
Referenced by connectivity().
Defines the parent mesh and group.
Must be set on the mesh being constructed before the build() phase
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References defineParentForBuild().
Referenced by defineParentForBuild().
|
pure virtual |
Destroys all groups of all families.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References destroyGroups().
Referenced by destroyGroups().
|
pure virtual |
Observable for an event.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::PolyhedralMesh.
References eventObservable().
Referenced by eventObservable().
|
pure virtual |
Name of the factory used to create the mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
Returns the group with name name or a null group if none exists.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References findGroup(), and Arcane::IMeshBase::name().
Referenced by findGroup().
|
pure virtual |
Associated ghost layer manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References ghostLayerMng().
Referenced by ghostLayerMng().
|
pure virtual |
List of groups.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References groups().
Referenced by groups().
|
pure virtual |
True if semi-conforming interfaces exist in the mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References hasTiedInterface().
Referenced by hasTiedInterface().
|
pure virtual |
Interface of the indexed incremental connectivity manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References indexedConnectivityMng().
Referenced by indexedConnectivityMng().
|
pure virtual |
Initializes variables with values from the configuration file (internal).
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References initializeVariables().
Referenced by initializeVariables().
|
pure virtual |
Group of all active faces.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References innerActiveFaces().
Referenced by innerActiveFaces().
|
pure virtual |
True if the mesh is allocated.
A mesh is allocated as soon as an entity has been added, by allocateCells(), or reloadMesh()
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
Implemented in Arcane::mesh::DynamicMesh.
|
pure virtual |
Indicates if the mesh is dynamic (can evolve).
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References isDynamic().
Referenced by isDynamic().
|
pure virtual |
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).
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References isPrimaryMesh().
Referenced by isPrimaryMesh().
|
pure virtual |
Family network interface (connected families).
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References itemFamilyNetwork().
Referenced by itemFamilyNetwork().
|
pure virtual |
Internal array of mesh elements of type type.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
Associated entity type manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References itemTypeMng().
Referenced by Arcane::DumpWEnsight7::_computeGroupParts(), itemTypeMng(), and Arcane::mesh::ItemFamily::readFromDump().
|
pure virtual |
Mesh characteristics.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::PolyhedralMesh.
References meshKind().
Referenced by meshKind().
|
pure virtual |
Associated mesh manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References meshMng().
Referenced by meshMng().
|
pure virtual |
Mesh part information.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References meshPartInfo().
Referenced by Arcane::ItemPrinter::Internal::_printErrors(), meshPartInfo(), and Arcane::ItemGroupImpl::removeAddItems().
|
pure virtual |
Unique ID numbering manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References meshUniqueIdMng().
Referenced by meshUniqueIdMng().
|
pure virtual |
Associated modifier interface.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References modifier().
Referenced by modifier().
|
pure virtual |
Node coordinates.
Returns a native array (not shared like SharedVariable) of coordinates. This call is only valid on a primary mesh (not a sub-mesh).
Implemented in Arcane::IPrimaryMesh, Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References nodesCoordinates().
Referenced by nodesCoordinates().
|
pure virtual |
Group of all active faces on the boundary.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References outerActiveFaces().
Referenced by outerActiveFaces().
|
pure virtual |
Group of all active cells specific to the domain.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References ownActiveCells().
Referenced by ownActiveCells().
|
pure virtual |
Group of all active faces specific to the domain.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References ownActiveFaces().
Referenced by ownActiveFaces().
Group of all cells specific to the domain of level level.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References ownLevelCells().
Referenced by ownLevelCells().
|
pure virtual |
Parallelism manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References parallelMng().
Referenced by Arcane::mesh::BasicParticleExchanger::initialize(), parallelMng(), and Arcane::Hdf5VariableInfoBase::writeGroup().
|
pure virtual |
Parent group.
Returns the null group if the mesh has no parent.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References parentGroup().
Referenced by parentGroup().
|
pure virtual |
Access to the parent mesh.
Returns nullptr if the mesh does not have a parent mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References parentMesh().
Referenced by parentMesh().
|
pure virtual |
Manager of partitioning constraints associated with this mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References partitionConstraintMng().
Referenced by partitionConstraintMng().
|
pure virtual |
Prepares the instance for dumping.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References prepareForDump().
Referenced by Arcane::TimeLoopMng::doOneIteration(), and prepareForDump().
|
pure virtual |
Properties associated with this mesh.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References properties().
Referenced by properties().
|
pure virtual |
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References serializeCells().
Referenced by serializeCells().
|
pure virtual |
Sets the mesh check level.
0 - tests disabled 1 - partial tests, after endUpdate() 2 - full tests, after endUpdate()
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References setCheckLevel().
Referenced by setCheckLevel().
|
pure virtual |
Node coordinates.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
Synchronizes all mesh groups and variables.
This operation is collective
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
List of semi-conforming interfaces.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References tiedInterfaces().
Referenced by tiedInterfaces().
|
pure virtual |
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.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
|
pure virtual |
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.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References toPrimaryMesh().
Referenced by Arcane::SplitSDMeshPartitioner::ConnexifieDomaine(), Arcane::SplitSDMeshPartitioner::Equil2Dom(), Arcane::SplitSDMeshPartitioner::Equilibrage(), Arcane::mesh::MeshExchangeMng::mesh(), Arcane::mesh::MeshExchanger::mesh(), Arcane::MeshPartitionerTester::partitionMesh(), Arcane::SimpleGridMeshPartitioner::partitionMesh(), Arcane::IMeshPartitioner::primaryMesh(), and toPrimaryMesh().
|
pure virtual |
check if the network itemFamily dependencies is activated
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References useMeshItemFamilyDependencies().
Referenced by useMeshItemFamilyDependencies().
|
pure virtual |
Associated user data manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References userDataList().
|
pure virtual |
Associated user data manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References userDataList().
Referenced by userDataList(), and userDataList().
|
pure virtual |
Associated utility functions interface.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References utilities().
Referenced by Arcane::mesh::ItemFamily::findAdjacencyItems(), and utilities().
|
pure virtual |
Associated variable manager.
Implemented in Arcane::mesh::DynamicMesh, and Arcane::mesh::EmptyMesh.
References variableMng().
Referenced by variableMng().