Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MaterialsCoreGlobal.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* MaterialsCoreGlobal.h (C) 2000-2024 */
9/* */
10/* Déclarations générales des matériaux de Arcane. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_MATERIALSCOREGLOBAL_H
13#define ARCANE_CORE_MATERIALS_MATERIALSCOREGLOBAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19#include "arccore/collections/ArrayTraits.h"
20
21#include <iosfwd>
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26#define MATERIALS_BEGIN_NAMESPACE \
27 namespace Materials \
28 {
29#define MATERIALS_END_NAMESPACE }
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33
34namespace Arcane
35{
36class ItemBase;
37}
38namespace Arcane::Materials::matimpl
39{
40using ::Arcane::ItemBase;
42}
43
44namespace Arcane::Materials
45{
46
47/*---------------------------------------------------------------------------*/
48/*---------------------------------------------------------------------------*/
49
53class ConstituentItem;
54using ComponentCell = ConstituentItem;
57class IMeshBlock;
58class IMeshComponent;
59class IMeshMaterial;
62class MatVarIndex;
65class MatCell;
66class EnvCell;
75class ComponentItemInternal;
76class AllEnvCell;
92{};
94{};
106using ComponentItemSharedInfo = ConstituentItemSharedInfo;
108class MatItemLocalId;
109class EnvItemLocalId;
110using ComponentItemLocalId = ConstituentItemLocalId;
111
112class AllEnvData;
113class MeshMaterialMng;
114class MeshEnvironment;
116class EnvCellVector;
117class MatCellVector;
118
119/*---------------------------------------------------------------------------*/
120/*---------------------------------------------------------------------------*/
121
122using ComponentItemInternalPtr = ComponentItemInternal*;
123using IMeshComponentPtr = IMeshComponent*;
124using IMeshMaterialPtr = IMeshMaterial*;
125using IMeshEnvironmentPtr = IMeshEnvironment*;
126
127/*---------------------------------------------------------------------------*/
128/*---------------------------------------------------------------------------*/
129
132
135
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141
144
147
150
153
156
157template <typename DataType> class CellMaterialVariableScalarRef;
158
159template <typename ItemType, typename DataType>
161template <typename ItemType, typename DataType>
163
164/*---------------------------------------------------------------------------*/
165/*---------------------------------------------------------------------------*/
166
168template <typename ConstituentCellType> class CellComponentCellEnumeratorT;
169
172
175
178
181
182/*---------------------------------------------------------------------------*/
183/*---------------------------------------------------------------------------*/
184
185static const Int32 LEVEL_MATERIAL = 1;
186static const Int32 LEVEL_ENVIRONMENT = 2;
187static const Int32 LEVEL_ALLENVIRONMENT = 0;
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
201
202/*---------------------------------------------------------------------------*/
203/*---------------------------------------------------------------------------*/
204
206enum class eMatPart
207{
208 Pure = 0,
209 Impure = 1
210};
211
212/*---------------------------------------------------------------------------*/
213/*---------------------------------------------------------------------------*/
214
215} // namespace Arcane::Materials
216
217/*---------------------------------------------------------------------------*/
218/*---------------------------------------------------------------------------*/
219
220namespace Arccore
221{
222ARCCORE_DEFINE_ARRAY_PODTYPE(Arcane::Materials::MatVarIndex);
223ARCCORE_DEFINE_ARRAY_PODTYPE(Arcane::Materials::ConstituentItemIndex);
224} // namespace Arccore
225
226/*---------------------------------------------------------------------------*/
227/*---------------------------------------------------------------------------*/
228
230
231/*---------------------------------------------------------------------------*/
232/*---------------------------------------------------------------------------*/
233
234#endif
#define ARCCORE_DECLARE_REFERENCE_COUNTED_CLASS(class_name)
Macro pour déclarer qu'une classe utilise un compteur de référence.
Déclarations des types utilisés dans Arcane.
Vue constante d'un tableau de type T.
Classe de base pour les entités du maillage.
Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateu...
Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateu...
Vue sur une liste de mailles avec infos sur les milieux.
Maille arcane avec info matériaux et milieux.
Informations sur les valeurs des milieux.
Definition AllEnvData.h:44
Enumérateur typés sur les mailles composants d'une maille.
Enumérateur sur les constituants d'une maille.
Variable scalaire sur les mailles d'un matériau du maillage. Pour l'instant, cette classe n'est insta...
Gestion des listes de 'ComponentItemInternal'.
Vue sur un vecteur sur les entités d'un composant.
Vue sur une partie pure ou partielles des entités d'un composant.
Index d'une entité constituant dans la liste des entités constituants.
Vue sur une instance de ConstituentItemLocalIdList.
Liste d'indices locaux pour les 'ComponentItemInternal'.
Index d'un ConstituentItem dans une variable.
Informations partagées sur les 'ComponentItem'.
Implémentation de ComponentItemVector.
Représente un composant d'une maille multi-matériau.
Vecteur sur les entités d'un milieu.
Maille arcane d'un milieu.
Index d'un EnvItem dans une variable.
Vue sur un vecteur sur les entités d'un milieu.
Vue sur une partie pure ou partielles des entités d'un milieu.
Interface d'accès pour CellMaterialVariableArrayRef.
Interface pour l'implémentation de ComponentItemVector.
Interface d'un bloc d'un maillage.
Interface d'un composant (matériau ou milieu) d'un maillage.
API interne Arcane de 'IMeshMaterialMng'.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Interface du gestionnaire de fabrique de variables matériaux.
Interface d'une fabrique de variables matériaux.
Interface du synchroniseur de variables matériaux.
Interface d'une variable matériau d'un maillage.
Interface d'un matériau d'un maillage.
Interface d'accès pour CellMaterialVariableScalarRef.
Enumérateur sur une partie des mailles d'un seul matériau.
Vecteur sur les entités d'un matériau.
Représente un matériau d'une maille multi-matériau.
Vue sur la partie impure des entités d'un matériau.
Index d'un MatItem dans une variable.
Vue sur un vecteur sur les entités d'un matériau.
Vue sur une partie pure ou partielles des entités d'un matériau.
Vue sur la partie pure des entités d'un matériau.
Représente un index sur les variables matériaux et milieux.
Informations caractérisant le type d'une variable matériau.
Données d'un constituant (matériau ou milieu) d'un maillage.
Données d'une partie (pure ou partielle) d'un constituant.
Informations pour la création d'un milieu.
Infos d'un matériau d'un maillage.
Implémentation d'un gestion des matériaux.
Classe de base des références aux variables matériaux.
Informations génériques sur une entité d'un constituant.
Informations pour la création d'un bloc.
Active toujours les traces dans les parties Arcane concernant les matériaux.
ComponentItemVector ComponentCellVector
Liste de ComponentCell issues d'un IMeshComponent.
EnvItemLocalId EnvCellLocalId
Index d'un EnvItem dans une variable.
EnvItemVectorView EnvCellVectorView
Type de la vue sur un EnvCellVector.
CellComponentCellEnumeratorT< MatCell > CellMatCellEnumerator
Enumérateur sur les mailles matériaux d'une maille.
MatItemLocalId MatCellLocalId
Index d'un MatItem dans une variable.
CellComponentCellEnumeratorT< EnvCell > CellEnvCellEnumerator
Enumérateur sur les mailles milieux d'une maille.
ConstArrayView< IMeshComponent * > MeshComponentList
Liste de composants multi-matériaux du maillage.
ConstArrayView< IMeshMaterial * > MeshMaterialListView
Liste de matériaux du maillage.
ComponentItemVectorView ComponentCellVectorView
Type de la vue sur un ComponentCellVector.
ConstArrayView< IMeshEnvironment * > MeshEnvironmentListView
Liste de milieux du maillage.
MatItemVectorView MatCellVectorView
Type de la vue sur un MatCellVector.
MatVarSpace
Espace de définition d'une variable matériau.
@ Environment
Variable ayant des valeurs uniquement sur les milieux.
@ MaterialAndEnvironment
Variable ayant des valeurs sur les milieux et matériaux.
eMatPart
Partie d'un composant.
ConstArrayView< IMeshComponent * > MeshComponentListView
Liste de composants multi-matériaux du maillage.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.
Espace de nom de Arccore.