16#include <Fluide_stiffened_gas.h>
28 if (Cv_ == -1.) Cv_ = R_ / (gamma_ - 1.0);
41 param.
ajouter(
"lambda",&lambda__);
47 param.
ajouter(
"q_prim",&q_prim_);
51#define ind std::distance(res.begin(), &val)
56 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
57 for (
auto& val : res) val = (P[ind] + pinf_) / (gamma_ - 1.0) / (T[ind * ncomp + id] + 273.15) / Cv_;
62 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
63 for (
auto& val : res) val = 1.0 / (gamma_ - 1.0) / Cv_ / (T[ind * ncomp +
id] + 273.15);
68 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
69 for (
auto& val : res) val = -(P[ind] + pinf_) / (gamma_ - 1.0) / Cv_ / (T[ind * ncomp + id] + 273.15) / (T[ind * ncomp +
id] + 273.15);
74 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
75 for (
auto& val : res) val = gamma_ * Cv_ * (T[ind * ncomp + id] + 273.15) + q_;
80 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
81 for (
auto& val : res) val = 0.;
86 return cp_(T,P,res,ncomp,
id);
91 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
92 for (
auto& val : res) val = gamma_ * Cv_;
97 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
98 for (
auto& val : res) val = 1.0 / (T[ind * ncomp + id] + 273.15);
103 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
104 for (
auto& val : res) val = mu__;
109 assert((
int )T.size() == ncomp * (
int )P.size() && (
int )T.size() == ncomp * (
int )res.size());
110 for (
auto& val : res) val = lambda__;
116 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
117 for (
auto& val : res) val = gamma_ * (P[ind] + pinf_) / (gamma_ - 1.0) / H[ind * ncomp + id];
122 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
123 for (
auto& val : res) val = gamma_ / (gamma_ - 1.0) / H[ind * ncomp +
id];
128 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
129 for (
auto& val : res) val = - gamma_ * (P[ind] + pinf_) / (gamma_ - 1.0) / H[ind * ncomp + id] / H[ind * ncomp + id];
134 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
135 for (
auto& val : res) val = H[ind * ncomp + id] / gamma_ / Cv_ - 273.15;
140 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
141 for (
auto& val : res) val = 0.;
146 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
147 for (
auto& val : res) val = 1. / gamma_ / Cv_;
152 cp_(H, P, res, ncomp,
id);
157 assert((
int )H.size() == ncomp * (
int )P.size() && (
int )H.size() == ncomp * (
int )res.size());
158 for (
auto& val : res) val = 1.0 / (H[ind * ncomp + id] / (gamma_ * Cv_));
163 mu_(H, P, res, ncomp,
id);
Class defining operators and methods for all reading operation in an input flow (file,...
Classe Fluide_reel_base Cette classe represente un fluide reel ainsi que.
void set_param(Param ¶m) const override
: Classe Fluide_stiffened_gas Cette classe represente un milieu reel
void dT_rho_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void lambda_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dh_rho_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void mu_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dh_T_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void beta_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void lambda_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dP_T_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void rho_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void h_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dT_h_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void T_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void cp_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void mu_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void beta_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dP_rho_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void cp_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void dP_rho_h_(const SpanD H, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void rho_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
void set_param(Param ¶m) const override
void dP_h_(const SpanD T, const SpanD P, SpanD res, int ncomp=1, int id=0) const override
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 de base des flux de sortie.