Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ICartesianMeshNumberingMngInternal Class Referenceabstract

Interface for Cartesian mesh numbering manager. More...

#include <arcane/cartesianmesh/internal/ICartesianMeshNumberingMngInternal.h>

Inheritance diagram for Arcane::ICartesianMeshNumberingMngInternal:
Collaboration diagram for Arcane::ICartesianMeshNumberingMngInternal:

Public Member Functions

virtual void build ()=0
virtual void saveInfosInProperties ()=0
virtual void recreateFromDump ()=0
virtual void renumberingFacesLevel0FromOriginalArcaneNumbering ()=0
 Method allowing the renumbering of level 0 faces.
virtual void printStatus ()=0
 Method allowing the description of the object's state.
virtual void prepareLevel (Int32 level)=0
 Method allowing the preparation of a new level.
virtual void updateFirstLevel ()=0
 Method allowing the update of the first level.
virtual Int64 firstCellUniqueId (Int32 level) const =0
 Method allowing the retrieval of the first unique ID used by the cells of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.
virtual Int64 firstNodeUniqueId (Int32 level) const =0
 Method allowing the retrieval of the first unique ID used by the nodes of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.
virtual Int64 firstFaceUniqueId (Int32 level) const =0
 Method allowing the retrieval of the first unique ID used by the faces of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.
virtual CartCoord globalNbCellsX (Int32 level) const =0
 Method allowing the retrieval of the global number of cells in X for a level.
virtual CartCoord globalNbCellsY (Int32 level) const =0
 Method allowing the retrieval of the global number of cells in Y for a level.
virtual CartCoord globalNbCellsZ (Int32 level) const =0
 Method allowing the retrieval of the global number of cells in Z for a level.
virtual CartCoord globalNbNodesX (Int32 level) const =0
 Method allowing the retrieval of the global number of nodes in X for a level.
virtual CartCoord globalNbNodesY (Int32 level) const =0
 Method allowing the retrieval of the global number of nodes in Y for a level.
virtual CartCoord globalNbNodesZ (Int32 level) const =0
 Method allowing the retrieval of the global number of nodes in Z for a level.
virtual CartCoord globalNbFacesX (Int32 level) const =0
 Method allowing the retrieval of the global number of faces in X for a level.
virtual CartCoord globalNbFacesY (Int32 level) const =0
 Method allowing the retrieval of the global number of faces in Y for a level.
virtual CartCoord globalNbFacesZ (Int32 level) const =0
 Method allowing the retrieval of the global number of faces in Z for a level.
virtual CartCoord globalNbFacesXCartesianView (Int32 level) const =0
 Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.
virtual CartCoord globalNbFacesYCartesianView (Int32 level) const =0
 Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.
virtual CartCoord globalNbFacesZCartesianView (Int32 level) const =0
 Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.
virtual Int64 nbCellInLevel (Int32 level) const =0
 Method allowing the retrieval of the total number of cells in a level.
virtual Int64 nbNodeInLevel (Int32 level) const =0
 Method allowing the retrieval of the total number of nodes in a level.
virtual Int64 nbFaceInLevel (Int32 level) const =0
 Method allowing the retrieval of the total number of faces in a level.
virtual Int32 pattern () const =0
 Method allowing the retrieval of the refinement pattern used in each cell. For example, if the pattern is 2, each parent cell will have 2*2 child cells (2*2*2 in 3D).
virtual Int32 cellLevel (Int64 uid) const =0
 Method allowing the retrieval of the level of a cell with its UID.
virtual Int32 nodeLevel (Int64 uid) const =0
 Method allowing the retrieval of the level of a node with its UID.
virtual Int32 faceLevel (Int64 uid) const =0
 Method allowing the retrieval of the level of a face with its UID.
virtual CartCoord offsetLevelToLevel (CartCoord coord, Int32 level_from, Int32 level_to) const =0
 Method allowing the retrieval of the position of the first child node/cell from the position of the parent node/cell.
virtual CartCoord3 offsetLevelToLevel (CartCoord3 coord, Int32 level_from, Int32 level_to) const =0
 Method to obtain the position of the first child node/cell from the position of the parent node/cell.
virtual CartCoord faceOffsetLevelToLevel (CartCoord coord, Int32 level_from, Int32 level_to) const =0
 Method to obtain the position of the first child face from the position of the parent face.
virtual CartCoord3 cellUniqueIdToCoord (Int64 uid, Int32 level)=0
 Method to retrieve the coordinates of a cell using its uniqueId.
virtual CartCoord3 cellUniqueIdToCoord (Cell cell)=0
 Method to retrieve the coordinates of a cell.
virtual CartCoord cellUniqueIdToCoordX (Int64 uid, Int32 level)=0
 Method to retrieve the X coordinate of a cell using its uniqueId.
virtual CartCoord cellUniqueIdToCoordX (Cell cell)=0
 Method to retrieve the X coordinate of a cell.
virtual CartCoord cellUniqueIdToCoordY (Int64 uid, Int32 level)=0
 Method to retrieve the Y coordinate of a cell using its uniqueId.
