Arcane
v3.14.10.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
24
namespace
Arcane
25
{
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
class
ISubDomain;
31
class
IMesh;
32
33
/*---------------------------------------------------------------------------*/
34
/*---------------------------------------------------------------------------*/
35
/*!
36
* \brief Accès aux informations d'un maillage.
37
* \ingroup Mesh
38
*/
39
class
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
60
VariableNodeReal3
& nodesCoordinates()
const
;
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
Arcane::IMesh
Definition
IMesh.h:59
Arcane::ISubDomain
Interface du gestionnaire d'un sous-domaine.
Definition
ISubDomain.h:74
Arcane::ItemGroupT< Node >
Arcane::MeshAccessor
Accès aux informations d'un maillage.
Definition
MeshAccessor.h:40
Arcane::MeshHandle
Handle sur un maillage.
Definition
MeshHandle.h:47
Arcane::MeshVariableScalarRefT< Node, Real3 >
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
arcane
core
MeshAccessor.h
Généré le Lundi 18 Novembre 2024 02:56:49 pour Arcane par
1.9.8