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__);
class Discretisation_base This class represents a spatial discretization scheme, which
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
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
Base class for a dilatable fluid, inheriting from Fluide_base.
const Champ_Don_base & ch_temperature() const
Returns the temperature field.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
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 &)
Completes the fluid with the unknown fields associated with the problem.
Fluide_Quasi_Compressible class This class represents a quasi-compressible fluid,.
void completer(const Probleme_base &) override
Completes the fluid with the unknown fields associated with the problem.
int traitement_rho_gravite_
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
double temps_debut_prise_en_compte_drho_dt_
void set_param(Param ¶m) const override
A character string (Nom) in uppercase.
An array of Motcle objects.
int search(const Motcle &t) 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 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(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.
class Probleme_base It is a Probleme_U that is not a coupling.
const Schema_Temps_base & schema_temps() const
Returns the time scheme associated with the problem.
virtual const Equation_base & equation(int) const =0
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
double temps_courant() const
Returns the current time.
Base class for output streams.
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