Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
MaterialsGlobal.h
Go to the documentation of this file.
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/* MaterialsGlobal.h (C) 2000-2024 */
9/* */
10/* General declarations for Arcane materials. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_MATERIALSGLOBAL_H
13#define ARCANE_MATERIALS_MATERIALSGLOBAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/materials/MaterialsCoreGlobal.h"
18
19#include <iosfwd>
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24#ifdef ARCANE_COMPONENT_arcane_materials
25#define ARCANE_MATERIALS_EXPORT ARCANE_EXPORT
26#else
27#define ARCANE_MATERIALS_EXPORT ARCANE_IMPORT
28#endif
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33namespace Arcane::Materials
34{
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38
39class IMeshBlock;
40class IMeshComponent;
41class IMeshMaterial;
45class ComponentItemInternal;
46class ComponentItem;
63class MatVarIndex;
65class ConstituentConnectivityList;
66class MeshMaterialMng;
67class AllCellToAllEnvCellContainer;
68class AllEnvData;
69class MaterialModifierOperation;
70class MeshMaterial;
71class MeshEnvironment;
72class ConstituentModifierWorkInfo;
74class MeshMaterialModifierImpl;
75
76template <typename DataType> class ItemMaterialVariableScalar;
77template <typename ItemType, typename DataType> class MeshMaterialVariableScalar;
78template <typename ItemType, typename DataType> class MeshMaterialVariableArray;
79
80using MeshMaterialVariableFactoryVariableRefCreateFunc = IMeshMaterialVariable* (*)(const MaterialVariableBuildInfo& vb);
81
82/*---------------------------------------------------------------------------*/
83/*---------------------------------------------------------------------------*/
84
85/*!
86 * \brief Flags to configure behavior during a modification of materials or environments.
87 */
89{
90 //! Activates generic optimizations
92 //! Activates optimizations for multiple additions/removals
94 /*!
95 * \brief Activates optimizations when multiple materials are present in an environment.
96 */
98 /*!
99 * \brief Indicates that the incremental version of AllEnvData::forceRecompute() is used.
100 *
101 * This mode is only active if GenericOptimize, OptimizeMultiAddRemove, and
102 * OptimizeMultiMaterialPerEnvironment are active.
103 */
105};
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110} // End namespace Arcane::Materials
111
112/*---------------------------------------------------------------------------*/
113/*---------------------------------------------------------------------------*/
114
115#endif
View over a vector of entities of a component.
Vector over the entities of a constituent.
View over the impure part of the entities of an environment.
View over a vector of entities of an environment.
View over pure or partial entities of an environment.
View over the pure part of the entities of an environment.
Interface of a component (material or environment) of a mesh.
Interface for the material and environment manager of a mesh.
Interface of a material variable on a mesh.
View over the impure part of the entities of a material.
View over a vector of entities of a material.
View over pure or partial entities of a material.
View over the pure part of the entities of a material.
Represents an index on material and environment variables.
Always enables tracing in Arcane parts concerning materials.
eModificationFlags
Flags to configure behavior during a modification of materials or environments.
@ OptimizeMultiMaterialPerEnvironment
Activates optimizations when multiple materials are present in an environment.
@ GenericOptimize
Activates generic optimizations.
@ IncrementalRecompute
Indicates that the incremental version of AllEnvData::forceRecompute() is used.
@ OptimizeMultiAddRemove
Activates optimizations for multiple additions/removals.