Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MeshMaterialMng.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/* MeshMaterialMng.h (C) 2000-2026 */
9/* */
10/* Implémentation de la modification des matériaux et milieux. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_INTERNAL_MESHMATERIALMNG_H
13#define ARCANE_MATERIALS_INTERNAL_MESHMATERIALMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/Mutex.h"
20
21#include "arcane/core/MeshHandle.h"
22
23#include "arcane/core/materials/IMeshMaterialMng.h"
25#include "arcane/core/materials/internal/IMeshMaterialMngInternal.h"
26
27#include "arcane/accelerator/core/Runner.h"
28#include "arcane/accelerator/core/RunQueuePool.h"
29
30#include "arcane/materials/MeshBlock.h"
31#include "arcane/materials/AllCellToAllEnvCellConverter.h"
32#include "arcane/materials/internal/MeshMaterial.h"
33#include "arcane/materials/internal/MeshEnvironment.h"
34#include "arcane/materials/internal/MeshMaterialSynchronizer.h"
35
36#include <map>
37#include <memory>
38#include <mutex>
39
40/*---------------------------------------------------------------------------*/
41/*---------------------------------------------------------------------------*/
42
43namespace Arcane
44{
45class IVariableMng;
46class Properties;
47class ObserverPool;
48} // namespace Arcane
49
50/*---------------------------------------------------------------------------*/
51/*---------------------------------------------------------------------------*/
52
53namespace Arcane::Materials
54{
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
61class MeshMaterialMng
62: public TraceAccessor
63, public IMeshMaterialMng
64{
65 public:
66
67 friend class MeshMaterialBackup;
68
69 private:
70
72 class RunnerInfo
73 {
74 public:
75
76 explicit RunnerInfo(Runner& runner);
77
78 public:
79
80 void initializeAsyncPool(Int32 nb_queue);
81
82 public:
83
84 RunQueue runQueue(Accelerator::eExecutionPolicy policy) const;
85
86 public:
87
88 Runner m_runner;
89 RunQueue m_run_queue;
90 Accelerator::RunQueuePool m_async_queue_pool;
91 Runner m_sequential_runner;
92 RunQueue m_sequential_run_queue;
93 Runner m_multi_thread_runner;
94 RunQueue m_multi_thread_run_queue;
95 };
96
97 class InternalApi
99 {
100 public:
101
102 explicit InternalApi(MeshMaterialMng* mm)
103 : m_material_mng(mm)
104 {}
105
106 public:
107
109 {
110 return m_material_mng->getAllCellToAllEnvCellContainer();
111 }
113 {
114 return m_material_mng->createAllCellToAllEnvCell();
115 }
117 {
118 return m_material_mng->_variablesIndexer();
119 }
121 {
122 return m_material_mng->_addVariable(var);
123 }
125 {
126 return m_material_mng->_removeVariable(var);
127 }
129 {
130 return m_material_mng->_modifier();
131 }
133 {
134 return m_material_mng->_allCellsMatEnvSynchronizer();
135 }
137 {
138 return m_material_mng->_allCellsEnvOnlySynchronizer();
139 }
140 ComponentItemSharedInfo* componentItemSharedInfo(Int32 level) const override
141 {
142 return m_material_mng->componentItemSharedInfo(level);
143 }
144 RunQueue& runQueue() const override
145 {
146 return m_material_mng->runQueue();
147 }
149 {
150 return m_material_mng->asyncRunQueuePool();
151 }
153 {
154 return m_material_mng->additionalCapacityRatio();
155 }
157 {
158 return m_material_mng->m_is_use_accelerator_for_constituent_item_vector;
159 }
161 {
162 return m_material_mng->m_runner_info->runQueue(policy);
163 }
165 {
166 return m_material_mng->identitySelectionView();
167 }
168
169 private:
170
171 MeshMaterialMng* m_material_mng = nullptr;
172 };
173
174 public:
175
176 MeshMaterialMng(const MeshHandle& mesh_handle,const String& name);
177 ~MeshMaterialMng() override;
178
179 public:
180
181 void build();
182
183 public:
184
185 IMesh* mesh() override { return m_mesh_handle.mesh(); }
187
188 public:
189
192 IMeshBlock* createBlock(const MeshBlockBuildInfo& infos) override;
193 void addEnvironmentToBlock(IMeshBlock* block,IMeshEnvironment* env) override;
194 void removeEnvironmentToBlock(IMeshBlock* block,IMeshEnvironment* env) override;
195
196 void endCreate(bool is_continue) override;
197
198 void setDataInitialisationWithZero(bool v) override { m_is_data_initialisation_with_zero = v; }
199 bool isDataInitialisationWithZero() const override { return m_is_data_initialisation_with_zero; }
200
201 void setKeepValuesAfterChange(bool v) override { m_keep_values_after_change = v; }
202 bool isKeepValuesAfterChange() const override { return m_keep_values_after_change; }
203
204 void setMeshModificationNotified(bool v) override { m_is_mesh_modification_notified = v; }
205 bool isMeshModificationNotified() const override { return m_is_mesh_modification_notified; }
206
207 void setModificationFlags(int v) override;
208 int modificationFlags() const override { return m_modification_flags; }
209
212 {
213 return m_is_allocate_scalar_environment_variable_as_material;
214 }
215
216 void setDataCompressorServiceName(const String& name) override;
217 String dataCompressorServiceName() const override { return m_data_compressor_service_name; }
218
219 String name() const override { return m_name; }
220 ConstArrayView<IMeshMaterial*> materials() const override { return m_materials; }
221 ConstArrayView<IMeshComponent*> materialsAsComponents() const override { return m_materials_as_components; }
222 ConstArrayView<IMeshEnvironment*> environments() const override { return m_environments; }
223 ConstArrayView<IMeshComponent*> environmentsAsComponents() const override { return m_environments_as_components; }
224 ConstArrayView<IMeshComponent*> components() const override { return m_components; }
225 ConstArrayView<IMeshBlock*> blocks() const override { return m_blocks; }
226
227 IMeshEnvironment* findEnvironment(const String& name,bool throw_exception=true) override;
228 IMeshBlock* findBlock(const String& name,bool throw_exception=true) override;
229
231
233 IMeshMaterialVariable* checkVariable(IVariable* global_var) override;
234
235 void dumpInfos(std::ostream& o) override;
236 void dumpCellInfos(Cell cell,std::ostream& o) override;
237
238 void checkValid() override;
239
240 void forceRecompute() override;
241
242 Mutex* variableLock() override
243 {
244 return &m_variable_lock;
245 }
246
247 bool synchronizeMaterialsInCells() override;
248 void checkMaterialsInCells(Integer max_print) override;
249
250 Int64 timestamp() const override { return m_timestamp; }
251
252 ConstArrayView<MeshEnvironment*> trueEnvironments() const { return m_true_environments; }
253 ConstArrayView<MeshMaterial*> trueMaterials() const { return m_true_materials; }
254 Int32 nbVariable() const { return static_cast<Int32>(m_full_name_variable_map.size()); }
255
256 public:
257
258 AllEnvCellVectorView _view(SmallSpan<const Int32> cells_local_id);
259
261 {
262 return this->_view(cells.view().localIds());
263 }
264
266 {
267 return this->_view(cells.localIds());
268 }
269
271 {
272 return this->_view(cells_local_id);
273 }
274
276
277 void recreateFromDump() override;
278
280
282 {
283 m_synchronize_variable_version = version;
284 }
285
287 {
288 return m_synchronize_variable_version;
289 }
290
291 bool isInMeshMaterialExchange() const override;
292
294 {
295 return m_variable_factory_mng;
296 }
297
299 {
300 m_is_use_material_value_when_removing_partial_value = v;
301 }
302 bool isUseMaterialValueWhenRemovingPartialValue() const override
303 {
304 return m_is_use_material_value_when_removing_partial_value;
305 }
306
307 public:
308
309 AllEnvData* allEnvData() { return m_all_env_data.get(); }
310 ComponentItemSharedInfo* componentItemSharedInfo(Int32 level) const;
311 void syncVariablesReferences(bool check_resize);
312
313 void incrementTimestamp() { ++m_timestamp; }
314 void dumpInfos2(std::ostream& o);
315
316 const MeshHandle& meshHandle() const { return m_mesh_handle; }
317
318 void enableCellToAllEnvCellForRunCommand(bool is_enable, bool force_create=false) override
319 {
320 m_is_use_accelerator_envcell_container = is_enable;
321 if (force_create)
322 createAllCellToAllEnvCell();
323 }
324 bool isCellToAllEnvCellForRunCommand() const override { return m_is_use_accelerator_envcell_container; }
325
326 IMeshMaterialMngInternal* _internalApi() const override { return m_internal_api.get(); }
327
328 public:
329
331 Runner& runner() const { return m_runner_info->m_runner; }
332 RunQueue& runQueue() const { return m_runner_info->m_run_queue; }
333 Accelerator::RunQueuePool& asyncRunQueuePool() const { return m_runner_info->m_async_queue_pool; }
334 Real additionalCapacityRatio() const { return m_additional_capacity_ratio; }
335 SmallSpan<const Int32> identitySelectionView();
337
338 private:
339
340 AllCellToAllEnvCellContainer* getAllCellToAllEnvCellContainer() const { return m_accelerator_envcell_container.get(); }
341 void createAllCellToAllEnvCell();
342
343 private:
344
346 using FullNameVariableMap= std::map<String,IMeshMaterialVariable*>;
348 using FullNameVariablePair = FullNameVariableMap::value_type;
349
350 using VariableToMaterialVariableMap = std::map<IVariable*,IMeshMaterialVariable*>;
351 using VariableToMaterialVariablePair = VariableToMaterialVariableMap::value_type;
352
353 private:
354
355 MeshHandle m_mesh_handle;
356 std::unique_ptr<InternalApi> m_internal_api;
357 IVariableMng* m_variable_mng = nullptr;
358 String m_name;
359 bool m_is_end_create = false;
360 bool m_is_verbose = false;
361 bool m_keep_values_after_change = true;
362 bool m_is_data_initialisation_with_zero = false;
363 bool m_is_mesh_modification_notified = false;
364 bool m_is_allocate_scalar_environment_variable_as_material = false;
365 bool m_is_use_material_value_when_removing_partial_value = false;
366 int m_modification_flags = 0;
367 Real m_additional_capacity_ratio = 0.05;
368
369 Mutex m_variable_lock;
370
371 std::unique_ptr<MeshMaterialModifierImpl> m_modifier;
372 UniqueArray<MeshMaterialInfo*> m_materials_info;
373 UniqueArray<IMeshMaterial*> m_materials;
374 UniqueArray<IMeshComponent*> m_materials_as_components;
375 UniqueArray<MeshMaterial*> m_true_materials;
376 UniqueArray<IMeshEnvironment*> m_environments;
377 UniqueArray<IMeshComponent*> m_environments_as_components;
378 UniqueArray<IMeshComponent*> m_components;
379 UniqueArray<MeshEnvironment*> m_true_environments;
381 UniqueArray<MeshBlock*> m_true_blocks;
383 UniqueArray<MeshMaterialVariableIndexer*> m_variables_indexer_to_destroy;
384
385 FullNameVariableMap m_full_name_variable_map;
386 VariableToMaterialVariableMap m_var_to_mat_var_map;
387
388 std::unique_ptr<Properties> m_properties;
389 std::unique_ptr<AllEnvData> m_all_env_data;
391 std::unique_ptr<IMeshMaterialVariableSynchronizer> m_all_cells_mat_env_synchronizer;
392 std::unique_ptr<IMeshMaterialVariableSynchronizer> m_all_cells_env_only_synchronizer;
393 Integer m_synchronize_variable_version = 1;
394 std::unique_ptr<MeshMaterialExchangeMng> m_exchange_mng;
395 IMeshMaterialVariableFactoryMng* m_variable_factory_mng = nullptr;
396 std::unique_ptr<ObserverPool> m_observer_pool;
397 String m_data_compressor_service_name;
398 MeshMaterialSynchronizer* m_mms = nullptr;
399
400 std::unique_ptr<RunnerInfo> m_runner_info;
401
403 std::unique_ptr<AllCellToAllEnvCellContainer> m_accelerator_envcell_container;
404 bool m_is_use_accelerator_envcell_container = false;
405
406 bool m_is_use_accelerator_for_constituent_item_vector = true;
407
410 std::mutex m_indexed_selection_identity_mutex;
411
412 private:
413
414 void _endUpdate();
415 IMeshMaterialVariable* _findVariableFullyQualified(const String& name);
416 MeshMaterialInfo* _findMaterialInfo(const String& name);
417 MeshEnvironment* _findEnvironment(const String& name);
418 MeshBlock* _findBlock(const String& name);
420 void _addVariableIndexer(MeshMaterialVariableIndexer* var_idx);
421 void _checkEndCreate();
422 void _addVariableUnlocked(IMeshMaterialVariable* var);
423 void _saveInfosInProperties();
424 void _checkCreateProperties();
425 void _onMeshDestroyed();
426 void _unregisterAllVariables();
427 void _addVariable(IMeshMaterialVariable* var);
428 void _removeVariable(IMeshMaterialVariable* var);
429 MeshMaterialModifierImpl* _modifier();
431 {
432 return m_variables_indexer;
433 }
435 {
436 return m_all_cells_mat_env_synchronizer.get();
437 }
439 {
440 return m_all_cells_env_only_synchronizer.get();
441 }
442 void _dumpStats();
443};
444
445/*---------------------------------------------------------------------------*/
446/*---------------------------------------------------------------------------*/
447
448} // End namespace Arcane::Materials
449
450/*---------------------------------------------------------------------------*/
451/*---------------------------------------------------------------------------*/
452
453#endif
Gestionnaire d'exécution pour accélérateur.
Tableau d'items de types quelconques.
Maille d'un maillage.
Definition Item.h:1214
Vue constante d'un tableau de type T.
Interface d'un fonctor avec argument mais sans valeur de retour.
Interface du gestionnaire de traces.
Interface du gestionnaire de variables.
Interface d'une variable.
Definition IVariable.h:39
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.
Informations sur les valeurs des milieux.
Definition AllEnvData.h:44
Interface d'un bloc 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 du synchroniseur de variables matériaux.
Interface d'une variable matériau d'un maillage.
Informations pour la création d'un milieu.
Infos d'un matériau d'un maillage.
bool isUseAcceleratorForConstituentItemVector() const override
Indique si on utilise l'API accélérateur pour positionner les valeurs de ConstituentItemVectorImpl.
Real additionalCapacityRatio() const override
Ratio pour la capacité additionnelle à allouer lors du redimensionnement des variables.
RunQueue runQueue(Accelerator::eExecutionPolicy policy) const override
File d'exécution pour la politique policy.
SmallSpan< const Int32 > identitySelectionView() const override
Vue sur le tableau correspondant à une sélection sur toutes les entités.
ComponentItemSharedInfo * componentItemSharedInfo(Int32 level) const override
MeshMaterialModifierImpl * modifier() override
Implémentation du modificateur.
IMeshMaterialVariableSynchronizer * allCellsEnvOnlySynchronizer() override
Synchronizeur pour les variables uniquement milieux sur toutes les mailles.
void removeVariable(IMeshMaterialVariable *var) override
Supprime la variable var.
AllCellToAllEnvCellContainer * getAllCellToAllEnvCellContainer() const override
Renvoie la table de "connectivité" CellLocalId -> AllEnvCell destinée à être utilisée dans un RUNCOMM...
void createAllCellToAllEnvCell() override
Construit la table de "connectivité" CellLocalId -> AllEnvCell destinée à être utilisée dans un RUNCO...
void addVariable(IMeshMaterialVariable *var) override
Ajoute la variable var.
RunQueue & runQueue() const override
File d'exécution par défaut.
Accelerator::RunQueuePool & asyncRunQueuePool() const override
Liste de files asynchrones.
IMeshMaterialVariableSynchronizer * allCellsMatEnvSynchronizer() override
Synchronizeur pour les variables matériaux et milieux sur toutes les mailles.
ConstArrayView< MeshMaterialVariableIndexer * > variablesIndexer() override
Liste des infos pour indexer les variables matériaux.
Implémentation d'un gestion des matériaux.
bool isInMeshMaterialExchange() const override
Vrai si on est en train de faire un échange de maillage avec gestion des matériaux.
void removeEnvironmentToBlock(IMeshBlock *block, IMeshEnvironment *env) override
Supprime un milieu à un bloc existant.
IMeshMaterialVariableFactoryMng * variableFactoryMng() const override
Interface de la fabrique de variables.
String dataCompressorServiceName() const override
virtual Nom du service utilisé pour compresser les données
AllEnvCellVectorView view(const CellGroup &cells) final
Vue sur les mailles milieux correspondant au groupe cells.
Int64 m_timestamp
Compteur du nombre de modifications des matériaux.
void setDataCompressorServiceName(const String &name) override
void visitVariables(IFunctorWithArgumentT< IMeshMaterialVariable * > *functor) override
Applique le fonctor functor sur l'ensemble des variables matériaux.
void endCreate(bool is_continue) override
Indique qu'on a fini de créer les milieux.
IMeshBlock * createBlock(const MeshBlockBuildInfo &infos) override
Créé un bloc.
Integer synchronizeVariableVersion() const override
Version de l'implémentation pour la synchronisation des variables matériaux.
bool isKeepValuesAfterChange() const override
Indique si les valeurs des variables sont conservées entre les modifications.
ITraceMng * traceMng() override
Gestionnaire de traces.
FullNameVariableMap::value_type FullNameVariablePair
Paire de la liste des variables par nom complet.
Int64 timestamp() const override
Compteur du nombre de modifications de la liste des matériaux et des milieux.
IMesh * mesh() override
Maillage associé.
IMeshMaterialVariableSynchronizer * _allCellsEnvOnlySynchronizer() override
Synchronizeur pour les variables uniquement milieux sur toutes les mailles.
CellToAllEnvCellConverter cellToAllEnvCellConverter() override
Créée une instance pour convertir de 'Cell' en 'AllEnvCell'.
void addEnvironmentToBlock(IMeshBlock *block, IMeshEnvironment *env) override
Ajoute un milieu à un bloc existant.
void dumpInfos(std::ostream &o) override
Ecrit les infos des matériaux et milieux sur le flot o.
IMeshMaterialVariableSynchronizer * _allCellsMatEnvSynchronizer() override
Synchronizeur pour les variables matériaux et milieux sur toutes les mailles.
MeshMaterialInfo * registerMaterialInfo(const String &name) override
Enregistre les infos du matériau de nom name.
void setMeshModificationNotified(bool v) override
Indique si les milieux et matériaux suivent les changements de topologie dans le maillage.
ConstArrayView< IMeshComponent * > components() const override
Liste de tous les composants.
void setAllocateScalarEnvironmentVariableAsMaterial(bool v) override
Positionne l'option indiquant si les variables scalaires milieux sont allouées sur les matériaux.
ConstArrayView< IMeshMaterial * > materials() const override
Liste des matériaux.
IMeshEnvironment * createEnvironment(const MeshEnvironmentBuildInfo &infos) override
Création d'un milieu.
void recreateFromDump() override
Recréé les infos des matériaux et milieux à partir des infos de la protection.
void enableCellToAllEnvCellForRunCommand(bool is_enable, bool force_create=false) override
Active ou désactive la construction et la mise à jour de la table de "connectivité" CellLocalId -> Al...
int modificationFlags() const override
Flags pour paramêtrer les modifications.
void fillWithUsedVariables(Array< IMeshMaterialVariable * > &variables) override
Remplit le tableau variables avec la liste des variables matériaux utilisés.
ConstArrayView< IMeshComponent * > environmentsAsComponents() const override
Liste des milieux vus comme composants.
ConstArrayView< IMeshEnvironment * > environments() const override
Liste des milieux.
IMeshMaterialVariable * checkVariable(IVariable *global_var) override
Variable aux matériaux associé à la variable global global_var (nullptr si aucune).
void forceRecompute() override
Force le recalcul des informations des matériaux.
void _endUpdate()
Remise à jour des structures suite à une modification des mailles de matériaux ou de milieux.
void setDataInitialisationWithZero(bool v) override
Indique comment initialiser les nouvelles valeurs dans les mailles matériaux et milieux.
void setKeepValuesAfterChange(bool v) override
Positionne la sauvegarde des valeurs entre deux modifications des matériaux.
AllEnvCellVectorView view(CellVectorView cells) final
Vue sur les mailles milieux correspondant au groupe cells.
bool isMeshModificationNotified() const override
Indique si les milieux et matériaux suivent les changements de topologie dans le maillage.
IMeshMaterialMngInternal * _internalApi() const override
API interne à Arcane.
void checkMaterialsInCells(Integer max_print) override
Vérifie que les mailles des matériaux sont cohérentes entre les sous-domaines.
IMeshEnvironment * findEnvironment(const String &name, bool throw_exception=true) override
Retourne le milieux de nom name.
bool isDataInitialisationWithZero() const override
Indique comment initialiser les nouvelles valeurs dans les mailles matériaux et milieux.
Mutex * variableLock() override
Verrou utilisé pour le multi-threading.
void setSynchronizeVariableVersion(Integer version) override
Positionne la version de l'implémentation pour la synchronisation des variables matériaux.
bool synchronizeMaterialsInCells() override
Synchronise les mailles des matériaux.
std::map< String, IMeshMaterialVariable * > FullNameVariableMap
Type de la liste des variables par nom complet.
ConstArrayView< IMeshComponent * > materialsAsComponents() const override
Liste des matériaux vus comme composants.
IMeshMaterialVariable * findVariable(const String &name) override
Variable de nom name ou nullptr si aucune de ce nom existe.
void setUseMaterialValueWhenRemovingPartialValue(bool v) override
Indique si on utilise la valeur matériau ou milieu lorsqu'on transforme une maille partielle en maill...
void dumpCellInfos(Cell cell, std::ostream &o) override
Ecrit les infos de la maille cell sur le flot o.
std::unique_ptr< AllCellToAllEnvCellContainer > m_accelerator_envcell_container
Conteneur pour AllEnvCellToAllEnvCell pour accélerateur.
ConstArrayView< IMeshBlock * > blocks() const override
Liste des blocs.
void checkValid() override
Vérifie la validité des structures internes.
void syncVariablesReferences(bool check_resize)
Met à jour les références des variables.
MeshMaterial * _createMaterial(MeshEnvironment *env, MeshMaterialInfo *infos, const String &name)
Création d'un matériau.
AllEnvCellVectorView view(SmallSpan< const Int32 > cells_local_id) final
Vue sur les mailles milieux correspondant aux mailles de numéro locaux cells_local_id.
bool isAllocateScalarEnvironmentVariableAsMaterial() const override
Indique si les variables scalaires milieux sont allouées sur les matériaux.
String name() const override
Nom du gestionnaire.
UniqueArray< Int32 > m_indexed_selection_identity
Tableau identité pour la sélection.
IMeshBlock * findBlock(const String &name, bool throw_exception=true) override
Retourne le bloc de nom name.
void setModificationFlags(int v) override
Positionner les flags pour paramêtrer les modifications de matériaux/milieux.
Synchronisation de la liste des matériaux/milieux des entités.
Matériau d'un maillage.
Informations pour la création d'un bloc.
Bloc d'un maillage.
Definition MeshBlock.h:50
Handle sur un maillage.
Definition MeshHandle.h:47
Liste d'observateurs.
Liste de propriétés.
Definition Properties.h:64
Vue d'un tableau d'éléments de type T.
Definition Span.h:801
Chaîne de caractères unicode.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
ITraceMng * traceMng() const
Gestionnaire de trace.
Vecteur 1D de données avec sémantique par valeur (style STL).
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Definition ItemTypes.h:183
ItemVectorViewT< Cell > CellVectorView
Vue sur un vecteur de mailles.
Definition ItemTypes.h:304
eExecutionPolicy
Politique d'exécution pour un Runner.
Active toujours les traces dans les parties Arcane concernant les matériaux.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
double Real
Type représentant un réel.
std::int32_t Int32
Type entier signé sur 32 bits.