16#include <Fluide_Quasi_Compressible.h>
17#include <Neumann_sortie_libre.h>
18#include <Loi_Etat_Multi_GP_QC.h>
19#include <Discretisation_base.h>
20#include <Champ_Fonc_Fonction.h>
21#include <Probleme_base.h>
77 if (mot ==
"pression")
81 ch_rho_.typer(
"Champ_Uniforme");
82 DoubleTab& tab_rho = ch_rho_->valeurs();
87 else if (mot ==
"Traitement_rho_gravite")
93 les_options[0] =
"standard";
94 les_options[1] =
"moins_rho_moyen";
99 Cerr << trait <<
" is not understood as an option of the keyword " << mot << finl;
100 Cerr <<
"One of the following options was expected : " << les_options << finl;
115 Cerr <<
"Fluide_Quasi_Compressible::completer Pth = " <<
Pth_ << finl;
116 if ((loi_etat_->que_suis_je() ==
"Loi_Etat_rhoT_Gaz_Parfait_QC" || loi_etat_->que_suis_je() ==
"Loi_Etat_Binaire_Gaz_Parfait_QC") &&
traitement_PTh_ == 0)
118 Cerr <<
"The option Traitement_PTh EDO is not allowed with the state law " << loi_etat_->que_suis_je() << finl;
119 Cerr <<
"Set **traitement_pth** constant or conservation_masse in the Fluide_Quasi_Compressible bloc definition." << finl;
133 if (pb.
que_suis_je() ==
"Pb_Hydraulique_Melange_Binaire_QC" || pb.
que_suis_je() ==
"Pb_Hydraulique_Melange_Binaire_Turbulent_QC")
134 dis.
discretiser_champ(
"temperature", domaine_dis,
"fraction_massique",
"neant", 1, temps, loi_etat_->temperature_);
136 dis.
discretiser_champ(
"temperature", domaine_dis,
"temperature",
"K", 1, temps, loi_etat_->temperature_);
144void Fluide_Quasi_Compressible::remplir_champ_pression_tot(
int n,
const DoubleTab& tab_PHydro, DoubleTab& tab_PTot)
147 CDoubleTabView PHydro = tab_PHydro.
view_ro();
148 DoubleTabView PTot = tab_PTot.
view_wo();
149 Kokkos::parallel_for(start_gpu_timer(__KERNEL_NAME__), n, KOKKOS_LAMBDA(
const int i)
151 PTot(i,0) = PHydro(i,0) + Pth;
153 end_gpu_timer(__KERNEL_NAME__);
classe Discretisation_base Cette classe represente un schema de discretisation en espace,...
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
classe Fluide_Dilatable_base Cette classe represente un d'un fluide dilatable,
const Champ_Don_base & ch_temperature() const
Renvoie le champ de le temperature.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
void set_param(Param ¶m) const override
const Nom type_fluide() const
virtual void completer(const Probleme_base &)
Complete le fluide avec les champs inconnus associes au probleme.
classe Fluide_Quasi_Compressible Cette classe represente un d'un fluide quasi compressible
void completer(const Probleme_base &) override
Complete le fluide avec les champs inconnus associes au probleme.
int traitement_rho_gravite_
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
double temps_debut_prise_en_compte_drho_dt_
void set_param(Param ¶m) const override
Une chaine de caractere (Nom) en majuscules.
Un tableau d'objets de la classe Motcle.
int search(const Motcle &t) 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 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(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
void ajouter_non_std(const char *keyword, const Objet_U *value, Param::Nature nat=Param::OPTIONAL)
Register a keyword handled by Objet_U::lire_motcle_non_standard.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
const Schema_Temps_base & schema_temps() const
Renvoie le schema en temps associe au probleme.
virtual const Equation_base & equation(int) const =0
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
double temps_courant() const
Renvoie le temps courant.
Classe de base des flux de sortie.
std::enable_if_t< is_default_exec_space< EXEC_SPACE >, View< _TYPE_, _SHAPE_ > > view_wo()
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
std::enable_if_t< is_default_exec_space< EXEC_SPACE >, ConstView< _TYPE_, _SHAPE_ > > view_ro() const