12 return -Pp()/Rho + hresid() + m_energy_offset;
15 double RedlichKwong::hresid()
17 double hh = m_b * (Rho/m_mw);
18 double hresid_mol_RT = z() - 1.0
19 - (1.5*m_a/(m_b*8314.3*T*sqrt(T)))*log(1.0 + hh);
20 return 8314.3*T*hresid_mol_RT/m_mw;
23 double RedlichKwong::sresid()
25 double hh = m_b * (Rho/m_mw);
26 double sresid_mol_R = log(z()*(1.0 - hh))
27 - (0.5*m_a/(m_b*8314.3*T*sqrt(T)))*log(1.0 + hh);
28 return 8314.3*sresid_mol_R/m_mw;
33 const double Pref = 101325.0;
34 double rgas = 8314.3/m_mw;
37 return rgas*(log(Pref/p)) + sr + m_entropy_offset;
40 double RedlichKwong::z()
42 return Pp()*m_mw/(Rho*8314.3*T);
45 double RedlichKwong::Pp()
49 return R*T/(V - m_b) - m_a/(sqrt(T)*V*(V+m_b));
54 double tt = m_tcrit/T;
55 double lpr = -0.8734*tt*tt - 3.4522*tt + 4.2918;
56 return m_pcrit*exp(lpr);
59 double RedlichKwong::ldens()
67 for (i = 0; i < 50; i++) {
68 c = m_b*m_b + m_b*GasConstant*T/pp - m_a/(pp*sqt);
69 vnew = (1.0/c)*(
v*
v*
v - GasConstant*T*
v*
v/pp - m_a*m_b/(pp*sqt));
double up()
Internal energy of a single-phase state.
double v()
Specific volume [m^3/kg].
double Psat()
Saturation pressure, Pa.
double sp()
Entropy of a single-phase state.