virtual CartCoord cellUniqueIdToCoordY (Cell cell)=0
 Method to retrieve the Y coordinate of a cell.
virtual CartCoord cellUniqueIdToCoordZ (Int64 uid, Int32 level)=0
 Method to retrieve the Z coordinate of a cell using its uniqueId.
virtual CartCoord cellUniqueIdToCoordZ (Cell cell)=0
 Method to retrieve the Z coordinate of a cell.
virtual CartCoord nodeUniqueIdToCoordX (Int64 uid, Int32 level)=0
 Method to retrieve the X coordinate of a node using its uniqueId.
virtual CartCoord nodeUniqueIdToCoordX (Node node)=0
 Method to retrieve the X coordinate of a node.
virtual CartCoord nodeUniqueIdToCoordY (Int64 uid, Int32 level)=0
 Method to retrieve the Y coordinate of a node using its uniqueId.
virtual CartCoord nodeUniqueIdToCoordY (Node node)=0
 Method to retrieve the Y coordinate of a node.
virtual CartCoord nodeUniqueIdToCoordZ (Int64 uid, Int32 level)=0
 Method to retrieve the Z coordinate of a node using its uniqueId.
virtual CartCoord nodeUniqueIdToCoordZ (Node node)=0
 Method to retrieve the Z coordinate of a node.
virtual CartCoord faceUniqueIdToCoordX (Int64 uid, Int32 level)=0
 Method to retrieve the X coordinate of a face using its uniqueId.
virtual CartCoord faceUniqueIdToCoordX (Face face)=0
 Method to retrieve the X coordinate of a face.
virtual CartCoord faceUniqueIdToCoordY (Int64 uid, Int32 level)=0
 Method to retrieve the Y coordinate of a face using its uniqueId.
virtual CartCoord faceUniqueIdToCoordY (Face face)=0
 Method to retrieve the Y coordinate of a face.
virtual CartCoord faceUniqueIdToCoordZ (Int64 uid, Int32 level)=0
 Method to retrieve the Z coordinate of a face using its uniqueId.
virtual CartCoord faceUniqueIdToCoordZ (Face face)=0
 Method to retrieve the Z coordinate of a face.
virtual Int64 cellUniqueId (CartCoord3 cell_coord, Int32 level)=0
 Method to retrieve the uniqueId of a cell from its position and level.
virtual Int64 cellUniqueId (CartCoord2 cell_coord, Int32 level)=0
 Method to retrieve the uniqueId of a cell from its position and level.
virtual Int64 nodeUniqueId (CartCoord3 node_coord, Int32 level)=0
 Method to retrieve the uniqueId of a node from its position and level.
virtual Int64 nodeUniqueId (CartCoord2 node_coord, Int32 level)=0
 Method to retrieve the uniqueId of a node from its position and level.
virtual Int64 faceUniqueId (CartCoord3 face_coord, Int32 level)=0
 Method to retrieve the uniqueId of a face from its position and level.
virtual Int64 faceUniqueId (CartCoord2 face_coord, Int32 level)=0
 Method to retrieve the uniqueId of a face from its position and level.
virtual Int32 nbNodeByCell ()=0
 Method to retrieve the number of nodes in a cell.
