16#include <Modele_turbulence_hyd_LES_Smago_VEF.h>
17#include <Schema_Temps_base.h>
18#include <Domaine_Cl_VEF.h>
19#include <Domaine_VEF.h>
20#include <Champ_P1NC.h>
34 param.
ajouter_condition(
"value_of_cs_ge_0",
"sous_maille_smago model constant must be positive.");
40 const int nb_elem = domaine_VEF.
nb_elem();
47 DoubleTab& visco_turb = la_viscosite_turbulente_->valeurs();
48 if (visco_turb.
size() != nb_elem)
50 Cerr <<
"Size error for the array containing the values of the turbulent viscosity." << finl;
55 CDoubleArrView l_v =
l_.view_ro();
56 CDoubleArrView SMA_barre_v =
SMA_barre_.view_ro();
57 DoubleTabView visco_turb_v = visco_turb.
view_wo();
58 const double cs =
cs_;
59 Kokkos::parallel_for(start_gpu_timer(__KERNEL_NAME__), nb_elem, KOKKOS_LAMBDA(
62 visco_turb_v(elem,0) = cs*cs*l_v(elem)*l_v(elem)*sqrt(SMA_barre_v(elem));
64 end_gpu_timer(__KERNEL_NAME__);
66 double temps = mon_equation_->inconnue().temps();
67 la_viscosite_turbulente_->changer_temps(temps);
68 return la_viscosite_turbulente_;
74 const DoubleTab& la_vitesse = mon_equation_->inconnue().valeurs();
class Champ_Fonc_base Base class of fields that are functions of a calculated quantity
static DoubleVect & calcul_S_barre(const DoubleTab &, DoubleVect &, const Domaine_Cl_VEF &)
Class defining operators and methods for all reading operation in an input flow (file,...
Class Modele_turbulence_hyd_LES_Smago_VEF.
public_for_cuda Champ_Fonc_base & calculer_viscosite_turbulente() override
virtual void calculer_S_barre()
void set_param(Param ¶m) const override
Class Modele_turbulence_hyd_LES_VEF_base.
virtual void set_param(Param &) const
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual const Nom & le_nom() const
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter_condition(const char *condition, const char *message, const char *name=0)
Declare a post-read logical condition that must hold on the parameter values.
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
std::enable_if_t< is_default_exec_space< EXEC_SPACE >, View< _TYPE_, _SHAPE_ > > view_wo()