Arcane  v3.14.10.0
Documentation utilisateur
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;
41class ConstituentItemBase;
42}
43
44namespace Arcane::Materials
45{
46
47/*---------------------------------------------------------------------------*/
48/*---------------------------------------------------------------------------*/
49
50class AllEnvCellVectorView;
51class ComponentCell;
52class IMeshBlock;
53class IMeshComponent;
54class IMeshMaterial;
55class IMeshMaterialMng;
56class IMeshEnvironment;
57class MatVarIndex;
58class MeshMaterialVariableIndexer;
59class MeshMaterialInfo;
60class MatCell;
61class EnvCell;
62class MatItemVectorView;
63class EnvItemVectorView;
64class MatPurePartItemVectorView;
65class MatImpurePartItemVectorView;
66class MatPartItemVectorView;
67class EnvPurePartItemVectorView;
68class EnvImpurePartItemVectorView;
69class EnvPartItemVectorView;
70class ComponentItemInternal;
71class AllEnvCell;
72class ComponentItemVectorView;
73class ComponentPartItemVectorView;
74class ComponentPurePartItemVectorView;
75class ComponentImpurePartItemVectorView;
76class ConstituentItemLocalIdListView;
77class MeshComponentPartData;
78class MatCellEnumerator;
79class ComponentItemVector;
80class IMeshMaterialVariableFactoryMng;
81class IMeshMaterialVariableFactory;
82class IMeshMaterialVariable;
83class MaterialVariableBuildInfo;
84class MaterialVariableTypeInfo;
85class MeshMaterialVariableRef;
87{};
89{};
90class IMeshMaterialMngInternal;
93class IMeshMaterialMngInternal;
94class MeshMaterialModifierImpl;
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104
105using ComponentItemInternalPtr = ComponentItemInternal*;
109
110/*---------------------------------------------------------------------------*/
111/*---------------------------------------------------------------------------*/
112
113//! Liste de composants multi-matériaux du maillage.
115
116//! Liste de milieux du maillage.
118
119//! Liste de matériaux du maillage.
121
122/*---------------------------------------------------------------------------*/
123/*---------------------------------------------------------------------------*/
124
125//! Liste de ComponentCell issues d'un IMeshComponent.
127
128//! Type de la vue sur un EnvCellVector
130
131//! Type de la vue sur un MatCellVector
133
134//! Type de la vue sur un ComponentCellVector
136
137//! Liste de composants multi-matériaux du maillage.
139
140template <typename DataType> class CellMaterialVariableScalarRef;
141
142template <typename ItemType, typename DataType>
144template <typename ItemType, typename DataType>
146
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149
151template <typename ConstituentCellType> class CellComponentCellEnumeratorT;
152
153//! Enumérateur sur les mailles matériaux d'une maille.
155
156//! Enumérateur sur les mailles milieux d'une maille.
158
159/*---------------------------------------------------------------------------*/
160/*---------------------------------------------------------------------------*/
161
162static const Int32 LEVEL_MATERIAL = 1;
163static const Int32 LEVEL_ENVIRONMENT = 2;
164static const Int32 LEVEL_ALLENVIRONMENT = 0;
165
166/*---------------------------------------------------------------------------*/
167/*---------------------------------------------------------------------------*/
168/*!
169 * \brief Espace de définition d'une variable matériau.
170 */
171enum class MatVarSpace
172{
173 //! Variable ayant des valeurs sur les milieux et matériaux
175 //! Variable ayant des valeurs uniquement sur les milieux
177};
178
179/*---------------------------------------------------------------------------*/
180/*---------------------------------------------------------------------------*/
181
182//! Partie d'un composant
183enum class eMatPart
184{
185 Pure = 0,
186 Impure = 1
187};
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192} // namespace Arcane::Materials
193
194/*---------------------------------------------------------------------------*/
195/*---------------------------------------------------------------------------*/
196
197namespace Arccore
198{
199ARCCORE_DEFINE_ARRAY_PODTYPE(Arcane::Materials::MatVarIndex);
200ARCCORE_DEFINE_ARRAY_PODTYPE(Arcane::Materials::ConstituentItemIndex);
201} // namespace Arccore
202
203/*---------------------------------------------------------------------------*/
204/*---------------------------------------------------------------------------*/
205
207
208/*---------------------------------------------------------------------------*/
209/*---------------------------------------------------------------------------*/
210
211#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.
Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateu...
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...
Vue sur un vecteur sur les entités d'un composant.
Vue sur un vecteur sur les entités d'un milieu.
Interface pour l'implémentation de ComponentItemVector.
Interface d'un composant (matériau ou milieu) d'un maillage.
Interface d'un matériau d'un maillage.
Vue sur un vecteur sur les entités d'un matériau.
Représente un index sur les variables matériaux et milieux.
Informations pour la création d'un milieu.
Informations pour la création d'un bloc.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
CellComponentCellEnumeratorT< EnvCell > CellEnvCellEnumerator
Enumérateur sur les mailles milieux d'une maille.
ConstArrayView< IMeshEnvironment * > MeshEnvironmentListView
Liste de milieux du maillage.
CellComponentCellEnumeratorT< MatCell > CellMatCellEnumerator
Enumérateur sur les mailles matériaux d'une maille.
ConstArrayView< IMeshMaterial * > MeshMaterialListView
Liste de matériaux du maillage.
ConstArrayView< IMeshComponent * > MeshComponentListView
Liste de composants multi-matériaux du maillage.
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Espace de nom de Arccore.
Definition ArcaneTypes.h:24