16#include <Saturation_base.h>
17#include <QDM_Multiphase.h>
18#include <Equation_base.h>
19#include <Pb_Multiphase.h>
20#include <TPPI_tools.h>
21#include <Discretisation_base.h>
42 param.lire_avec_accolades_depuis(is);
48 DoubleTab& sigma_tab = ch_sigma_->valeurs(), &Tsat_tab = ch_Tsat_->valeurs();
70 assert(ncomp * (
int )P.size() == (
int )res.size());
71 (
P_ref_ > 0) ? _Tsat_(
P_ref_,res,ncomp,ind) : Tsat_(P,res,ncomp,ind);
76 assert(ncomp * (
int )P.size() == (
int )res.size());
78 for (
int i =0; i < (int)P.size(); i++) res[i * ncomp + ind] = 0.;
79 else dP_Tsat_(P,res,ncomp,ind);
84 assert((
int )T.size() == (
int )res.size());
85 (
T_ref_ > 0) ? _Psat_(
T_ref_,res,ncomp,ind) : Psat_(T,res,ncomp,ind);
90 assert((
int )T.size() == (
int )res.size());
92 for (
int i =0; i < (int)T.size() / ncomp; i++) res[i * ncomp + ind] = 0.;
93 else dT_Psat_(T,res,ncomp,ind);
98 assert(ncomp * (
int )P.size() == (
int )res.size());
99 (
P_ref_ > 0) ? _Lvap_(
P_ref_,res,ncomp,ind) : Lvap_(P,res,ncomp,ind);
104 assert(ncomp * (
int )P.size() == (
int )res.size());
106 for (
int i =0; i < (int)P.size(); i++) res[i * ncomp + ind] = 0.;
107 else dP_Lvap_(P,res,ncomp,ind);
112 assert(ncomp * (
int )P.size() == (
int )res.size());
113 (
P_ref_ > 0) ? _Hls_(
P_ref_,res,ncomp,ind) : Hls_(P,res,ncomp,ind);
118 assert(ncomp * (
int )P.size() == (
int )res.size());
120 for (
int i =0; i < (int)P.size(); i++) res[i * ncomp + ind] = 0.;
121 else dP_Hls_(P,res,ncomp,ind);
126 assert(ncomp * (
int )P.size() == (
int )res.size());
127 (
P_ref_ > 0) ? _Hvs_(
P_ref_,res,ncomp,ind) : Hvs_(P,res,ncomp,ind);
132 assert(ncomp * (
int )P.size() == (
int )res.size());
134 for (
int i =0; i < (int)P.size(); i++) res[i * ncomp + ind] = 0.;
135 else dP_Hvs_(P,res,ncomp,ind);
140 assert((
int )P.size() == (
int )sig.size());
141 sigma_(T, P, sig, ncomp, ind);
146 assert((
int )P.size() == (
int )sig.size());
152 assert((
int )sats.size() == 7);
154 SpanD dPTs__ = sats.at(SAT::T_SAT_DP), Hvs__ = sats.at(SAT::HV_SAT), Hls__ = sats.at(SAT::HL_SAT),
155 dPHvs__ = sats.at(SAT::HV_SAT_DP), dPHls__ = sats.at(SAT::HL_SAT_DP),
156 Lvap__ = sats.at(SAT::LV_SAT), dPLvap__ = sats.at(SAT::LV_SAT_DP);
158 assert(ncomp * (
int )P.size() == (
int )dPTs__.size() && ncomp * (
int )P.size() == (
int )Hvs__.size() && ncomp * (
int )P.size() == (
int )Hls__.size());
159 assert(ncomp * (
int )P.size() == (
int )dPHvs__.size() && ncomp * (
int )P.size() == (
int )dPHls__.size());
160 assert(ncomp * (
int )P.size() == (
int )Lvap__.size() && ncomp * (
int )P.size() == (
int )dPLvap__.size());
162 dP_Tsat(P, dPTs__, ncomp, ind);
163 Hvs(P, Hvs__, ncomp, ind);
164 Hls(P, Hls__, ncomp, ind);
165 dP_Hvs(P, dPHvs__, ncomp, ind);
166 dP_Hls(P, dPHls__, ncomp, ind);
167 Lvap(P, Lvap__, ncomp, ind);
168 dP_Lvap(P, dPLvap__, ncomp, ind);
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,...
virtual void set_param(Param ¶m) const override
virtual void sigma_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int ind=0) const =0
virtual void sigma_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int ind=0) const =0
double sigma(const double T, const double P) const
class Nom Une chaine de caractere pour nommer les objets de TRUST
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.
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
virtual Equation_base & equation_qdm()
classe QDM_Multiphase Cette classe porte les termes de l'equation de la dynamique
virtual void get_sigma(const SpanD T, const SpanD P, SpanD sig, int ncomp=1, int ind=0) const final
void discretiser_Tsat(const Nom &Tsat_nom, double temps)
void mettre_a_jour(double) override
virtual void get_sigma_h(const SpanD H, const SpanD P, SpanD sig, int ncomp=1, int ind=0) const final
void Psat(const SpanD T, SpanD res, int ncomp=1, int ind=0) const
void Tsat(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void Hls(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void dP_Hls(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void dP_Hvs(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void dT_Psat(const SpanD T, SpanD res, int ncomp=1, int ind=0) const
void set_param(Param ¶m) const override
void dP_Tsat(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void dP_Lvap(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
virtual void compute_all_flux_interfacial_pb_multiphase(const SpanD P, MSatSpanD, int ncomp=1, int ind=0) const
void Lvap(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
void Hvs(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Classe de base des flux de sortie.
Span_ get_span_tot() override
Span_ get_span() override
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")