virtual void cellNodeUniqueIds (CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of the nodes of a cell from its coordinates.
virtual void cellNodeUniqueIds (CartCoord2 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of the nodes of a cell from its coordinates.
virtual void cellNodeUniqueIds (Int64 cell_uid, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of the nodes of a cell from its uniqueId.
virtual void cellNodeUniqueIds (Cell cell, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of the nodes of a cell.
virtual Int32 nbFaceByCell ()=0
 Method to retrieve the number of faces in a cell.
virtual void cellFaceUniqueIds (CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of a cell's faces based on its coordinates.
virtual void cellFaceUniqueIds (CartCoord2 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of a cell's faces based on its coordinates.
virtual void cellFaceUniqueIds (Int64 cell_uid, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of a cell's faces based on its uniqueId.
virtual void cellFaceUniqueIds (Cell cell, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of a cell's faces.
virtual void cellUniqueIdsAroundCell (CartCoord3 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around a cell.
virtual void cellUniqueIdsAroundCell (CartCoord2 cell_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around a cell.
virtual void cellUniqueIdsAroundCell (Int64 cell_uid, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around the cell passed as a parameter.
virtual void cellUniqueIdsAroundCell (Cell cell, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around the cell passed as a parameter.
virtual void cellUniqueIdsAroundNode (CartCoord3 node_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around a node.
virtual void cellUniqueIdsAroundNode (CartCoord2 node_coord, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around a node.
virtual void cellUniqueIdsAroundNode (Int64 node_uid, Int32 level, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around the node passed as a parameter.
virtual void cellUniqueIdsAroundNode (Node node, ArrayView< Int64 > uid)=0
 Method to retrieve the uniqueIds of cells around the node passed as a parameter.
virtual void setChildNodeCoordinates (Cell parent_cell)=0
 Method to define the spatial coordinates of the nodes of child cells of a parent cell. This method must be called after calling endUpdate().
virtual void setParentNodeCoordinates (Cell parent_cell)=0
 Method to define the spatial coordinates of the nodes of a parent cell. This method must be called after calling endUpdate().
virtual Int64 parentCellUniqueIdOfCell (Int64 uid, Int32 level, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a cell's parent.
virtual Int64 parentCellUniqueIdOfCell (Cell cell, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a cell's parent.
virtual Int64 childCellUniqueIdOfCell (Cell cell, CartCoord3 child_coord_in_parent)=0
 Method to retrieve the uniqueId of a child cell of a parent cell based on the position of the child cell within the parent cell.
virtual Int64 childCellUniqueIdOfCell (Cell cell, CartCoord2 child_coord_in_parent)=0
 Method to retrieve the uniqueId of a child cell of a parent cell based on the position of the child cell within the parent cell.
virtual Int64 childCellUniqueIdOfCell (Cell cell, Int32 child_index_in_parent)=0
 Method to retrieve the uniqueId of a child cell of a parent cell based on the index of the child cell within the parent cell.
virtual Cell childCellOfCell (Cell cell, CartCoord3 child_coord_in_parent)=0
 Method to retrieve a child cell of a parent cell based on the position of the child cell within the parent cell.
virtual Cell childCellOfCell (Cell cell, CartCoord2 child_coord_in_parent)=0
 Method to retrieve a child cell of a parent cell based on the position of the child cell within the parent cell.
virtual Int64 parentNodeUniqueIdOfNode (Int64 uid, Int32 level, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a node's parent.
virtual Int64 parentNodeUniqueIdOfNode (Node node, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a node's parent.
virtual Int64 childNodeUniqueIdOfNode (Int64 uid, Int32 level)=0
 Method to retrieve the uniqueId of a child node of a parent node.
virtual Int64 childNodeUniqueIdOfNode (Node node)=0
 Method to retrieve the uniqueId of a child node of a parent node.
virtual Int64 parentFaceUniqueIdOfFace (Int64 uid, Int32 level, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a face's parent.
virtual Int64 parentFaceUniqueIdOfFace (Face face, bool do_fatal=true)=0
 Method to retrieve the uniqueId of a face's parent.
virtual Int64 childFaceUniqueIdOfFace (Int64 uid, Int32 level, Int32 child_index_in_parent)=0
 Method to retrieve the uniqueId of a child face of a parent face based on the index of the child face within the parent face.
virtual Int64 childFaceUniqueIdOfFace (Face face, Int32 child_index_in_parent)=0
 Method to retrieve the uniqueId of a child face of a parent face based on the index of the child face within the parent face.

Detailed Description

Interface for Cartesian mesh numbering manager.

In these managers, it is assumed that there is an interval of unique IDs assigned to each mesh level.

Warning
The mesh must not be renumbered if an implementation of this interface is used (or, it should no longer be used after renumbering (be careful with protections/resumptions)).

Definition at line 44 of file ICartesianMeshNumberingMngInternal.h.

Member Function Documentation

◆ cellFaceUniqueIds() [1/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellFaceUniqueIds ( CartCoord2 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of a cell's faces based on its coordinates.

The order in which the uniqueIds are placed corresponds to the enumeration order of the faces of an Arcane cell. -2- ^y 3 1 | -0- ->x

Parameters
cell_coordThe position of the cell.
levelThe level of the cell (and thus the faces).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbFaceByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellFaceUniqueIds() [2/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellFaceUniqueIds ( CartCoord3 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of a cell's faces based on its coordinates.

The order in which the uniqueIds are placed corresponds to the enumeration order of the faces of an Arcane cell. -2- ^y 3 1 | -0- ->x

Parameters
cell_coordThe position of the cell.
levelThe level of the cell (and thus the faces).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbFaceByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellFaceUniqueIds() [3/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellFaceUniqueIds ( Cell cell,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of a cell's faces.

The order in which the uniqueIds are placed corresponds to the enumeration order of the faces of an Arcane cell. -2- ^y 3 1 | -0- ->x

Parameters
cellThe cell.
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbFaceByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellFaceUniqueIds() [4/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellFaceUniqueIds ( Int64 cell_uid,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of a cell's faces based on its uniqueId.

The order in which the uniqueIds are placed corresponds to the enumeration order of the faces of an Arcane cell. -2- ^y 3 1 | -0- ->x

Parameters
cell_uidThe uniqueId of the cell.
levelThe level of the cell (and thus the faces).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbFaceByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellLevel()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::cellLevel ( Int64 uid) const
pure virtual

Method allowing the retrieval of the level of a cell with its UID.

Parameters
uidThe unique ID of the cell.
Returns
The level of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellNodeUniqueIds() [1/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellNodeUniqueIds ( CartCoord2 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of the nodes of a cell from its coordinates.

The order in which the uniqueIds are placed corresponds to the enumeration order of the nodes of an Arcane cell. 3–2 ^y | | | 0–1 ->x

Parameters
cell_coordThe position of the cell.
levelThe level of the cell (and thus the nodes).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbNodeByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellNodeUniqueIds() [2/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellNodeUniqueIds ( CartCoord3 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of the nodes of a cell from its coordinates.

The order in which the uniqueIds are placed corresponds to the enumeration order of the nodes of an Arcane cell. 3–2 ^y | | | 0–1 ->x

Parameters
cell_coordThe position of the cell.
levelThe level of the cell (and thus the nodes).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbNodeByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellNodeUniqueIds() [3/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellNodeUniqueIds ( Cell cell,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of the nodes of a cell.

The order in which the uniqueIds are placed corresponds to the enumeration order of the nodes of an Arcane cell. 3–2 ^y | | | 0–1 ->x

Parameters
cellThe cell.
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbNodeByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellNodeUniqueIds() [4/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellNodeUniqueIds ( Int64 cell_uid,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of the nodes of a cell from its uniqueId.

The order in which the uniqueIds are placed corresponds to the enumeration order of the nodes of an Arcane cell. 3–2 ^y | | | 0–1 ->x

Parameters
cell_uidThe uniqueId of the cell.
levelThe level of the cell (and thus the nodes).
uid[OUT] The uniqueIds of the cell. The size of the ArrayView must be equal to nbNodeByCell().

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueId() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::cellUniqueId ( CartCoord2 cell_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a cell from its position and level.

Parameters
cell_coordThe position of the cell.
levelThe level of the cell.
Returns
The uniqueId of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueId() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::cellUniqueId ( CartCoord3 cell_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a cell from its position and level.

Parameters
cell_coordThe position of the cell.
levelThe level of the cell.
Returns
The uniqueId of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundCell() [1/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundCell ( CartCoord2 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around a cell.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 9.

Parameters
cell_coordThe position of the cell.
levelThe level of the cell at the center.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundCell() [2/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundCell ( CartCoord3 cell_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around a cell.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 27.

Parameters
cell_coordThe position of the cell.
levelThe level of the cell at the center.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundCell() [3/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundCell ( Cell cell,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around the cell passed as a parameter.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 9 in 2D and 27 in 3D.

Parameters
cellThe cell at the center.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundCell() [4/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundCell ( Int64 cell_uid,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around the cell passed as a parameter.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 9 in 2D and 27 in 3D.

Parameters
cell_uidThe uniqueId of the cell at the center.
levelThe level of the cell at the center.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundNode() [1/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundNode ( CartCoord2 node_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around a node.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 4.

Parameters
node_coordThe position of the node.
levelThe level of the node.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundNode() [2/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundNode ( CartCoord3 node_coord,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around a node.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 8.

Parameters
node_coordThe position of the node.
levelThe level of the node.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundNode() [3/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundNode ( Int64 node_uid,
Int32 level,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around the node passed as a parameter.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 4 in 2D or 8 in 3D.

Parameters
node_uidThe uniqueId of the node.
levelThe level of the node.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdsAroundNode() [4/4]

virtual void Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdsAroundNode ( Node node,
ArrayView< Int64 > uid )
pure virtual

Method to retrieve the uniqueIds of cells around the node passed as a parameter.

If there is no cell in an adjacent location (e.g., if we are at the edge of the mesh), a uniqueId of -1 is used.

The passed view must have a size of 4 in 2D or 8 in 3D.

Parameters
nodeThe node.
uid[OUT] The uniqueIds of the surrounding cells.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoord() [1/2]

virtual CartCoord3 Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoord ( Cell cell)
pure virtual

Method to retrieve the coordinates of a cell.

Parameters
cellThe cell.
Returns
The position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoord() [2/2]

virtual CartCoord3 Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoord ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the coordinates of a cell using its uniqueId.

Parameters
uidThe uniqueId of the cell.
levelThe level of the cell.
Returns
The position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordX() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordX ( Cell cell)
pure virtual

Method to retrieve the X coordinate of a cell.

Parameters
cellThe cell.
Returns
The X position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordX() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordX ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the X coordinate of a cell using its uniqueId.

Parameters
uidThe uniqueId of the cell.
levelThe level of the cell.
Returns
The X position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordY() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordY ( Cell cell)
pure virtual

Method to retrieve the Y coordinate of a cell.

Parameters
cellThe cell.
Returns
The Y position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordY() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordY ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Y coordinate of a cell using its uniqueId.

Parameters
uidThe uniqueId of the cell.
levelThe level of the cell.
Returns
The Y position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordZ() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordZ ( Cell cell)
pure virtual

Method to retrieve the Z coordinate of a cell.

Parameters
cellThe cell.
Returns
The Z position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ cellUniqueIdToCoordZ() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::cellUniqueIdToCoordZ ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Z coordinate of a cell using its uniqueId.

Parameters
uidThe uniqueId of the cell.
levelThe level of the cell.
Returns
The Z position of the cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childCellOfCell() [1/2]

virtual Cell Arcane::ICartesianMeshNumberingMngInternal::childCellOfCell ( Cell cell,
CartCoord2 child_coord_in_parent )
pure virtual

Method to retrieve a child cell of a parent cell based on the position of the child cell within the parent cell.

Parameters
cellThe parent cell.
child_coord_in_parentThe position of the child within the parent cell.
Returns
The requested child cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childCellOfCell() [2/2]

virtual Cell Arcane::ICartesianMeshNumberingMngInternal::childCellOfCell ( Cell cell,
CartCoord3 child_coord_in_parent )
pure virtual

Method to retrieve a child cell of a parent cell based on the position of the child cell within the parent cell.

Parameters
cellThe parent cell.
child_coord_in_parentThe position of the child within the parent cell.
Returns
The requested child cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childCellUniqueIdOfCell() [1/3]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childCellUniqueIdOfCell ( Cell cell,
CartCoord2 child_coord_in_parent )
pure virtual

Method to retrieve the uniqueId of a child cell of a parent cell based on the position of the child cell within the parent cell.

Parameters
cellThe parent cell.
child_coord_in_parentThe position of the child within the parent cell.
Returns
The uniqueId of the requested child cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childCellUniqueIdOfCell() [2/3]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childCellUniqueIdOfCell ( Cell cell,
CartCoord3 child_coord_in_parent )
pure virtual

Method to retrieve the uniqueId of a child cell of a parent cell based on the position of the child cell within the parent cell.

Parameters
cellThe parent cell.
child_coord_in_parentThe position of the child within the parent cell.
Returns
The uniqueId of the requested child cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childCellUniqueIdOfCell() [3/3]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childCellUniqueIdOfCell ( Cell cell,
Int32 child_index_in_parent )
pure virtual

Method to retrieve the uniqueId of a child cell of a parent cell based on the index of the child cell within the parent cell.

Parameters
cellThe parent cell.
child_index_in_parentThe index of the child within the parent cell.
Returns
The uniqueId of the requested child cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childFaceUniqueIdOfFace() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childFaceUniqueIdOfFace ( Face face,
Int32 child_index_in_parent )
pure virtual

Method to retrieve the uniqueId of a child face of a parent face based on the index of the child face within the parent face.

Parameters
faceThe parent face.
child_index_in_parentThe index of the child within the parent face.
Returns
The uniqueId of the requested child face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childFaceUniqueIdOfFace() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childFaceUniqueIdOfFace ( Int64 uid,
Int32 level,
Int32 child_index_in_parent )
pure virtual

Method to retrieve the uniqueId of a child face of a parent face based on the index of the child face within the parent face.

Parameters
uidThe uniqueId of the parent face.
levelThe level of the parent face.
child_index_in_parentThe index of the child within the parent face.
Returns
The uniqueId of the requested child face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childNodeUniqueIdOfNode() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childNodeUniqueIdOfNode ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a child node of a parent node.

Parameters
uidThe uniqueId of the child node.
levelThe level of the child node.
Returns
The uniqueId of the requested child node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ childNodeUniqueIdOfNode() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::childNodeUniqueIdOfNode ( Node node)
pure virtual

Method to retrieve the uniqueId of a child node of a parent node.

Parameters
nodeThe parent node.
Returns
The uniqueId of the requested child node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceLevel()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::faceLevel ( Int64 uid) const
pure virtual

Method allowing the retrieval of the level of a face with its UID.

Parameters
uidThe unique ID of the face.
Returns
The level of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceOffsetLevelToLevel()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceOffsetLevelToLevel ( CartCoord coord,
Int32 level_from,
Int32 level_to ) const
pure virtual

Method to obtain the position of the first child face from the position of the parent face.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
coordThe X, Y, or Z position of the parent face.
level_fromThe parent level.
level_toThe child level.
Returns
The position of the first child of the parent face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueId() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::faceUniqueId ( CartCoord2 face_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a face from its position and level.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
levelThe level of the face.
cell_coordThe position of the face.
Returns
The uniqueId of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueId() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::faceUniqueId ( CartCoord3 face_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a face from its position and level.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
levelThe level of the face.
cell_coordThe position of the face.
Returns
The uniqueId of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordX() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordX ( Face face)
pure virtual

Method to retrieve the X coordinate of a face.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
faceThe face.
Returns
The X position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordX() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordX ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the X coordinate of a face using its uniqueId.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
uidThe uniqueId of the face.
levelThe level of the face.
Returns
The X position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordY() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordY ( Face face)
pure virtual

Method to retrieve the Y coordinate of a face.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
faceThe face.
Returns
The Y position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordY() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordY ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Y coordinate of a face using its uniqueId.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
uidThe uniqueId of the face.
levelThe level of the face.
Returns
The Y position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordZ() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordZ ( Face face)
pure virtual

Method to retrieve the Z coordinate of a face.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
faceThe face.
Returns
The Z position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ faceUniqueIdToCoordZ() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::faceUniqueIdToCoordZ ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Z coordinate of a face using its uniqueId.

Note, the coordinates used here are the coordinates of the faces in "Cartesian view" (see globalNbFacesXCartesianView ).

Parameters
uidThe uniqueId of the face.
levelThe level of the face.
Returns
The Z position of the face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ firstCellUniqueId()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::firstCellUniqueId ( Int32 level) const
pure virtual

Method allowing the retrieval of the first unique ID used by the cells of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.

Parameters
levelThe level.
Returns
The first cell UID of the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ firstFaceUniqueId()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::firstFaceUniqueId ( Int32 level) const
pure virtual

Method allowing the retrieval of the first unique ID used by the faces of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.

Parameters
levelThe level.
Returns
The first face UID of the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ firstNodeUniqueId()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::firstNodeUniqueId ( Int32 level) const
pure virtual

Method allowing the retrieval of the first unique ID used by the nodes of a level. Calling this method with level and level+1 allows retrieving the unique ID interval of a level.

Parameters
levelThe level.
Returns
The first node UID of the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbCellsX()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbCellsX ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of cells in X for a level.

Parameters
levelThe level.
Returns
The number of cells in X.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbCellsY()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbCellsY ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of cells in Y for a level.

Parameters
levelThe level.
Returns
The number of cells in Y.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbCellsZ()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbCellsZ ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of cells in Z for a level.

Parameters
levelThe level.
Returns
The number of cells in Z.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesX()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesX ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of faces in X for a level.

Suppose we have the following faces: ┌─0──┬──2─┐ 4│ 6│ 8│ ├─5──┼─7──┤ 9│ 11│ 13│ └─10─┴─12─┘

So, we have 2x2 cells. In X, we have 3 faces.

For the number of faces in Cartesian view, see globalNbFacesXCartesianView.

Parameters
levelThe level.
Returns
The number of faces in X.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesXCartesianView()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesXCartesianView ( Int32 level) const
pure virtual

Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.

In 2D, this view can be: (for a 2x2 cell mesh): x = 0 1 2 3 4 ┌──┬──┬──┬──┬──┐ y = -1 │ 0│ │ 2│ │ 4│ ┌──┬──┬──┬──┬──┐ y = 0 │ │ 1│ │ 3│ │ ├──┼──┼──┼──┼──┤ y = 1 │ 5│ │ 7│ │ 9│ ├──┼──┼──┼──┼──┤ y = 2 │ │ 6│ │ 8│ │ ├──┼──┼──┼──┼──┤ y = 3 │10│ │12│ │14│ ├──┼──┼──┼──┼──┤ y = 4 │ │11│ │13│ │ └──┴──┴──┴──┴──┘ (in this view, the cells are located at odd X and Y (so here, [1, 1], [3, 1], [1, 3] and [3, 3])).

Note
In 2D, it is considered that there is an imaginary level y=-1.
Warning
In order to start the numbering at 0, in the methods returning a 2D face unique ID, we use FaceUID-1.

And in 3D (for a 2x2x2 cell mesh): z = 0 │ z = 1 │ z = 2 │ z = 3 │ z = 4 x = 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4 │ 0 1 2 3 4 ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ │ ┌──┬──┬──┬──┬──┐ y = 0 │ │ │ │ │ │ │ │ │12│ │13│ │ │ │ │ │ │ │ │ │ │ │18│ │19│ │ │ │ │ │ │ │ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ y = 1 │ │24│ │25│ │ │ │ 0│ │ 1│ │ 2│ │ │ │28│ │29│ │ │ │ 6│ │ 7│ │ 8│ │ │ │32│ │33│ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ y = 2 │ │ │ │ │ │ │ │ │14│ │15│ │ │ │ │ │ │ │ │ │ │ │20│ │21│ │ │ │ │ │ │ │ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ y = 3 │ │26│ │27│ │ │ │ 3│ │ 4│ │ 5│ │ │ │30│ │31│ │ │ │ 9│ │10│ │11│ │ │ │34│ │35│ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ │ ├──┼──┼──┼──┼──┤ y = 4 │ │ │ │ │ │ │ │ │16│ │17│ │ │ │ │ │ │ │ │ │ │ │22│ │23│ │ │ │ │ │ │ │ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ └──┴──┴──┴──┴──┘ │ │ │ │

(in this view, the cells are located at odd X, Y, and Z (so here, [1, 1, 1], [3, 1, 1], [1, 3, 1], etc.)).

Parameters
levelThe level.
Returns
The size of the grid in X.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesY()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesY ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of faces in Y for a level.

Suppose we have the following faces: ┌─0──┬──2─┐ 4│ 6│ 8│ ├─5──┼─7──┤ 9│ 11│ 13│ └─10─┴─12─┘

So, we have 2x2 cells. In Y, we have 3 faces.

For the number of faces in Cartesian view, see globalNbFacesYCartesianView.

Parameters
levelThe level.
Returns
The number of faces in Y.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesYCartesianView()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesYCartesianView ( Int32 level) const
pure virtual

Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.

An example of this view is available in the documentation of globalNbFacesXCartesianView.

Parameters
levelThe level.
Returns
The size of the grid in Y.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesZ()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesZ ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of faces in Z for a level.

Suppose we have the following faces: ┌─0──┬──2─┐ 4│ 6│ 8│ ├─5──┼─7──┤ 9│ 11│ 13│ └─10─┴─12─┘

If we have 2x2x2 cells, we will have 3 faces in Z.

For the number of faces in Cartesian view, see globalNbFacesZCartesianView.

Parameters
levelThe level.
Returns
The number of faces in Z.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbFacesZCartesianView()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbFacesZCartesianView ( Int32 level) const
pure virtual

Method allowing the retrieval of the size of the "Cartesian grid" view containing the faces.

An example of this view is available in the documentation of globalNbFacesXCartesianView.

Parameters
levelThe level.
Returns
The size of the grid in Z.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbNodesX()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbNodesX ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of nodes in X for a level.

Parameters
levelThe level.
Returns
The number of nodes in X.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbNodesY()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbNodesY ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of nodes in Y for a level.

Parameters
levelThe level.
Returns
The number of nodes in Y.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ globalNbNodesZ()

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::globalNbNodesZ ( Int32 level) const
pure virtual

Method allowing the retrieval of the global number of nodes in Z for a level.

Parameters
levelThe level.
Returns
The number of nodes in Z.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nbCellInLevel()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::nbCellInLevel ( Int32 level) const
pure virtual

Method allowing the retrieval of the total number of cells in a level.

Parameters
levelThe level.
Returns
The number of cells in the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nbFaceByCell()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::nbFaceByCell ( )
pure virtual

Method to retrieve the number of faces in a cell.

Returns
The number of faces in a cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nbFaceInLevel()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::nbFaceInLevel ( Int32 level) const
pure virtual

Method allowing the retrieval of the total number of faces in a level.

Parameters
levelThe level.
Returns
The number of faces in the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nbNodeByCell()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::nbNodeByCell ( )
pure virtual

Method to retrieve the number of nodes in a cell.

Returns
The number of nodes in a cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nbNodeInLevel()

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::nbNodeInLevel ( Int32 level) const
pure virtual

Method allowing the retrieval of the total number of nodes in a level.

Parameters
levelThe level.
Returns
The number of nodes in the level.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeLevel()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::nodeLevel ( Int64 uid) const
pure virtual

Method allowing the retrieval of the level of a node with its UID.

Parameters
uidThe unique ID of the node.
Returns
The level of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueId() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueId ( CartCoord2 node_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a node from its position and level.

Parameters
levelThe level of the node.
cell_coordThe position of the node.
Returns
The uniqueId of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueId() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueId ( CartCoord3 node_coord,
Int32 level )
pure virtual

Method to retrieve the uniqueId of a node from its position and level.

Parameters
levelThe level of the node.
cell_coordThe position of the node.
Returns
The uniqueId of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordX() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordX ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the X coordinate of a node using its uniqueId.

Parameters
uidThe uniqueId of the node.
levelThe level of the node.
Returns
The X position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordX() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordX ( Node node)
pure virtual

Method to retrieve the X coordinate of a node.

Parameters
nodeThe node.
Returns
The X position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordY() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordY ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Y coordinate of a node using its uniqueId.

Parameters
uidThe uniqueId of the node.
levelThe level of the node.
Returns
The Y position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordY() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordY ( Node node)
pure virtual

Method to retrieve the Y coordinate of a node.

Parameters
nodeThe node.
Returns
The Y position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordZ() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordZ ( Int64 uid,
Int32 level )
pure virtual

Method to retrieve the Z coordinate of a node using its uniqueId.

Parameters
uidThe uniqueId of the node.
levelThe level of the node.
Returns
The Z position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ nodeUniqueIdToCoordZ() [2/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::nodeUniqueIdToCoordZ ( Node node)
pure virtual

Method to retrieve the Z coordinate of a node.

Parameters
nodeThe node.
Returns
The Z position of the node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ offsetLevelToLevel() [1/2]

virtual CartCoord Arcane::ICartesianMeshNumberingMngInternal::offsetLevelToLevel ( CartCoord coord,
Int32 level_from,
Int32 level_to ) const
pure virtual

Method allowing the retrieval of the position of the first child node/cell from the position of the parent node/cell.

Example: if we have a 2D mesh of 2*2 cells and a refinement pattern of 2, we know that the level 1 grid (for level 1 patches) will be 4*4 cells. The first child node/cell of the parent node/cell (Xp=1,Yp=0) will have the position Xf=Xp*Pattern=2 (same for Y).

Parameters
coordThe X, Y, or Z position of the parent node/cell.
level_fromThe parent level.
level_toThe child level.
Returns
The position of the first child of the parent node/cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ offsetLevelToLevel() [2/2]

virtual CartCoord3 Arcane::ICartesianMeshNumberingMngInternal::offsetLevelToLevel ( CartCoord3 coord,
Int32 level_from,
Int32 level_to ) const
pure virtual

Method to obtain the position of the first child node/cell from the position of the parent node/cell.

Example: if we have a 2D mesh of 2*2 cells and a refinement pattern of 2, we know that the level 1 grid (for level 1 patches) will be 4*4 cells. The first child node/cell of the parent node/cell (Xp=1,Yp=0) will have the position Xf=Xp*Pattern=2 (same for Y).

Parameters
coordThe position of the parent node/cell.
level_fromThe parent level.
level_toThe child level.
Returns
The position of the first child of the parent node/cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentCellUniqueIdOfCell() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentCellUniqueIdOfCell ( Cell cell,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a cell's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
cellThe child cell.
Returns
The uniqueId of the parent cell of the cell passed as a parameter.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentCellUniqueIdOfCell() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentCellUniqueIdOfCell ( Int64 uid,
Int32 level,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a cell's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
uidThe uniqueId of the child cell.
levelThe level of the child cell.
Returns
The uniqueId of the parent cell of the cell passed as a parameter.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentFaceUniqueIdOfFace() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentFaceUniqueIdOfFace ( Face face,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a face's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
faceThe child face.
Returns
The uniqueId of the parent face of the face passed as a parameter.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentFaceUniqueIdOfFace() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentFaceUniqueIdOfFace ( Int64 uid,
Int32 level,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a face's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
uidThe uniqueId of the child face.
levelThe level of the child face.
Returns
The uniqueId of the parent face of the child face.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentNodeUniqueIdOfNode() [1/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentNodeUniqueIdOfNode ( Int64 uid,
Int32 level,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a node's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
uidThe uniqueId of the child node.
levelThe level of the child node.
Returns
The uniqueId of the parent node of the child node.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ parentNodeUniqueIdOfNode() [2/2]

virtual Int64 Arcane::ICartesianMeshNumberingMngInternal::parentNodeUniqueIdOfNode ( Node node,
bool do_fatal = true )
pure virtual

Method to retrieve the uniqueId of a node's parent.

If do_fatal is true, a fatal error is generated if the parent does not exist; otherwise, the returned uniqueId has the value NULL_ITEM_UNIQUE_ID.

Parameters
nodeThe child node.
Returns
The uniqueId of the parent node of the node passed as a parameter.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ pattern()

virtual Int32 Arcane::ICartesianMeshNumberingMngInternal::pattern ( ) const
pure virtual

Method allowing the retrieval of the refinement pattern used in each cell. For example, if the pattern is 2, each parent cell will have 2*2 child cells (2*2*2 in 3D).

Returns
The refinement pattern.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ prepareLevel()

virtual void Arcane::ICartesianMeshNumberingMngInternal::prepareLevel ( Int32 level)
pure virtual

Method allowing the preparation of a new level.

Before refining or coarsening cells, it is necessary to call this method to prepare the object to provide information concerning the new level.

It should also be noted that this new level must be the level directly superior to the highest existing level or directly inferior to the lowest existing level.

Parameters
levelThe new level to prepare.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ printStatus()

virtual void Arcane::ICartesianMeshNumberingMngInternal::printStatus ( )
pure virtual

Method allowing the description of the object's state.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ renumberingFacesLevel0FromOriginalArcaneNumbering()

virtual void Arcane::ICartesianMeshNumberingMngInternal::renumberingFacesLevel0FromOriginalArcaneNumbering ( )
pure virtual

Method allowing the renumbering of level 0 faces.

This allows avoiding unique ID conversions during certain operations on the faces and thus freeing the structures that map between the two numbering schemes.

Since these structures are not shared between subdomains, renumbering allows partitioning the mesh without problems.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ setChildNodeCoordinates()

virtual void Arcane::ICartesianMeshNumberingMngInternal::setChildNodeCoordinates ( Cell parent_cell)
pure virtual

Method to define the spatial coordinates of the nodes of child cells of a parent cell. This method must be called after calling endUpdate().

Parameters
parent_cellThe parent cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ setParentNodeCoordinates()

virtual void Arcane::ICartesianMeshNumberingMngInternal::setParentNodeCoordinates ( Cell parent_cell)
pure virtual

Method to define the spatial coordinates of the nodes of a parent cell. This method must be called after calling endUpdate().

Parameters
parent_cellThe parent cell.

Implemented in Arcane::CartesianMeshNumberingMngInternal.

◆ updateFirstLevel()

virtual void Arcane::ICartesianMeshNumberingMngInternal::updateFirstLevel ( )
pure virtual

Method allowing the update of the first level.

Indeed, during coarsening, the new level is level -1. Since Arcane does not like negative levels, we must update the information so that there are none.

Implemented in Arcane::CartesianMeshNumberingMngInternal.


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