Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IScalarMeshMaterialVariable.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IScalarMeshMaterialVariable.h (C) 2000-2022 */
9/* */
10/* Interface d'une variable matériau scalaire. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_ISCALARMESHMATERIALVARIABLE_H
13#define ARCANE_MATERIALS_ISCALARMESHMATERIALVARIABLE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/NotImplementedException.h"
18#include "arcane/utils/Array.h"
19
20#include "arcane/core/materials/MaterialsCoreGlobal.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane::Materials
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
34template<typename ItemType,typename DataType>
36{
37 public:
38
40 using ItemTypeType = ItemType;
41 using DataTypeType = DataType;
44 static constexpr int dimension() { return 0; }
45
46 public:
47
48 virtual ~IScalarMeshMaterialVariable() = default;
49
50 public:
51
52 virtual ArrayView<ArrayView<DataType>> _internalFullValuesView() = 0;
53 virtual void fillFromArray(IMeshMaterial* mat,ConstArrayView<DataType> values) =0;
54 virtual void fillFromArray(IMeshMaterial* mat,ConstArrayView<DataType> values,Int32ConstArrayView indexes) =0;
55 virtual void fillToArray(IMeshMaterial* mat,ArrayView<DataType> values) =0;
56 virtual void fillToArray(IMeshMaterial* mat,ArrayView<DataType> values,Int32ConstArrayView indexes) =0;
57 virtual void fillPartialValues(const DataType& value) =0;
58 virtual VariableRefType* globalVariableReference() const =0;
59 virtual void incrementReference() =0;
60 virtual IMeshMaterialVariable* toMeshMaterialVariable() =0;
61};
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66} // End namespace Arcane::Materials
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71#endif
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface d'une variable matériau d'un maillage.
Interface d'un matériau d'un maillage.
Interface d'accès pour CellMaterialVariableScalarRef.
Variable scalaire sur un type d'entité du maillage.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.