16#include "arcane/utils/NotImplementedException.h" 
   17#include "arcane/utils/TraceInfo.h" 
   18#include "arcane/utils/NumericTypes.h" 
   20#include "arcane/MeshVariableScalarRef.h" 
   21#include "arcane/ArcaneException.h" 
   23#include "arcane/core/materials/IMeshMaterialMng.h" 
   24#include "arcane/core/materials/IMeshMaterial.h" 
   25#include "arcane/core/materials/MaterialVariableBuildInfo.h" 
   48template<
typename DataType> CellEnvironmentVariableScalarRef<DataType>::
 
 
   61: m_private_part(rhs.m_private_part)
 
   67    m_private_part->incrementReference();
 
   78template<
typename DataType> 
void 
   83    this->_setContainerView();
 
   84    _internalInit(m_private_part->toMeshMaterialVariable());
 
   91template<
typename DataType> 
void 
   93refersTo(
const CellEnvironmentVariableScalarRef<DataType>& rhs)
 
   95  if (rhs.m_private_part==m_private_part)
 
  100  m_private_part = rhs.m_private_part;
 
  102  m_container_value = {};
 
  107    m_private_part->incrementReference();
 
 
 
  114template<
typename DataType> 
void 
  124template<
typename DataType> DataType
 
  132      return this->operator[](ienvcell);
 
  142template<
typename DataType> 
void 
  144fill(
const DataType& value)
 
 
  155template<
typename DataType> 
void 
  159  m_private_part->fillPartialValues(value);
 
 
  172  GlobalVariableRefType* rt = m_private_part->globalVariableReference();
 
  185  GlobalVariableRefType* rt = m_private_part->globalVariableReference();
 
  194template<
typename DataType> 
void 
  199    m_container_value = m_private_part->_internalFullValuesView();
 
  200    m_value = m_container_value.data();
 
  203    m_container_value = {};
 
  239: m_private_part(rhs.m_private_part)
 
  245    m_private_part->incrementReference();
 
  254template<
typename DataType> 
void 
  260    _internalInit(m_private_part->toMeshMaterialVariable());
 
  268template<
typename DataType> 
void 
  270refersTo(
const CellEnvironmentVariableArrayRef<DataType>& rhs)
 
  272  if (rhs.m_private_part==m_private_part)
 
  277  m_private_part = rhs.m_private_part;
 
  279  m_container_value = {};
 
  284    m_private_part->incrementReference();
 
 
  292template<
typename DataType> 
void 
  306  GlobalVariableRefType* rt = m_private_part->globalVariableReference();
 
 
  319  GlobalVariableRefType* rt = m_private_part->globalVariableReference();
 
 
  328template<
typename DataType> 
void 
  332  m_private_part->resize(dim2_size);
 
 
 
  338template<
typename DataType> 
void 
  343    m_container_value = m_private_part->_internalFullValuesView();
 
  344    m_value = m_container_value.data();
 
  347    m_container_value = {};
 
  358#define ARCANE_INSTANTIATE_MAT(type) \ 
  359  template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableScalarRef<type>;\ 
  360  template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableArrayRef<type> 
  362ARCANE_INSTANTIATE_MAT(
Byte);
 
  363ARCANE_INSTANTIATE_MAT(
Int8);
 
  364ARCANE_INSTANTIATE_MAT(
Int16);
 
  365ARCANE_INSTANTIATE_MAT(
Int32);
 
  366ARCANE_INSTANTIATE_MAT(
Int64);
 
  367ARCANE_INSTANTIATE_MAT(BFloat16);
 
  368ARCANE_INSTANTIATE_MAT(
Float16);
 
  369ARCANE_INSTANTIATE_MAT(
Float32);
 
  370ARCANE_INSTANTIATE_MAT(
Real);
 
  371ARCANE_INSTANTIATE_MAT(Real2);
 
  372ARCANE_INSTANTIATE_MAT(Real3);
 
  373ARCANE_INSTANTIATE_MAT(Real2x2);
 
  374ARCANE_INSTANTIATE_MAT(Real3x3);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Maille arcane avec info matériaux et milieux.
Variable tableau sur les mailles d'un matériau du maillage. Pour l'instant, cette classe n'est instan...
GlobalVariableRefType & globalVariable()
Variable globale associée à cette variable matériau.
virtual void refersTo(const ThatClass &rhs)
Positionne la référence de l'instance à la variable rhs.
CellEnvironmentVariableArrayRef()=delete
Constructeur vide (interdit)
void resize(Integer dim2_size)
Redimensionne le nombre d'éléments du tableau.
Variable scalaire sur les mailles d'un milieu du maillage.
DataType envValue(AllEnvCell c, Int32 env_id) const
Valeur de la variable pour le milieu d'index env_id de la maille ou 0 si absent de la maille.
void fillPartialValues(const DataType &value)
Remplit les valeurs partielles de la variable avec la valeur value.
GlobalVariableRefType & globalVariable()
Variable globale associée à cette variable matériau.
virtual void refersTo(const ThatClass &rhs)
Positionne la référence de l'instance à la variable rhs.
CellEnvironmentVariableScalarRef()=delete
Constructeur vide (interdit)
void fill(const DataType &value)
Remplit les valeurs partielles et globales de la variable avec la valeur value.
Maille arcane d'un milieu.
__host__ __device__ Int32 environmentId() const
Identifiant du milieu.
void unregisterVariable()
Supprime l'enregistrement de la variable (interne)
Variable tableau sur un type d'entité du maillage.
Variable scalaire sur un type d'entité du maillage.
Paramètres nécessaires à la construction d'une variable.
Active toujours les traces dans les parties Arcane concernant les matériaux.
MatVarSpace
Espace de définition d'une variable matériau.
@ Environment
Variable ayant des valeurs uniquement sur les milieux.
std::int8_t Int8
Type entier signé sur 8 bits.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
@ Float16
Donnée de type Float16.
std::int16_t Int16
Type entier signé sur 16 bits.
double Real
Type représentant un réel.
unsigned char Byte
Type d'un octet.
float Float32
Type flottant IEEE-753 simple précision.
std::int32_t Int32
Type entier signé sur 32 bits.