25 #define _CRTDBG_MAP_ALLOC
26 #define _CRT_SECURE_NO_WARNINGS
48 static const double n[]={0,
71 static const double d[]={0,
94 static const double t[]={0.00,
117 static const double cv[]={0,
141 static const double alpha[]={
142 0,0,0,0,0,0,0,0,0,0,0,0,0,
153 static const double beta[]={
154 0,0,0,0,0,0,0,0,0,0,0,0,0,
165 static const double GAMMA[]={
166 0,0,0,0,0,0,0,0,0,0,0,0,0,
177 static const double epsilon[]={
178 0,0,0,0,0,0,0,0,0,0,0,0,0,
200 params.molemass = 4.002602;
202 params.ptriple = 5.05513477113;
203 params.accentricfactor = -0.385 ;
207 rho0 = 124.95883288439697,
222 m = 1.7038767900158605-1.5/tau0;
230 c = 1.6384427034133615 - log(delta0)-m*tau0-1.5*log(tau0);
244 EOSReference.assign(
"Ortiz-Vega, D.O., Hall, K.R., Arp, V.D., and Lemmon, E.W.,"
245 "Interim equation to be published in Int. J. Thermophys., 2010."
246 "\n\nNote: Using the EOS constants from REFPROP by permission while awaiting Ortiz-Vega publication in JPCRD");
249 "\"Thermophysical Properties of Helium-4 from 0.8 to 1500 K with Pressures to 2000 MPa\", "
250 "NIST Technical Note 1334 (revised), 1998.\n\n"
251 "Thermal Conductivity: Hands, B.A. and Arp, V.D., "
252 "\"A Correlation of Thermal Conductivity Data for Helium,\" "
253 "Cryogenics, 21(12):697-703, 1981. \n\n"
254 "Warning: Critical enhancement of conductivity not included");
256 name.assign(
"Helium");
269 double eta_0,eta_0_slash, eta_E_slash, B,C,D,ln_eta,
x;
289 B = -47.5295259/x+87.6799309-42.0741589*x+8.33128289*x*x-0.589252385*x*x*
x;
290 C = 547.309267/x-904.870586+431.404928*x-81.4504854*x*x+5.37008433*x*x*
x;
291 D = -1684.39324/x+3331.08630-1632.19172*x+308.804413*x*x-20.2936367*x*x*
x;
292 eta_0_slash = -0.135311743/x+1.00347841+1.20654649*x-0.149564551*x*x+0.012520841*x*x*
x;
293 eta_E_slash = rho*B+rho*rho*C+rho*rho*rho*D;
297 ln_eta = eta_0_slash + eta_E_slash;
298 return exp(ln_eta)/10.0/1e6;
302 ln_eta = eta_0_slash + eta_E_slash;
303 eta_0 = 196*pow(T,0.71938)*exp(12.451/T-295.67/T/T-4.1249);
304 return (exp(ln_eta)+eta_0-exp(eta_0_slash))/10.0/1e6;
312 double rhoc = 68.0, lambda_e, lambda_c;
313 double summer = 3.739232544/T-2.620316969e1/T/T+5.982252246e1/T/T/T-4.926397634e1/T/T/T/T;
314 double lambda_0 = 2.7870034e-3*pow(T,7.034007057e-1)*exp(summer);
315 double c[]={ 1.862970530e-4,
327 lambda_e = (c[0]+c[1]*T+c[2]*pow(T,1/3.0)+c[3]*pow(T,2.0/3.0))*rho
328 +(c[4]+c[5]*pow(T,1.0/3.0)+c[6]*pow(T,2.0/3.0))*rho*rho*rho
329 +(c[7]+c[8]*pow(T,1.0/3.0)+c[9]*pow(T,2.0/3.0)+c[10]/T)*rho*rho*log(rho/rhoc);
332 return lambda_0+lambda_e+lambda_c;
336 const double ti[]={0,1.0,1.5,1.85,2.7};
337 const double ai[]={0,-0.399865e+01,0.870145e+00,0.171451e+00, 0.120927e+01};
342 summer=summer+ai[i]*pow(1-T/
reduce.
T,ti[i]);
348 const double ti[]={0, 1.17, 7.0, 15.0, 20.0};
349 const double ai[]={0, 0.140808e+01, -0.543843e+00, 0.177220e+01, -0.344056e+01};
354 summer += ai[i]*pow(pow(1.0-T/
reduce.
T,1.0/3.0),ti[i]);
360 const double ti[]={0,0.263, 1.04, 3.25, 8.5};
361 const double ai[]={0,-0.126074e+01, -0.363425e+01, -0.487998e+01, -0.130581e+02};
366 summer=summer+ai[i]*pow(1.0-T/
reduce.
T,ti[i]);
373 return 0.0004656*pow(1-T/
reduce.
T,1.04)+0.001889*pow(1-T/
reduce.
T,2.468)+-0.002006*pow(1-T/
reduce.
T,2.661);
std::vector< phi_BC * > phirlist
struct FluidLimits limits
std::string name
A container to hold the cache for residual Helmholtz derivatives.
virtual double viscosity_Trho(double, double)
std::string TransportReference
A std::string that contains a reference for thermo properties for the fluid.
double surface_tension_T(double T)
std::vector< std::string > aliases
The REFPROP-compliant name if REFPROP-"name" is not a compatible fluid name. If not included...
struct CriticalStruct reduce
A pointer to the point that is used to reduce the T and rho for EOS.
std::string EOSReference
The critical qd parameter for the Olchowy-Sengers cross-over term.
std::vector< double > x(ncmax, 0)
std::string SURFACE_TENSION
struct CriticalStruct crit
BibTeXKeysStruct BibTeXKeys
virtual double conductivity_Trho(double, double)
std::vector< phi_BC * > phi0list
A vector of instances of the phi_BC classes for the residual Helmholtz energy contribution.
This is the abstract base class upon which each residual Helmholtz energy class is built...