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();
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
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,...
classe Modele_turbulence_hyd_LES_Smago_VEF Cette classe correspond a la mise en oeuvre du modele sous
public_for_cuda Champ_Fonc_base & calculer_viscosite_turbulente() override
virtual void calculer_S_barre()
void set_param(Param ¶m) const override
classe Modele_turbulence_hyd_LES_VEF_base Cette classe correspond a la mise en oeuvre des modeles sou...
virtual void set_param(Param &) const
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual const Nom & le_nom() const
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
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)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
std::enable_if_t< is_default_exec_space< EXEC_SPACE >, View< _TYPE_, _SHAPE_ > > view_wo()