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 |
| 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 |
|
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.
|
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.
References computeSynchronizeInfos().
Referenced by computeSynchronizeInfos().
|
pure virtual |
Connectivity descriptor.
This object allows reading/modifying connectivity
References connectivity().
Referenced by connectivity().
Defines the parent mesh and group.
Must be set on the mesh being constructed before the build() phase
References defineParentForBuild().
Referenced by defineParentForBuild().
|
pure virtual |
True if the mesh is allocated.
A mesh is allocated as soon as an entity has been added, by allocateCells(), or reloadMesh()
|
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).
References isPrimaryMesh().
Referenced by isPrimaryMesh().
|
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.
References nodesCoordinates().
Referenced by nodesCoordinates().
|
pure virtual |
Parent group.
Returns the null group if the mesh has no parent.
References parentGroup().
Referenced by parentGroup().
|
pure virtual |
Access to the parent mesh.
Returns nullptr if the mesh does not have a parent mesh.
References parentMesh().
Referenced by parentMesh().
|
pure virtual |
Sets the mesh check level.
0 - tests disabled 1 - partial tests, after endUpdate() 2 - full tests, after endUpdate()
References setCheckLevel().
Referenced by setCheckLevel().
|
pure virtual |
Synchronizes all mesh groups and variables.
This operation is collective
|
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.
Referenced by Arcane::CartesianMeshImpl::computeDirections().
|
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.
References toPrimaryMesh().
Referenced by Arcane::IMeshPartitioner::primaryMesh(), and toPrimaryMesh().