Connectivity information of a Cartesian mesh. More...
#include <arcane/cartesianmesh/CartesianConnectivity.h>
Classes | |
| struct | Index |
| List of the 8 entities around another entity. More... | |
| struct | Permutation |
| Permutation in Index for each direction. More... | |
Public Member Functions | |
| Cell | upperLeft (Node n) const |
| Cell top left of node n. | |
| Cell | upperRight (Node n) const |
| Cell top right of node n. | |
| Cell | lowerRight (Node n) const |
| Cell bottom right of node n. | |
| Cell | lowerLeft (Node n) const |
| Cell bottom left of node n. | |
| __host__ __device__ CellLocalId | upperLeftId (NodeLocalId n) const |
| Cell top left of node n. | |
| __host__ __device__ CellLocalId | upperRightId (NodeLocalId n) const |
| Cell top right of node n. | |
| __host__ __device__ CellLocalId | lowerRightId (NodeLocalId n) const |
| Cell bottom right of node n. | |
| __host__ __device__ CellLocalId | lowerLeftId (NodeLocalId n) const |
| Cell bottom left of node n. | |
| __host__ __device__ CellLocalId | upperLeftId (NodeLocalId n, Int32 dir) const |
| Cell top left of node n for direction dir. | |
| __host__ __device__ CellLocalId | upperRightId (NodeLocalId n, Int32 dir) const |
| Cell top right of node n for direction dir. | |
| __host__ __device__ CellLocalId | lowerRightId (NodeLocalId n, Int32 dir) const |
| Cell bottom right of node n for direction dir. | |
| __host__ __device__ CellLocalId | lowerLeftId (NodeLocalId n, Int32 dir) const |
| Cell bottom left of node n for direction dir. | |
| Cell | topZUpperLeft (Node n) const |
| In 3D, cell top left of node n. | |
| Cell | topZUpperRight (Node n) const |
| In 3D, cell top right of node n. | |
| Cell | topZLowerRight (Node n) const |
| In 3D, cell bottom right of node n. | |
| Cell | topZLowerLeft (Node n) const |
| In 3D, cell bottom left of node n. | |
| __host__ __device__ CellLocalId | topZUpperLeftId (NodeLocalId n) const |
| In 3D, cell top left of node n. | |
| __host__ __device__ CellLocalId | topZUpperRightId (NodeLocalId n) const |
| In 3D, cell top right of node n. | |
| __host__ __device__ CellLocalId | topZLowerRightId (NodeLocalId n) const |
| In 3D, cell bottom right of node n. | |
| __host__ __device__ CellLocalId | topZLowerLeftId (NodeLocalId n) const |
| In 3D, cell bottom left of node n. | |
| __host__ __device__ CellLocalId | topZUpperLeftId (NodeLocalId n, Int32 dir) const |
| In 3D, cell top left of node n for direction dir. | |
| __host__ __device__ CellLocalId | topZUpperRightId (NodeLocalId n, Int32 dir) const |
| In 3D, cell top right of node n for direction dir. | |
| __host__ __device__ CellLocalId | topZLowerRightId (NodeLocalId n, Int32 dir) const |
| In 3D, cell bottom right of node n for direction dir. | |
| __host__ __device__ CellLocalId | topZLowerLeftId (NodeLocalId n, Int32 dir) const |
| In 3D, cell bottom left of node n for direction dir. | |
| Node | upperLeft (Cell c) const |
| Node top left of cell c. | |
| Node | upperRight (Cell c) const |
| Node top right of cell c. | |
| Node | lowerRight (Cell c) const |
| Node bottom right of cell c. | |
| Node | lowerLeft (Cell c) const |
| Node bottom left of cell c. | |
| __host__ __device__ NodeLocalId | upperLeftId (CellLocalId c) const |
| Node top left of cell c. | |
| __host__ __device__ NodeLocalId | upperRightId (CellLocalId c) const |
| Node top right of cell c. | |
| __host__ __device__ NodeLocalId | lowerRightId (CellLocalId c) const |
| Node bottom right of cell c. | |
| __host__ __device__ NodeLocalId | lowerLeftId (CellLocalId c) const |
| Node bottom left of cell c. | |
| __host__ __device__ NodeLocalId | upperLeftId (CellLocalId c, Int32 dir) const |
| Node top left of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | upperRightId (CellLocalId c, Int32 dir) const |
| Node top right of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | lowerRightId (CellLocalId c, Int32 dir) const |
| Node bottom right of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | lowerLeftId (CellLocalId c, Int32 dir) const |
| Node bottom left of cell c for direction dir. | |
| Node | topZUpperLeft (Cell c) const |
| In 3D, node above top left of cell c. | |
| Node | topZUpperRight (Cell c) const |
| In 3D, node above top right of cell c. | |
| Node | topZLowerRight (Cell c) const |
| In 3D, node above bottom right of cell c. | |
| Node | topZLowerLeft (Cell c) const |
| In 3D, node above bottom left of cell c. | |
| __host__ __device__ NodeLocalId | topZUpperLeftId (CellLocalId c) const |
| In 3D, node above top left of cell c. | |
| __host__ __device__ NodeLocalId | topZUpperRightId (CellLocalId c) const |
| In 3D, node above top right of cell c. | |
| __host__ __device__ NodeLocalId | topZLowerRightId (CellLocalId c) const |
| In 3D, node above bottom right of cell c. | |
| __host__ __device__ NodeLocalId | topZLowerLeftId (CellLocalId c) const |
| In 3D, node above bottom left of cell c. | |
| __host__ __device__ NodeLocalId | topZUpperLeftId (CellLocalId c, Int32 dir) const |
| In 3D, node above top left of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | topZUpperRightId (CellLocalId c, Int32 dir) const |
| In 3D, node above top right of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | topZLowerRightId (CellLocalId c, Int32 dir) const |
| In 3D, node above bottom right of cell c for direction dir. | |
| __host__ __device__ NodeLocalId | topZLowerLeftId (CellLocalId c, Int32 dir) const |
| In 3D, node above bottom left of cell c for direction dir. | |
Private Types | |
| enum | ePosition { P_UpperLeft = 0 , P_UpperRight = 1 , P_LowerRight = 2 , P_LowerLeft = 3 , P_TopZUpperLeft = 4 , P_TopZUpperRight = 5 , P_TopZLowerRight = 6 , P_TopZLowerLeft = 7 } |
| Enumerated type indicating the position. More... | |
Private Member Functions | |
| void | _computeInfos (IMesh *mesh, VariableNodeReal3 &nodes_coord, VariableCellReal3 &cells_coord) |
| Calculates the connectivity information. | |
| void | _computeInfos (ICartesianMesh *cmesh) |
| void | _setStorage (ArrayView< Index > nodes_to_cell, ArrayView< Index > cells_to_node, const Permutation *permutation) |
| Positions the arrays containing the connectivity information. | |
| __host__ __device__ CellLocalId | _nodeToCellLocalId (NodeLocalId n, ePosition p) const |
| __host__ __device__ NodeLocalId | _cellToNodeLocalId (CellLocalId c, ePosition p) const |
| __host__ __device__ CellLocalId | _nodeToCellLocalId (NodeLocalId n, Int32 dir, ePosition p) const |
| __host__ __device__ NodeLocalId | _cellToNodeLocalId (CellLocalId c, Int32 dir, ePosition p) const |
| Cell | _nodeToCell (Node n, ePosition p) const |
| Node | _cellToNode (Cell c, ePosition p) const |
| Index & | _index (Node n) |
| Index & | _index (Cell c) |
| void | _computeInfos2D (IMesh *mesh, VariableNodeReal3 &nodes_coord, VariableCellReal3 &cells_coord) |
| void | _computeInfos2D (ICartesianMesh *cmesh) |
| void | _computeInfos3D (IMesh *mesh, VariableNodeReal3 &nodes_coord, VariableCellReal3 &cells_coord) |
| void | _computeInfos3D (ICartesianMesh *cmesh) |
Private Attributes | |
| ArrayView< Index > | m_nodes_to_cell |
| ArrayView< Index > | m_cells_to_node |
| CellInfoListView | m_cells |
| NodeInfoListView | m_nodes |
| const Permutation * | m_permutation = nullptr |
Friends | |
| class | CartesianConnectivityLocalId |
| class | CartesianMeshImpl |
Connectivity information of a Cartesian mesh.
Like all objects related to the Cartesian mesh, these instances are only valid as long as the mesh topology does not change.
This class serves for both 2D connectivities and 3D connectivities. Methods starting with topZ are only valid in 3D.
The method names follow the following nomenclature:
For the connectivity of nodes around a coordinate cell (X0,Y0,Z0), the coordinate node (X,Y,Z) is retrieved as follows:
So for example, if Z>Z0, Y<Y0 and X>X0, the method name is topZLowerRight(). If Z<Z0, Y>Y0 and X>X0, the name is upperRight().
The functionality is the same for the connectivities of cells around a node.
Definition at line 56 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Enumerated type indicating the position.
Definition at line 70 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Definition at line 250 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inlineprivate |
Definition at line 235 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inlineprivate |
Definition at line 244 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Definition at line 70 of file CartesianConnectivity.cc.
|
private |
Calculates the connectivity information.
Definition at line 52 of file CartesianConnectivity.cc.
|
private |
Definition at line 149 of file CartesianConnectivity.cc.
|
private |
Definition at line 87 of file CartesianConnectivity.cc.
|
private |
Definition at line 339 of file CartesianConnectivity.cc.
|
private |
Definition at line 243 of file CartesianConnectivity.cc.
Definition at line 256 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Definition at line 255 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Definition at line 249 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inlineprivate |
Definition at line 231 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inlineprivate |
Definition at line 239 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Positions the arrays containing the connectivity information.
Definition at line 35 of file CartesianConnectivity.cc.
Node bottom left of cell c.
Definition at line 173 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Cell bottom left of node n.
Definition at line 119 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node bottom left of cell c.
Definition at line 182 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node bottom left of cell c for direction dir.
Definition at line 191 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell bottom left of node n.
Definition at line 128 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell bottom left of node n for direction dir.
Definition at line 137 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Node bottom right of cell c.
Definition at line 171 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Cell bottom right of node n.
Definition at line 117 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node bottom right of cell c.
Definition at line 180 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node bottom right of cell c for direction dir.
Definition at line 189 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell bottom right of node n.
Definition at line 126 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell bottom right of node n for direction dir.
Definition at line 135 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, node above bottom left of cell c.
Definition at line 200 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, cell bottom left of node n.
Definition at line 146 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above bottom left of cell c.
Definition at line 209 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above bottom left of cell c for direction dir.
Definition at line 218 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell bottom left of node n.
Definition at line 155 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell bottom left of node n for direction dir.
Definition at line 164 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, node above bottom right of cell c.
Definition at line 198 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, cell bottom right of node n.
Definition at line 144 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above bottom right of cell c.
Definition at line 207 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above bottom right of cell c for direction dir.
Definition at line 216 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell bottom right of node n.
Definition at line 153 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell bottom right of node n for direction dir.
Definition at line 162 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, node above top left of cell c.
Definition at line 194 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, cell top left of node n.
Definition at line 140 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above top left of cell c.
Definition at line 203 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above top left of cell c for direction dir.
Definition at line 212 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell top left of node n.
Definition at line 149 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell top left of node n for direction dir.
Definition at line 158 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, node above top right of cell c.
Definition at line 196 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
In 3D, cell top right of node n.
Definition at line 142 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above top right of cell c.
Definition at line 205 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, node above top right of cell c for direction dir.
Definition at line 214 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell top right of node n.
Definition at line 151 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
In 3D, cell top right of node n for direction dir.
Definition at line 160 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Node top left of cell c.
Definition at line 167 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Cell top left of node n.
Definition at line 113 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node top left of cell c.
Definition at line 176 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node top left of cell c for direction dir.
Definition at line 185 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell top left of node n.
Definition at line 122 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell top left of node n for direction dir.
Definition at line 131 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Node top right of cell c.
Definition at line 169 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Cell top right of node n.
Definition at line 115 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node top right of cell c.
Definition at line 178 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Node top right of cell c for direction dir.
Definition at line 187 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell top right of node n.
Definition at line 124 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
inline |
Cell top right of node n for direction dir.
Definition at line 133 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
friend |
Definition at line 62 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
friend |
Definition at line 63 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Definition at line 262 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Definition at line 261 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Definition at line 263 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
Definition at line 260 of file src/arcane/cartesianmesh/CartesianConnectivity.h.
|
private |
Definition at line 264 of file src/arcane/cartesianmesh/CartesianConnectivity.h.