Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IMeshMaterialMngInternal.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/* IMeshMaterialMngInternal.h (C) 2000-2026 */
9/* */
10/* Internal Arcane API for 'IMeshMaterialMng'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MATERIALS_INTERNAL_IMESHMATERIALMNGINTERNAL_H
13#define ARCANE_CORE_MATERIALS_INTERNAL_IMESHMATERIALMNGINTERNAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/materials/MaterialsCoreGlobal.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane::Materials
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
33class ARCANE_CORE_EXPORT IMeshMaterialMngInternal
34{
35 public:
36
37 virtual ~IMeshMaterialMngInternal() = default;
38
39 public:
40
47 virtual void addVariable(IMeshMaterialVariable* var) = 0;
48
56 virtual void removeVariable(IMeshMaterialVariable* var) = 0;
57
67
72
77
82
83 public:
84
91
100 virtual void createAllCellToAllEnvCell() = 0;
101
107 virtual ComponentItemSharedInfo* componentItemSharedInfo(Int32 level) const = 0;
108
110 virtual RunQueue& runQueue() const = 0;
111
114
116 virtual Real additionalCapacityRatio() const = 0;
117
120
129
139};
140
141/*---------------------------------------------------------------------------*/
142/*---------------------------------------------------------------------------*/
143
144} // namespace Arcane::Materials
145
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148
149#endif
Declarations of types on entities.
Constant view of an array of type T.
Connectivity table of 'Cell' to its 'AllEnvCell' intended for use on accelerator.
Internal Arcane API for 'IMeshMaterialMng'.
virtual RunQueue runQueue(Accelerator::eExecutionPolicy policy) const =0
Run queue for the policy.
virtual ConstArrayView< MeshMaterialVariableIndexer * > variablesIndexer()=0
List of information to index material variables.
virtual RunQueue & runQueue() const =0
Default run queue.
virtual void createAllCellToAllEnvCell()=0
Constructs the "connectivity" table CellLocalId -> AllEnvCell intended to be used in a RUNCOMMAND_ENU...
virtual void addVariable(IMeshMaterialVariable *var)=0
Adds the variable var.
virtual AllCellToAllEnvCellContainer * getAllCellToAllEnvCellContainer() const =0
Returns the "connectivity" table CellLocalId -> AllEnvCell intended to be used in a RUNCOMMAND_ENUMER...
virtual bool isUseAcceleratorForConstituentItemVector() const =0
Indicates whether the accelerator API is used to position the values of ConstituentItemVectorImpl.
virtual Real additionalCapacityRatio() const =0
Ratio for additional capacity to allocate when resizing variables.
virtual MeshMaterialModifierImpl * modifier()=0
Modifier implementation.
virtual IMeshMaterialVariableSynchronizer * allCellsEnvOnlySynchronizer()=0
Synchronizer for medium-only variables across all cells.
virtual void removeVariable(IMeshMaterialVariable *var)=0
Removes the variable var.
virtual ComponentItemSharedInfo * componentItemSharedInfo(Int32 level) const =0
ComponentItemSharedInfo instance for a constituent.
virtual IMeshMaterialVariableSynchronizer * allCellsMatEnvSynchronizer()=0
Synchronizer for material and medium variables across all cells.
virtual SmallSpan< const Int32 > identitySelectionView() const =0
View of the array corresponding to a selection across all entities.
virtual Accelerator::RunQueuePool & asyncRunQueuePool() const =0
List of asynchronous queues.
Interface of a material variable on a mesh.
View of an array of elements of type T.
Definition Span.h:805
eExecutionPolicy
Execution policy for a Runner.
Always enables tracing in Arcane parts concerning materials.
double Real
Type representing a real number.
std::int32_t Int32
Signed integer type of 32 bits.