Arcane  v3.16.9.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MeshVariableScalarRefTpl1.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* MeshVariableScalarRefTpl1.cc (C) 2000-2025 */
9/* */
10/* Instanciation des classes templates des variables du maillage. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/core/MeshVariableScalarRef.inst.h"
15#include "arcane/core/MeshPartialVariableScalarRef.inst.h"
16#include "arcane/core/VariableFactoryRegisterer.h"
17
18/*---------------------------------------------------------------------------*/
19/*---------------------------------------------------------------------------*/
20
21namespace Arcane
22{
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
28add(VarType& out,const VarType& v,const ItemGroup& group)
29{
30 ENUMERATE_ITEM(iitem,group){
31 out[iitem] += v[iitem];
32 }
33}
34
36sub(VarType& out,const VarType& v,const ItemGroup& group)
37{
38 ENUMERATE_ITEM(iitem,group){
39 out[iitem] -= v[iitem];
40 }
41}
42
44mult(VarType& out,const VarType& v,const ItemGroup& group)
45{
46 ENUMERATE_ITEM(iitem,group){
47 out[iitem] *= v[iitem];
48 }
49}
50
52mult(VarType& out,Real v,const ItemGroup& group)
53{
54 ENUMERATE_ITEM(iitem,group){
55 out[iitem] *= v;
56 }
57}
58
60power(VarType& out,Real v,const ItemGroup& group)
61{
62 ENUMERATE_ITEM(iitem,group){
63 out[iitem] = math::pow(out[iitem],v);
64 }
65}
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(Real);
71ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(Real2);
72ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(Real2x2);
73ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(Real3);
74ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(Real3x3);
75
76/*---------------------------------------------------------------------------*/
77/*---------------------------------------------------------------------------*/
78
79}
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
#define ENUMERATE_ITEM(name, group)
Enumérateur générique d'un groupe de noeuds.
Groupe d'entités de maillage.
Definition ItemGroup.h:49
Classe gérant un vecteur de réel de dimension 2.
Definition Real2.h:121
Classe gérant une matrice de réel de dimension 2x2.
Definition Real2x2.h:53
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Classe gérant une matrice de réel de dimension 3x3.
Definition Real3x3.h:66
__host__ __device__ double pow(double x, double y)
Fonction puissance.
Definition Math.h:166
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
double Real
Type représentant un réel.