12#ifndef ARCANE_CARTESIANMESH_CARTESIANGRID_H
13#define ARCANE_CARTESIANMESH_CARTESIANGRID_H
17#include "arcane/cartesianmesh/v2/CartesianNumbering.h"
22namespace Arcane::CartesianMesh::V2
32template <
typename IdType>
53 m_ncells_dir[d] = ncells_dir[d];
54 m_nnodes_dir[d] = m_ncells_dir[d] + 1;
56 m_cart_num_cell.initNumbering(m_ncells_dir,
dimension);
62 m_cart_num_node.initNumbering(m_nnodes_dir,
dimension);
66 IdType nfaces_norm_first = 0;
75 m_nfaces_norm_dir[dnorm][dnorm] = m_ncells_dir[dnorm] + 1;
76 m_nfaces_norm_dir[dnorm][d1] = m_ncells_dir[d1];
77 m_nfaces_norm_dir[dnorm][d2] = m_ncells_dir[d2];
79 m_cart_num_face[dnorm].initNumbering(m_nfaces_norm_dir[dnorm],
dimension, nfaces_norm_first);
80 nfaces_norm_first += m_cart_num_face[dnorm].nbItem();
84 m_nfaces_norm_dir[dnorm][0] = 1;
85 m_nfaces_norm_dir[dnorm][1] = 1;
86 m_nfaces_norm_dir[dnorm][2] = 1;
93 return m_cart_num_cell;
99 return m_cart_num_node;
105 ARCANE_ASSERT(dir <
m_dimension, (
"La direction doit être strictement inférieure à la dimension"));
106 return m_cart_num_face[dir];
112 return m_cart_num_face;
118 return &m_cart_num_cell;
124 return &m_cart_num_node;
130 ARCANE_ASSERT(dir <
m_dimension, (
"La direction doit être strictement inférieure à la dimension"));
131 return &(m_cart_num_face[dir]);
137 return &m_cart_num_face;
147 IdType3 m_ncells_dir = { 1, 1, 1 };
148 IdType3 m_nnodes_dir = { 1, 1, 1 };
CartesianNumberingType[3] CartesianNumberingType3
Type tableau numérotations cartésiennes sur les 3 dimensions.
CartesianNumberingType * cartNumCellPtr()
Pointeur sur la numérotation cartésienne aux mailles.
IdType[3] IdType3
Type pour les triplets cartésiens (i,j,k) et les triplets des dimensions (ni,nj,nk)
CartesianNumberingType * cartNumFacePtr(Integer dir)
Pointeur sur la numérotation cartésienne aux faces dans la direction dir.
Integer m_dimension
m_nfaces_norm_dir[dnorm] = dimension de la grille de faces normales à dnorm
CartesianNumbering< IdType > CartesianNumberingType
Type de la numérotation cartésienne associé à IdType.
CartesianNumberingType3 * cartNumFace3Ptr()
Pointeur sur les 3 numérotations cartésiennes aux faces.
const CartesianNumberingType & cartNumCell() const
Référence en lecture sur la numérotation cartésienne aux mailles.
CartesianGrid(const IdType3 &ncells_dir, Integer dimension)
param[in] ncells_dir Nombre de mailles dans chaque direction
const CartesianNumberingType & cartNumNode() const
Référence en lecture sur la numérotation cartésienne aux noeuds.
const CartesianNumberingType & cartNumFace(Integer dir) const
Référence en lecture sur la numérotation cartésienne aux faces dans la direction dir.
Integer dimension() const
Dimension du maillage cartésien.
const CartesianNumberingType3 & cartNumFace3() const
Référence en lecture sur les 3 numérotations cartésiennes aux faces.
CartesianNumberingType * cartNumNodePtr()
Pointeur sur la numérotation cartésienne aux noeuds.
Gestion d'une numerotation cartesienne sur une grille d'items d'une dimension au plus 3 Permet le pas...
Int32 Integer
Type représentant un entier.