Public Member Functions | |
| EmptyMesh (ITraceMng *trace_mng) | |
| MeshHandle | handle () const override |
| Handle on this mesh. | |
| VariableNodeReal3 & | nodesCoordinates () override |
| Node coordinates. | |
| void | setDimension (Integer) override |
| Positions the mesh dimension (1D, 2D, or 3D). | |
| void | reloadMesh () override |
| Reloads the mesh from protected variables. | |
| void | allocateCells (Integer, Int64ConstArrayView, bool) override |
| Allocation of a mesh. | |
| void | endAllocate () override |
| Indicates the end of cell allocation. | |
| void | deallocate () override |
| Deallocates the mesh. | |
| VariableItemInt32 & | itemsNewOwner (eItemKind) override |
| Variable containing the identifier of the owning subdomain. | |
| void | exchangeItems () override |
| Changes the owning subdomains of entities. | |
| void | setOwnersFromCells () override |
| Positions entity owners based on the cell owner. | |
| void | setMeshPartInfo (const MeshPartInfo &) override |
| Positions partitioning information. | |
| String | name () const override |
| Mesh name. | |
| 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) override |
| Number of elements of type ik. | |
| ITraceMng * | traceMng () override |
| Associated message manager. | |
| Integer | dimension () override |
| Mesh dimension (1D, 2D, or 3D). | |
| 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. | |
| 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. | |
| FaceGroup | outerFaces () override |
| Group of all faces on the boundary. | |
| IItemFamily * | createItemFamily (eItemKind, const String &) override |
| Create a particle family named name. | |
| IItemFamily * | findItemFamily (eItemKind, const String &, bool, bool) override |
| Returns the family named name. | |
| IItemFamily * | findItemFamily (const String &, bool) override |
| Returns the family named name. | |
| IItemFamilyModifier * | findItemFamilyModifier (eItemKind, const String &) override |
| Returns the IItemFamilyModifier interface for the family named name and of type ik. | |
| IItemFamily * | itemFamily (eItemKind) override |
| Returns the entity family of type ik. | |
| IItemFamily * | nodeFamily () override |
| Returns the node family. | |
| IItemFamily * | edgeFamily () override |
| Returns the edge family. | |
| IItemFamily * | faceFamily () override |
| Returns the face family. | |
| IItemFamily * | cellFamily () override |
| Returns the cell family. | |
| IItemFamilyCollection | itemFamilies () override |
| void | build () override |
| String | factoryName () const override |
| Name of the factory used to create the mesh. | |
| ItemInternalList | itemsInternal (eItemKind) override |
| Internal array of mesh elements of type type. | |
| SharedVariableNodeReal3 | sharedNodesCoordinates () override |
| Node coordinates. | |
| void | checkValidMesh () override |
| Check for the validity of internal mesh structures (internal). | |
| void | checkValidMeshFull () override |
| Mesh validity check. | |
| void | synchronizeGroupsAndVariables () override |
| Synchronizes all mesh groups and variables. | |
| bool | isAllocated () override |
| True if the mesh is allocated. | |
| Int64 | timestamp () override |
| Counter indicating the time of the last mesh modification. | |
| ISubDomain * | subDomain () override |
| IParallelMng * | parallelMng () override |
| Parallelism manager. | |
| VariableScalarInteger | connectivity () override |
| Connectivity descriptor. | |
| CellGroup | allActiveCells () override |
| CellGroup | ownActiveCells () override |
| Group of all active cells specific to the domain. | |
| CellGroup | allLevelCells (const Integer &) override |
Group of all cells of level level. | |
| CellGroup | ownLevelCells (const Integer &) override |
Group of all cells specific to the domain of level level. | |
| FaceGroup | allActiveFaces () override |
| Group of all active faces. | |
| FaceGroup | ownActiveFaces () override |
| Group of all active faces specific to the domain. | |
| FaceGroup | innerActiveFaces () override |
| Group of all active faces. | |
| FaceGroup | outerActiveFaces () override |
| Group of all active faces on the boundary. | |
| ItemGroupCollection | groups () override |
| List of groups. | |
| ItemGroup | findGroup (const String &) override |
| Returns the group with name name or a null group if none exists. | |
| void | destroyGroups () override |
| Destroys all groups of all families. | |
| MeshItemInternalList * | meshItemInternalList () override |
| void | updateGhostLayers (bool) override |
| void | serializeCells (ISerializer *, Int32ConstArrayView) override |
| void | prepareForDump () override |
| Prepares the instance for dumping. | |
| void | initializeVariables (const XmlNode &) override |
| Initializes variables with values from the configuration file (internal). | |
| void | setCheckLevel (Integer) override |
| Sets the mesh check level. | |
| Integer | checkLevel () const override |
| Current check level. | |
| bool | isDynamic () const override |
| Indicates if the mesh is dynamic (can evolve). | |
| bool | isAmrActivated () const override |
| void | computeTiedInterfaces (const XmlNode &) override |
| Determines the semi-conforming interfaces. | |
| bool | hasTiedInterface () override |
| True if semi-conforming interfaces exist in the mesh. | |
| TiedInterfaceCollection | tiedInterfaces () override |
| List of semi-conforming interfaces. | |
| IMeshPartitionConstraintMng * | partitionConstraintMng () override |
| Manager of partitioning constraints associated with this mesh. | |
| IMeshUtilities * | utilities () override |
| Associated utility functions interface. | |
| Properties * | properties () override |
| Properties associated with this mesh. | |
| IMeshModifier * | modifier () override |
| Associated modifier interface. | |
| void | defineParentForBuild (IMesh *, ItemGroup) override |
| Defines the parent mesh and group. | |
| IMesh * | parentMesh () const override |
| Access to the parent mesh. | |
| ItemGroup | parentGroup () const override |
| Parent group. | |
| void | addChildMesh (IMesh *) override |
| Adds a sub-mesh to the parent mesh. | |
| MeshCollection | childMeshes () const override |
| List of sub-meshes of the current mesh. | |
| bool | isPrimaryMesh () const override |
| Indicates if the instance is a primary mesh. | |
| IPrimaryMesh * | toPrimaryMesh () override |
| Returns the instance in the form of an IPrimaryMesh. | |
| IUserDataList * | userDataList () override |
| Associated user data manager. | |
| const IUserDataList * | userDataList () const override |
| Associated user data manager. | |
| IGhostLayerMng * | ghostLayerMng () const override |
| Associated ghost layer manager. | |
| IMeshUniqueIdMng * | meshUniqueIdMng () const override |
| Unique ID numbering manager. | |
| IMeshChecker * | checker () const override |
| Checker interface. | |
| const MeshPartInfo & | meshPartInfo () const override |
| Mesh part information. | |
| bool | useMeshItemFamilyDependencies () const override |
| check if the network itemFamily dependencies is activated | |
| IItemFamilyNetwork * | itemFamilyNetwork () override |
| Family network interface (connected families). | |
| IIndexedIncrementalItemConnectivityMng * | indexedConnectivityMng () override |
| Interface of the indexed incremental connectivity manager. | |
| IMeshCompactMng * | _compactMng () override |
| InternalConnectivityPolicy | _connectivityPolicy () const override |
| Connectivity usage policy. | |
| IMeshMng * | meshMng () const override |
| Associated mesh manager. | |
| IVariableMng * | variableMng () const override |
| Associated variable manager. | |
| ItemTypeMng * | itemTypeMng () const override |
| Associated entity type manager. | |
| void | computeSynchronizeInfos () override |
| Recalculates synchronization information. | |
| IMeshInternal * | _internalApi () override |
| Internal Arcane API. | |
| Public Member Functions inherited from Arcane::IPrimaryMesh | |
| virtual IMeshInitialAllocator * | initialAllocator () |
| Specific initial allocator. | |
| 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. | |
| virtual const MeshKind | meshKind () const =0 |
| Mesh characteristics. | |
| virtual EventObservable< const MeshEventArgs & > & | eventObservable (eMeshEventType type)=0 |
| Observable for an event. | |
Public Attributes | |
| ITraceMng * | m_trace_mng |
Private Member Functions | |
| void | _error () const |
Definition at line 58 of file EmptyMesh.h.
|
inlineexplicit |
Definition at line 66 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 517 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineprivate |
Definition at line 73 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Adds a sub-mesh to the parent mesh.
Implements Arcane::IMesh.
Definition at line 447 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Group of all cells of level level.
Implements Arcane::IMesh.
Definition at line 318 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Allocation of a mesh.
Creation of an arbitrary mesh.
This method is the most generic of the mesh creation methods. It is used when you only know the cells and the list of their nodes based on their unique global number.
This operation allocates the structures for the mesh containing a number of cells equal to nb_cell, the cells being described by the array cells_infos.
Since the node numbers are unique numbers, their value can be arbitrary: it is not necessary to start at zero, nor must the numbers be consecutive. The implementation handles determining the number of nodes in the mesh.
For example, if we have two cells, the first of type IT_Hexaedron8, with unique number 23, and the second of type IT_Tetraedron4 with unique number 45, the array cells_infos will contain 16 elements, distributed as follows:
If nb_cell is zero and cells_infos is not empty, the number of cells is determined dynamically. The array cells_infos is iterated until the end of the array is reached or a cell of type IT_NullType is encountered.
If one_alloc is true, the endAllocate() operation is called to indicate that no other cells will be added. It is possible to allocate the mesh in several steps by setting one_alloc to false and calling endAllocate() at the end.
Implements Arcane::IPrimaryMesh.
Definition at line 94 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 251 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Check for the validity of internal mesh structures (internal).
Implements Arcane::IMesh.
Definition at line 267 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 268 of file EmptyMesh.h.
|
inlineoverridevirtual |
List of sub-meshes of the current mesh.
Implements Arcane::IMesh.
Definition at line 448 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 546 of file EmptyMesh.h.
References ARCANE_THROW.
|
inlineoverridevirtual |
Determines the semi-conforming interfaces.
Implements Arcane::IMesh.
Definition at line 396 of file EmptyMesh.h.
|
inlineoverridevirtual |
Connectivity descriptor.
This object allows reading/modifying connectivity
Implements Arcane::IMesh.
Definition at line 302 of file EmptyMesh.h.
|
inlineoverridevirtual |
Create a particle family named name.
Implements Arcane::IMeshBase.
Definition at line 198 of file EmptyMesh.h.
|
inlineoverridevirtual |
Deallocates the mesh.
This deletes all entities and all entity groups. The mesh must then be reallocated via the call to allocateCells(). This call also deletes the mesh dimension, which must be reset by setDimension(). It is therefore possible to change the mesh dimension afterward.
This method is collective.
Implements Arcane::IPrimaryMesh.
Definition at line 96 of file EmptyMesh.h.
|
inlineoverridevirtual |
Defines the parent mesh and group.
Must be set on the mesh being constructed before the build() phase
Implements Arcane::IMesh.
Definition at line 436 of file EmptyMesh.h.
|
inlineoverridevirtual |
Destroys all groups of all families.
Implements Arcane::IMesh.
Definition at line 361 of file EmptyMesh.h.
|
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 145 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
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 95 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 103 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Name of the factory used to create the mesh.
Implements Arcane::IMesh.
Definition at line 252 of file EmptyMesh.h.
Returns the group with name name or a null group if none exists.
Implements Arcane::IMesh.
Definition at line 356 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 208 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 203 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 213 of file EmptyMesh.h.
|
inlineoverridevirtual |
Associated ghost layer manager.
Implements Arcane::IMesh.
Definition at line 478 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
True if semi-conforming interfaces exist in the mesh.
Implements Arcane::IMesh.
Definition at line 397 of file EmptyMesh.h.
|
inlineoverridevirtual |
Interface of the indexed incremental connectivity manager.
Implements Arcane::IMesh.
Definition at line 509 of file EmptyMesh.h.
|
inlineoverridevirtual |
Initializes variables with values from the configuration file (internal).
Implements Arcane::IMesh.
Definition at line 376 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
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 273 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 388 of file EmptyMesh.h.
|
inlineoverridevirtual |
Indicates if the mesh is dynamic (can evolve).
Implements Arcane::IMesh.
Definition at line 383 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 456 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMeshBase.
Definition at line 243 of file EmptyMesh.h.
|
inlineoverridevirtual |
Returns the entity family of type ik.
Implements Arcane::IMeshBase.
Definition at line 218 of file EmptyMesh.h.
|
inlineoverridevirtual |
Family network interface (connected families).
Implements Arcane::IMesh.
Definition at line 504 of file EmptyMesh.h.
|
inlineoverridevirtual |
Internal array of mesh elements of type type.
Implements Arcane::IMesh.
Definition at line 257 of file EmptyMesh.h.
|
inlineoverridevirtual |
Variable containing the identifier of the owning subdomain.
Returns the variable containing the identifier of the owning subdomain of entities of the given kind.
Implements Arcane::IPrimaryMesh.
Definition at line 97 of file EmptyMesh.h.
|
inlineoverridevirtual |
Associated entity type manager.
Implements Arcane::IMesh.
Definition at line 540 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 365 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Associated modifier interface.
Implements Arcane::IMesh.
Definition at line 428 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Number of elements of type ik.
Implements Arcane::IMeshBase.
Definition at line 135 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Group of all active faces on the boundary.
Implements Arcane::IMesh.
Definition at line 343 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all faces on the boundary.
Implements Arcane::IMeshBase.
Definition at line 190 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all active cells specific to the domain.
Implements Arcane::IMesh.
Definition at line 313 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all active faces specific to the domain.
Implements Arcane::IMesh.
Definition at line 333 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all domain-specific cells.
Implements Arcane::IMeshBase.
Definition at line 185 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all domain-specific edges.
Implements Arcane::IMeshBase.
Definition at line 175 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all domain-specific faces.
Implements Arcane::IMeshBase.
Definition at line 180 of file EmptyMesh.h.
Group of all cells specific to the domain of level level.
Implements Arcane::IMesh.
Definition at line 323 of file EmptyMesh.h.
|
inlineoverridevirtual |
Group of all domain-specific nodes.
Implements Arcane::IMeshBase.
Definition at line 170 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Parent group.
Returns the null group if the mesh has no parent.
Implements Arcane::IMesh.
Definition at line 442 of file EmptyMesh.h.
|
inlineoverridevirtual |
Access to the parent mesh.
Returns nullptr if the mesh does not have a parent mesh.
Implements Arcane::IMesh.
Definition at line 437 of file EmptyMesh.h.
|
inlineoverridevirtual |
Manager of partitioning constraints associated with this mesh.
Implements Arcane::IMesh.
Definition at line 407 of file EmptyMesh.h.
|
inlineoverridevirtual |
Prepares the instance for dumping.
Implements Arcane::IMesh.
Definition at line 375 of file EmptyMesh.h.
|
inlineoverridevirtual |
Properties associated with this mesh.
Implements Arcane::IMesh.
Definition at line 420 of file EmptyMesh.h.
|
inlineoverridevirtual |
Reloads the mesh from protected variables.
Implements Arcane::IPrimaryMesh.
Definition at line 93 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 374 of file EmptyMesh.h.
|
inlineoverridevirtual |
Sets the mesh check level.
0 - tests disabled 1 - partial tests, after endUpdate() 2 - full tests, after endUpdate()
Implements Arcane::IMesh.
Definition at line 377 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 92 of file EmptyMesh.h.
|
inlineoverridevirtual |
Positions partitioning information.
Implements Arcane::IPrimaryMesh.
Definition at line 105 of file EmptyMesh.h.
|
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 104 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverride |
Definition at line 286 of file EmptyMesh.h.
|
inlineoverridevirtual |
Synchronizes all mesh groups and variables.
This operation is collective
Implements Arcane::IMesh.
Definition at line 269 of file EmptyMesh.h.
|
inlineoverridevirtual |
List of semi-conforming interfaces.
Implements Arcane::IMesh.
Definition at line 402 of file EmptyMesh.h.
|
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 278 of file EmptyMesh.h.
|
inlineoverridevirtual |
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 461 of file EmptyMesh.h.
|
inlineoverridevirtual |
Associated message manager.
Implements Arcane::IMeshBase.
Definition at line 140 of file EmptyMesh.h.
|
inlineoverridevirtual |
Implements Arcane::IMesh.
Definition at line 373 of file EmptyMesh.h.
|
inlineoverridevirtual |
check if the network itemFamily dependencies is activated
Implements Arcane::IMesh.
Definition at line 499 of file EmptyMesh.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Associated utility functions interface.
Implements Arcane::IMesh.
Definition at line 415 of file EmptyMesh.h.
|
inlineoverridevirtual |
| ITraceMng* Arcane::mesh::EmptyMesh::m_trace_mng |
Definition at line 64 of file EmptyMesh.h.