Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
src/arcane/geometry/CellConnectivity.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* CellConnectivity.h (C) 2000-2026 */
9/* */
10/* Informations sur la connectivité d'une maille. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_GEOMETRIC_CELLCONNECTIVITY_H
13#define ARCANE_GEOMETRIC_CELLCONNECTIVITY_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/geometry/GeomType.h"
18#include "arcane/geometry/GeometricConnectic.h"
19#include "arcane/geometry/ItemStaticInfo.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane::geometric
25{
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29using namespace Arcane;
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
37class CellConnectivity
38{
39 public:
40 CellConnectivity(Integer nb_node,Integer nb_edge,Integer nb_face,GeomType cell_type)
41 : m_nb_node(nb_node), m_nb_edge(nb_edge), m_nb_face(nb_face), m_cell_type(cell_type)
42 {
43 }
44
45 public:
46
47 Integer nbNode() const { return m_nb_node; }
48 Integer nbEdge() const { return m_nb_edge; }
49 Integer nbFace() const { return m_nb_face; }
50
52 Integer nbSubZone() const { return m_nb_sub_zone; }
55 const Integer* nodeAssociation() const { return m_node_association; }
56 const NodeConnectic* nodeConnectic() const { return m_node_connectic; }
57 const EdgeConnectic* edgeConnectic() const { return m_edge_connectic; }
58 const FaceConnectic* faceConnectic() const { return m_face_connectic; }
59 const SVCFaceConnectic* SCVFaceConnectic() const { return m_svc_face_connectic; }
61 GeomType cellType() const { return m_cell_type; }
62
63 protected:
64
68 const Integer* m_node_association = nullptr;
69 const NodeConnectic* m_node_connectic = nullptr;
70 const EdgeConnectic* m_edge_connectic = nullptr;
71 const FaceConnectic* m_face_connectic = nullptr;
72 const SVCFaceConnectic* m_svc_face_connectic = nullptr;
73
74 public:
75
78 Integer m_face_node_sub_zone_id[3];
81
82 protected:
83
84 Integer m_nb_node;
85 Integer m_nb_edge;
86 Integer m_nb_face;
87 Int32* m_edge_first_node = nullptr;
88 Int32* m_edge_second_node = nullptr;
89 GeomType m_cell_type;
90
91 protected:
92
93 inline void _setEdgeDirectConnectic();
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
102class NullConnectivity
103: public CellConnectivity
104{
105 public:
107 : CellConnectivity(0,0,0,GeomType::NullType)
108 { _init(); }
109 public:
110 Integer nbNode() const { return 0; }
111 Integer nbEdge() const { return 0; }
112 Integer nbFace() const { return 0; }
113 public:
114 private:
115 void _init();
116};
117
118/*---------------------------------------------------------------------------*/
119/*---------------------------------------------------------------------------*/
120
121#include "arcane/geometry/GeneratedConnectivity.h"
122
123/*---------------------------------------------------------------------------*/
124/*---------------------------------------------------------------------------*/
126} // namespace Arcane::geometric
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
131#endif
static const Integer MAX_CELL_EDGE
Nombre maximum d'arêtes par maille.
Integer m_edge_direct_connectic[ItemStaticInfo::MAX_CELL_EDGE *2]
Connectique pour les arêtes.
Integer m_nb_sub_zone
Nombre de sous volume de controle.
GeomType cellType() const
Type de la maille (GeomType::Quad4, GeomType::Hexaedron8, ...)
const Integer * m_node_association
Numero local du sommet associé au sous volume de controle.
Integer nbSubZoneFace() const
Nombre de sous faces internes SVC.
Integer m_edge_node_sub_zone_id[3]
Numéro locaux dans le sous-volumes de contrôle.
Integer nbSubZone() const
Nombre de sous volume de controle.
Enumération spécifiant le type de polygone ou polyèdre associé à un élément ou une forme géométrique.
Informations de connectivité pour les éléments géométriques de type IT_NullType.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.
Structures de connectique locale des mailles.
Structures de connectique locale des mailles.
Structures de connectique locale des mailles et svc.