Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshAccessor.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* MeshAccessor.h (C) 2000-2020 */
9/* */
10/* Accès aux informations d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESHACCESSOR_H
13#define ARCANE_MESHACCESSOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ItemTypes.h"
18#include "arcane/VariableTypedef.h"
19#include "arcane/MeshHandle.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class ISubDomain;
31class IMesh;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35/*!
36 * \brief Accès aux informations d'un maillage.
37 * \ingroup Mesh
38 */
39class ARCANE_CORE_EXPORT MeshAccessor
40{
41 public:
42
43 ARCCORE_DEPRECATED_2020("Use constructor with MeshHande")
44 MeshAccessor(ISubDomain* sd);
45 MeshAccessor(IMesh* mesh);
46 MeshAccessor(const MeshHandle& mesh_handle);
47
48 public:
49
50 //! Retourne le nombre de mailles du maillage
51 Integer nbCell() const;
52 //! Retourne le nombre de faces du maillage
53 Integer nbFace() const;
54 //! Retourne le nombre d'arêtes du maillage
55 Integer nbEdge() const;
56 //! Retourne le nombre de noeuds du maillage
57 Integer nbNode() const;
58
59 //! Retourne les coordonnées des noeuds du maillage
61
62 //! Retourne le groupe contenant tous les noeuds
63 NodeGroup allNodes() const;
64 //! Retourne le groupe contenant toutes les arêtes
65 EdgeGroup allEdges() const;
66 //! Retourne le groupe contenant toutes les faces
67 FaceGroup allFaces() const;
68 //! Retourne le groupe contenant toutes les mailles
69 CellGroup allCells() const;
70 //! Retourne le groupe contenant toutes les faces de le frontière.
71 FaceGroup outerFaces() const;
72 /*! \brief Retourne le groupe contenant tous les noeuds propres à ce domaine.
73 *
74 * En mode séquentiel, il s'agit de allNodes(). En mode parallèle, il s'agit de
75 * tous les noeuds qui ne sont pas des noeuds fantômes. L'ensemble des
76 * groupes ownNodes() de tous les sous-domaines forment une partition
77 * du maillage global.
78 */
79 NodeGroup ownNodes() const;
80 /*! \brief Retourne le groupe contenant toutes les mailles propres à ce domaine.
81 *
82 * En mode séquentiel, il s'agit de allCells(). En mode parallèle, il s'agit de
83 * toutes les mailles qui ne sont pas des mailles fantômes. L'ensemble des
84 * groupes ownCells() de tous les sous-domaines forment une partition
85 * du maillage global.
86 */
87 CellGroup ownCells() const;
88 /*! \brief Groupe contenant toutes les faces propres à ce domaine.
89 *
90 * En mode séquentiel, il s'agit de allFaces(). En mode parallèle, il s'agit de
91 * toutes les faces qui ne sont pas des faces fantômes. L'ensemble des
92 * groupes ownFaces() de tous les sous-domaines forment une partition
93 * du maillage global.
94 */
95 FaceGroup ownFaces() const;
96 /*! \brief Groupe contenant toutes les arêtes propres à ce domaine.
97 *
98 * En mode séquentiel, il s'agit de allEdges(). En mode parallèle, il s'agit de
99 * toutes les arêtes qui ne sont pas des arêtes fantômes. L'ensemble des
100 * groupes ownEdges() de tous les sous-domaines forment une partition
101 * du maillage global.
102 */
103 EdgeGroup ownEdges() const;
104
105
106 public:
107
108 inline IMesh* mesh() const { return m_mesh_handle.mesh(); }
109 inline const MeshHandle& meshHandle() const { return m_mesh_handle; }
110
111 private:
112
113 MeshHandle m_mesh_handle;
114};
115
116/*---------------------------------------------------------------------------*/
117/*---------------------------------------------------------------------------*/
118
119} // End namespace Arcane
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124#endif
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
EdgeGroup allEdges() const
Retourne le groupe contenant toutes les arêtes.
EdgeGroup ownEdges() const
Groupe contenant toutes les arêtes propres à ce domaine.
FaceGroup ownFaces() const
Groupe contenant toutes les faces propres à ce domaine.
CellGroup allCells() const
Retourne le groupe contenant toutes les mailles.
CellGroup ownCells() const
Retourne le groupe contenant toutes les mailles propres à ce domaine.
FaceGroup allFaces() const
Retourne le groupe contenant toutes les faces.
Integer nbNode() const
Retourne le nombre de noeuds du maillage.
NodeGroup ownNodes() const
Retourne le groupe contenant tous les noeuds propres à ce domaine.
NodeGroup allNodes() const
Retourne le groupe contenant tous les noeuds.
Integer nbEdge() const
Retourne le nombre d'arêtes du maillage.
Integer nbCell() const
Retourne le nombre de mailles du maillage.
Integer nbFace() const
Retourne le nombre de faces du maillage.
FaceGroup outerFaces() const
Retourne le groupe contenant toutes les faces de le frontière.
VariableNodeReal3 & nodesCoordinates() const
Retourne les coordonnées des noeuds du maillage.
Handle sur un maillage.
Definition MeshHandle.h:47
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Definition ItemTypes.h:183
ItemGroupT< Face > FaceGroup
Groupe de faces.
Definition ItemTypes.h:178
ItemGroupT< Edge > EdgeGroup
Groupe d'arêtes.
Definition ItemTypes.h:173
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
Definition ItemTypes.h:167
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Grandeur au noeud de type coordonnées.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.