CoolProp
CoolPropFluid.h
1 /*
2  * CoolPropFluid.h
3  *
4  * Created on: 20 Dec 2013
5  * Author: jowr
6  */
7 
8 #ifndef COOLPROPFLUID_H_
9 #define COOLPROPFLUID_H_
10 
11 #include "DataStructures.h"
12 #include "Helmholtz.h"
13 #include "Solvers.h"
14 
15 #include <numeric>
16 #include <string>
17 #include <vector>
18 #include <map>
19 #include <cassert>
20 #include <iterator>
21 #include "Eigen/Core"
22 #include "PolyMath.h"
23 #include "Ancillaries.h"
24 
25 namespace CoolProp {
26 
28 {
29  std::string EOS,
30  CP0,
31  VISCOSITY,
32  CONDUCTIVITY,
33  ECS_LENNARD_JONES,
34  ECS_FITS,
35  SURFACE_TENSION;
36 };
37 
39 {
40  double GWP20, GWP100, GWP500, ODP, HH, PH, FH;
41  std::string ASHRAE34;
42 };
44  double T_min, T_max, rhomolar_min, rhomolar_max;
45  std::vector<double> cL, cV;
46  bool enabled;
47  CriticalRegionSplines() : T_min(_HUGE), T_max(_HUGE), rhomolar_min(_HUGE), rhomolar_max(_HUGE), enabled(false) {};
48 
49  const void get_densities(double T, double rho_min, double rho_crit, double rho_max, double &rhoL, double &rhoV) const
50  {
51  int Nsoln = -1, Ngood = 0;
52  double rho1 =0, rho2 = 0, rho3 = 0;
53 
54  // -----------
55  // Liquid part
56  // -----------
57  Ngood = 0;
58  solve_cubic(cL[0], cL[1], cL[2], cL[3]-T, Nsoln, rho1, rho2, rho3);
59  if (Nsoln == 1 && rho1 < rho_max && rho1 > rho_crit){
60  rhoL = rho1;
61  }
62  else{
63  if (rho1 < rho_max && rho1 > rho_crit){ Ngood++; rhoL = rho1; }
64  if (rho2 < rho_max && rho2 > rho_crit){ Ngood++; rhoL = rho2; }
65  if (Nsoln > 2 && rho3 < rho_max && rho3 > rho_crit){ Ngood++; rhoL = rho3; }
66  if (Ngood > 1){ throw ValueError(format("More than one liquid solution found for critical spline for T=%0.12g",T));};
67  if (Ngood < 1){ throw ValueError(format("No liquid solution found for critical spline for T=%0.12g",T));};
68  }
69 
70  // ----------
71  // Vapor part
72  // ----------
73  Ngood = 0; Nsoln = 0;
74  solve_cubic(cV[0], cV[1], cV[2], cV[3]-T, Nsoln, rho1, rho2, rho3);
75  if (Nsoln == 1 && rho1 > rho_min && rho1 < rho_crit){
76  rhoV = rho1;
77  }
78  else{
79  if (rho1 > rho_min && rho1 < rho_crit){ Ngood++; rhoV = rho1; }
80  if (rho2 > rho_min && rho2 < rho_crit){ Ngood++; rhoV = rho2; }
81  if (Nsoln > 2 && rho3 > rho_min && rho3 < rho_crit){ Ngood++; rhoV = rho3; }
82  if (Ngood > 1){ throw ValueError(format("More than one vapor solution found for critical spline for T=%0.12g",T));};
83  if (Ngood < 1){ throw ValueError(format("No vapor solution found for critical spline for T=%0.12g",T));};
84  }
85  };
86 };
87 
89 struct EOSLimits
90 {
91  double Tmin, Tmax, rhomax, pmax;
92 };
93 
95  std::string reference_fluid;
96  CoolPropDbl psi_rhomolar_reducing, f_int_T_reducing;
97  std::vector<CoolPropDbl> psi_a, psi_t, f_int_a, f_int_t;
98 };
99 
101  std::vector<CoolPropDbl> A, t;
102 };
103 
105  CoolPropDbl T_reducing, p_reducing;
106  std::vector<CoolPropDbl> A, B, n, m;
107 };
109 {
110  enum ConductivityDiluteEnum {CONDUCTIVITY_DILUTE_RATIO_POLYNOMIALS,
111  CONDUCTIVITY_DILUTE_ETA0_AND_POLY,
112  CONDUCTIVITY_DILUTE_CO2,
113  CONDUCTIVITY_DILUTE_ETHANE,
114  CONDUCTIVITY_DILUTE_NONE,
115  CONDUCTIVITY_DILUTE_NOT_SET
116  };
117  int type;
118  ConductivityDiluteRatioPolynomialsData ratio_polynomials;
119  ConductivityDiluteEta0AndPolyData eta0_and_poly;
120 
121  ConductivityDiluteVariables(){type = CONDUCTIVITY_DILUTE_NOT_SET;}
122 };
123 
125  CoolPropDbl T_reducing, rhomass_reducing;
126  std::vector<CoolPropDbl> A, t, d, gamma, l;
127 };
128 
130  CoolPropDbl T_reducing, rhomass_reducing;
131  std::vector<CoolPropDbl> B, t, d;
132 };
134 {
135  enum ConductivityResidualEnum {CONDUCTIVITY_RESIDUAL_POLYNOMIAL,
136  CONDUCTIVITY_RESIDUAL_POLYNOMIAL_AND_EXPONENTIAL,
137  CONDUCTIVITY_RESIDUAL_R123,
138  CONDUCTIVITY_RESIDUAL_CO2,
139  CONDUCTIVITY_RESIDUAL_NOT_SET
140  };
141  int type;
143  ConductivityResidualPolynomialAndExponentialData polynomial_and_exponential;
144 
145  ConductivityResidualVariables(){type = CONDUCTIVITY_RESIDUAL_NOT_SET;}
146 };
147 
149  CoolPropDbl k, R0, gamma, nu, GAMMA, zeta0, qD, T_reducing, p_reducing, T_ref;
151  // Universal constants - can still be adjusted if need be
152  k(1.3806488e-23), //[J/K]
153  R0(1.03), //[-]
154  gamma(1.239), //[-]
155  nu(0.63), //[-]
156  // Suggested default values - can be over-written
157  GAMMA(0.0496), //[-]
158  zeta0(1.94e-10), //[m]
159  qD(2e9), //[m]
160  // Set to invalid number, can be provided in the JSON file
161  // T_ref default is 1.5*Tc
162  T_reducing(_HUGE),p_reducing(_HUGE),T_ref(_HUGE){}
163 };
165 {
166  enum ConductivityResidualEnum {CONDUCTIVITY_CRITICAL_SIMPLIFIED_OLCHOWY_SENGERS,
167  CONDUCTIVITY_CRITICAL_R123,
168  CONDUCTIVITY_CRITICAL_AMMONIA,
169  CONDUCTIVITY_CRITICAL_NONE,
170  CONDUCTIVITY_CRITICAL_CARBONDIOXIDE_SCALABRIN_JPCRD_2006,
171  CONDUCTIVITY_CRITICAL_NOT_SET
172  };
173  int type;
175 
176  ConductivityCriticalVariables(){type = CONDUCTIVITY_CRITICAL_NOT_SET; }
177 };
178 
181 {
182  CoolPropDbl molar_mass, C;
183  std::vector<CoolPropDbl> a, t;
184 };
186 {
187  CoolPropDbl T_reducing,
188  C;
189  std::vector<CoolPropDbl> a, t;
190 };
192 {
193  std::vector<CoolPropDbl> a, t;
194 };
196 {
197  std::vector<CoolPropDbl> a, t;
198  CoolPropDbl T_reducing;
199 };
201 {
202  enum ViscosityDiluteType {VISCOSITY_DILUTE_COLLISION_INTEGRAL,
209  VISCOSITY_DILUTE_NOT_SET
210  };
211  ViscosityDiluteType type;
216  ViscosityDiluteVariables(){type = VISCOSITY_DILUTE_NOT_SET;}
217 };
218 
220 {
221  std::vector<CoolPropDbl> b, t;
222 };
224 {
225  std::vector<CoolPropDbl> n, d, t;
226  CoolPropDbl T_reducing, rhomolar_reducing;
227 };
228 
230 {
231  enum ViscosityInitialDensityEnum {VISCOSITY_INITIAL_DENSITY_RAINWATER_FRIEND,
233  VISCOSITY_INITIAL_DENSITY_NOT_SET
234  };
238  ViscosityInitialDensityVariables(){type = VISCOSITY_INITIAL_DENSITY_NOT_SET;}
239 };
240 
242 {
243  std::vector<CoolPropDbl> a,d1,d2,t1,t2,f,g,h,p,q,gamma, l;
244  CoolPropDbl T_reduce, rhomolar_reduce;
245 };
247 {
248  std::vector<CoolPropDbl> Aa, Aaa, Aaaa, Ar, Arr, Adrdr, Arrr, Ai, Aii, AdrAdr;
249  int Na, Naa, Naaa, Nr, Nrr, Nrrr, Nii;
250  CoolPropDbl c1, c2, T_reduce, rhomolar_reduce;
251 };
253 {
254  enum ViscosityHigherOrderEnum {VISCOSITY_HIGHER_ORDER_BATSCHINKI_HILDEBRAND,
262  VISCOSITY_HIGHER_ORDER_NOT_SET
263  };
267  ViscosityHigherOrderVariables(){type = VISCOSITY_HIGHER_ORDER_NOT_SET;};
268 };
269 
271  std::vector<double> c_liq, c_vap;
272  double C, x_crossover, rhosr_critical;
273 };
275  std::string reference_fluid;
276  CoolPropDbl psi_rhomolar_reducing;
277  std::vector<CoolPropDbl> psi_a, psi_t;
278 };
280  CoolPropDbl rhomolar_critical, acentric, T_critical, molar_mass, dipole_moment_D;
281 };
282 
284 {
285 public:
286  enum ViscosityHardcodedEnum {VISCOSITY_HARDCODED_WATER,
294  VISCOSITY_NOT_HARDCODED
295  };
302  CONDUCTIVITY_NOT_HARDCODED
303  };
304  ViscosityDiluteVariables viscosity_dilute;
305  ViscosityInitialDensityVariables viscosity_initial;
306  ViscosityHigherOrderVariables viscosity_higher_order;
307  ViscosityECSVariables viscosity_ecs;
308  ViscosityRhoSrVariables viscosity_rhosr;
309  ViscosityChungData viscosity_Chung;
310 
311  ConductivityDiluteVariables conductivity_dilute;
312  ConductivityResidualVariables conductivity_residual;
313  ConductivityCriticalVariables conductivity_critical;
314  ConductivityECSVariables conductivity_ecs;
315 
316  std::string BibTeX_viscosity,
317  BibTeX_conductivity;
324  CoolPropDbl sigma_eta,
325  epsilon_over_k;
328  TransportPropertyData():viscosity_using_ECS(false),
329  conductivity_using_ECS(false),
330  viscosity_using_Chung(false),
331  viscosity_using_rhosr(false),
332  viscosity_model_provided(false),
333  conductivity_model_provided(false),
334  sigma_eta(_HUGE),epsilon_over_k(_HUGE),
335  hardcoded_viscosity(VISCOSITY_NOT_HARDCODED),
336  hardcoded_conductivity(CONDUCTIVITY_NOT_HARDCODED){}
337 };
338 
340 {
341  SaturationAncillaryFunction pL, pV, rhoL, rhoV, hL, hLV, sL, sLV;
342  MeltingLineVariables melting_line;
343  SurfaceTensionCorrelation surface_tension;
344 };
345 
347 
355 public:
356  EquationOfState(){};
358  SimpleState reduce,
359  sat_min_liquid,
360  sat_min_vapor,
361  hs_anchor,
362  max_sat_T,
363  max_sat_p;
365  double R_u,
366  molar_mass,
367  acentric,
368  Ttriple,
369  ptriple;
370  bool pseudo_pure;
373  std::string BibTeX_EOS,
374  BibTeX_CP0;
376 
378  void validate()
379  {
380  assert(R_u < 9 && R_u > 8);
381  assert(molar_mass > 0.001 && molar_mass < 1);
382  };
383  CoolPropDbl baser(const CoolPropDbl &tau, const CoolPropDbl &delta)
384  {
385  return alphar.base(tau, delta);
386  };
387  // First partials
388  CoolPropDbl dalphar_dDelta(const CoolPropDbl &tau, const CoolPropDbl &delta)
389  {
390  return alphar.dDelta(tau, delta);
391  };
392  CoolPropDbl dalphar_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
393  {
394  return alphar.dTau(tau, delta);
395  };
396  // Second partials
397  CoolPropDbl d2alphar_dDelta2(const CoolPropDbl &tau, const CoolPropDbl &delta)
398  {
399  return alphar.dDelta2(tau, delta);
400  };
401  CoolPropDbl d2alphar_dDelta_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
402  {
403  return alphar.dDelta_dTau(tau, delta);
404  };
405  CoolPropDbl d2alphar_dTau2(const CoolPropDbl &tau, const CoolPropDbl &delta)
406  {
407  return alphar.dTau2(tau, delta);
408  };
409  // Third partials
410  CoolPropDbl d3alphar_dDelta3(const CoolPropDbl &tau, const CoolPropDbl &delta)
411  {
412  return alphar.dDelta3(tau, delta);
413  };
414  CoolPropDbl d3alphar_dDelta2_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
415  {
416  return alphar.dDelta2_dTau(tau, delta);
417  };
418  CoolPropDbl d3alphar_dDelta_dTau2(const CoolPropDbl &tau, const CoolPropDbl &delta)
419  {
420  return alphar.dDelta_dTau2(tau, delta);
421  };
422  CoolPropDbl d3alphar_dTau3(const CoolPropDbl &tau, const CoolPropDbl &delta)
423  {
424  return alphar.dTau3(tau, delta);
425  };
426 
427  CoolPropDbl base0(const CoolPropDbl &tau, const CoolPropDbl &delta)
428  {
429  return alpha0.base(tau, delta);
430  };
431  // First partials
432  CoolPropDbl dalpha0_dDelta(const CoolPropDbl &tau, const CoolPropDbl &delta)
433  {
434  return alpha0.dDelta(tau, delta);
435  };
436  CoolPropDbl dalpha0_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
437  {
438  return alpha0.dTau(tau, delta);
439  };
440  // Second partials
441  CoolPropDbl d2alpha0_dDelta2(const CoolPropDbl &tau, const CoolPropDbl &delta)
442  {
443  return alpha0.dDelta2(tau, delta);
444  };
445  CoolPropDbl d2alpha0_dDelta_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
446  {
447  return alpha0.dDelta_dTau(tau, delta);
448  };
449  CoolPropDbl d2alpha0_dTau2(const CoolPropDbl &tau, const CoolPropDbl &delta)
450  {
451  return alpha0.dTau2(tau, delta);
452  };
453  // Third partials
454  CoolPropDbl d3alpha0_dDelta3(const CoolPropDbl &tau, const CoolPropDbl &delta)
455  {
456  return alpha0.dDelta3(tau, delta);
457  };
458  CoolPropDbl d3alpha0_dDelta2_dTau(const CoolPropDbl &tau, const CoolPropDbl &delta)
459  {
460  return alpha0.dDelta2_dTau(tau, delta);
461  };
462  CoolPropDbl d3alpha0_dDelta_dTau2(const CoolPropDbl &tau, const CoolPropDbl &delta)
463  {
464  return alpha0.dDelta_dTau2(tau, delta);
465  };
466  CoolPropDbl d3alpha0_dTau3(const CoolPropDbl &tau, const CoolPropDbl &delta)
467  {
468  return alpha0.dTau3(tau, delta);
469  };
470 };
471 
473 
477  protected:
478  // Transport property data
479  std::string ECSReferenceFluid;
480  double ECS_qd;
481  public:
482  CoolPropFluid() :ECS_qd(-_HUGE) { this->ChemSpider_id = -1; };
483  ~CoolPropFluid(){};
484  const EquationOfState &EOS() const {return EOSVector[0];}
485  EquationOfState &EOS() {return EOSVector[0];}
486  std::vector<EquationOfState> EOSVector;
487 
488  std::string name;
489  std::string REFPROPname;
490  std::string CAS;
491  std::string formula;
492  std::vector <std::string> aliases;
493  std::string InChI;
494  std::string InChIKey;
495  std::string smiles;
497  std::string TwoDPNG_URL;
498 
502  TransportPropertyData transport;
503  SimpleState crit,
504  triple_liquid,
505  triple_vapor;
506 
507  double gas_constant(){ return EOS().R_u; };
508  double molar_mass(){ return EOS().molar_mass; };
509 };
510 
511 
512 } /* namespace CoolProp */
513 #endif /* COOLPROPFLUID_H_ */
Use TransportRoutines::viscosity_o_xylene_hardcoded.
Definition: CoolPropFluid.h:292
ViscosityDiluteType
Definition: CoolPropFluid.h:202
The core class for an equation of state.
Definition: CoolPropFluid.h:354
Definition: CoolPropFluid.h:195
bool viscosity_using_rhosr
A flag for whether to use rho*sr CS model of Bell. False for no.
Definition: CoolPropFluid.h:321
ViscosityInitialDensityEmpiricalData empirical
Data for TransportRoutines::viscosity_initial_density_dependence_empirical.
Definition: CoolPropFluid.h:237
SimpleState sat_min_vapor
The saturated vapor state at the minimum saturation temperature.
Definition: CoolPropFluid.h:357
Use TransportRoutines::viscosity_hexane_higher_order_hardcoded.
Definition: CoolPropFluid.h:256
Use TransportRoutines::viscosity_p_xylene_hardcoded.
Definition: CoolPropFluid.h:293
ConductivityHardcodedEnum hardcoded_conductivity
Hardcoded flags for the conductivity.
Definition: CoolPropFluid.h:327
Use TransportRoutines::viscosity_heptane_higher_order_hardcoded.
Definition: CoolPropFluid.h:257
Ancillaries ancillaries
The set of ancillary equations for dewpoint, bubblepoint, surface tension, etc.
Definition: CoolPropFluid.h:501
std::string REFPROPname
The REFPROP-compliant name if REFPROP-"name" is not a compatible fluid name. If not included...
Definition: CoolPropFluid.h:489
bool pseudo_pure
Is a pseudo-pure fluid (true) or pure fluid (false)
Definition: CoolPropFluid.h:370
Definition: CoolPropFluid.h:94
Variables for the dilute gas part.
Definition: CoolPropFluid.h:180
int ChemSpider_id
The ChemSpider identifier for the fluid.
Definition: CoolPropFluid.h:496
Use TransportRoutines::viscosity_m_xylene_hardcoded.
Definition: CoolPropFluid.h:291
Use TransportRoutines::conductivity_hardcoded_heavywater.
Definition: CoolPropFluid.h:298
A set of limits for the eos parameters.
Definition: CoolPropFluid.h:89
std::string ECSReferenceFluid
A string that gives the name of the fluids that should be used for the ECS method for transport prope...
Definition: CoolPropFluid.h:479
Use TransportRoutines::viscosity_benzene_higher_order_hardcoded.
Definition: CoolPropFluid.h:259
Definition: CoolPropFluid.h:100
This is generalized class that can be used to manage an ancillary curve, here they are ancillary curv...
Definition: Ancillaries.h:83
ViscosityDiluteCollisionIntegralPowersOfTstarData collision_integral_powers_of_Tstar
Data for TransportRoutines::viscosity_dilute_collision_integral_powers_of_T.
Definition: CoolPropFluid.h:213
ViscosityModifiedBatschinskiHildebrandData modified_Batschinski_Hildebrand
Data for TransportRoutines::viscosity_higher_order_modified_Batschinski_Hildebrand.
Definition: CoolPropFluid.h:265
EOSLimits limits
Limits on the EOS.
Definition: CoolPropFluid.h:364
Definition: CoolPropFluid.h:223
ViscosityRainWaterFriendData rainwater_friend
Data for TransportRoutines::viscosity_initial_density_dependence_Rainwater_Friend.
Definition: CoolPropFluid.h:236
The surface tension correlation class uses correlations for the surface tension that are all of the f...
Definition: Ancillaries.h:24
Use TransportRoutines::viscosity_initial_density_dependence_empirical.
Definition: CoolPropFluid.h:232
std::vector< EquationOfState > EOSVector
The equations of state that could be used for this fluid.
Definition: CoolPropFluid.h:486
Definition: CoolPropFluid.h:43
ConductivityHardcodedEnum
Definition: CoolPropFluid.h:296
Use TransportRoutines::conductivity_hardcoded_methane.
Definition: CoolPropFluid.h:301
bool conductivity_model_provided
A flag for whether thermal conductivity model is provided. False for no.
Definition: CoolPropFluid.h:323
Use TransportRoutines::viscosity_dilute_powers_of_T.
Definition: CoolPropFluid.h:207
Definition: Ancillaries.h:205
std::string formula
The chemical formula, in LaTeX form.
Definition: CoolPropFluid.h:491
A thermophysical property provider for critical and reducing values as well as derivatives of Helmhol...
Definition: CoolPropFluid.h:476
std::string BibTeX_EOS
The bibtex key for the equation of state.
Definition: CoolPropFluid.h:373
Term in the ideal-gas specific heat equation that is based on Aly-Lee formulation ** Specific heat is...
Definition: Helmholtz.h:1149
CriticalRegionSplines critical_region_splines
A cubic spline in the form T = f(rho) for saturated liquid and saturated vapor curves in the near-cri...
Definition: CoolPropFluid.h:375
double Ttriple
Triple point temperature (K)
Definition: CoolPropFluid.h:365
std::vector< std::string > aliases
A vector of aliases of names for the fluid.
Definition: CoolPropFluid.h:492
Definition: CoolPropFluid.h:191
Definition: CoolPropFluid.h:129
Definition: CoolPropFluid.h:270
ViscosityFrictionTheoryData friction_theory
Data for TransportRoutines::viscosity_higher_order_friction_theory.
Definition: CoolPropFluid.h:266
Use TransportRoutines::viscosity_hydrogen_higher_order_hardcoded.
Definition: CoolPropFluid.h:255
const EquationOfState & EOS() const
Get a reference to the equation of state.
Definition: CoolPropFluid.h:484
Use TransportRoutines::viscosity_dilute_kinetic_theory.
Definition: CoolPropFluid.h:204
Definition: Exceptions.h:26
Definition: CoolPropFluid.h:246
CoolPropDbl sigma_eta
The Lennard-Jones 12-6 parameter.
Definition: CoolPropFluid.h:324
Definition: CoolPropFluid.h:219
Definition: CoolPropFluid.h:279
Use TransportRoutines::viscosity_higher_order_friction_theory.
Definition: CoolPropFluid.h:261
Definition: CoolPropFluid.h:108
Definition: CoolPropFluid.h:164
Definition: CoolPropFluid.h:283
Use TransportRoutines::viscosity_dilute_powers_of_Tr.
Definition: CoolPropFluid.h:208
std::string CAS
The CAS number of the fluid.
Definition: CoolPropFluid.h:490
std::string name
The name of the fluid.
Definition: CoolPropFluid.h:488
std::string InChI
The InChI string for the fluid.
Definition: CoolPropFluid.h:493
BibTeXKeysStruct BibTeXKeys
The BibTeX keys associated.
Definition: CoolPropFluid.h:499
std::string smiles
The SMILES identifier for the fluid.
Definition: CoolPropFluid.h:495
SimpleState triple_vapor
The saturated vapor state at the triple point temperature.
Definition: CoolPropFluid.h:503
Use TransportRoutines::viscosity_ethane_higher_order_hardcoded.
Definition: CoolPropFluid.h:258
Definition: CoolPropFluid.h:274
std::string InChIKey
The InChI key for the fluid.
Definition: CoolPropFluid.h:494
Definition: Helmholtz.h:692
Use TransportRoutines::viscosity_dilute_ethane.
Definition: CoolPropFluid.h:205
Use TransportRoutines::conductivity_hardcoded_helium.
Definition: CoolPropFluid.h:300
Use TransportRoutines::viscosity_toluene_higher_order_hardcoded.
Definition: CoolPropFluid.h:260
Definition: CoolPropFluid.h:27
std::string BibTeX_viscosity
The BibTeX key for the viscosity model.
Definition: CoolPropFluid.h:316
ViscosityHardcodedEnum
Definition: CoolPropFluid.h:286
bool viscosity_model_provided
A flag for whether viscosity model is provided. False for no.
Definition: CoolPropFluid.h:322
std::string TwoDPNG_URL
The URL to a 2D representation of the molecule (from ChemSpider)
Definition: CoolPropFluid.h:497
ViscosityDiluteGasPowersOfTr powers_of_Tr
Data for TransportRoutines::viscosity_dilute_powers_of_Tr.
Definition: CoolPropFluid.h:215
Use TransportRoutines::viscosity_R23_hardcoded.
Definition: CoolPropFluid.h:289
bool viscosity_using_ECS
A flag for whether to use extended corresponding states for viscosity. False for no.
Definition: CoolPropFluid.h:318
EnvironmentalFactorsStruct environment
The environmental variables for global warming potential, ODP, etc.
Definition: CoolPropFluid.h:500
EquationOfState & EOS()
Get a reference to the equation of state.
Definition: CoolPropFluid.h:485
Definition: CoolPropFluid.h:200
Definition: CoolPropFluid.h:38
ViscosityHigherOrderEnum
Definition: CoolPropFluid.h:254
Use TransportRoutines::viscosity_helium_hardcoded.
Definition: CoolPropFluid.h:288
Definition: CoolPropFluid.h:229
CoolPropDbl T_reducing
Reducing temperature [K[.
Definition: CoolPropFluid.h:187
Definition: CoolPropFluid.h:252
ViscosityDiluteGasPowersOfT powers_of_T
Data for TransportRoutines::viscosity_dilute_powers_of_T.
Definition: CoolPropFluid.h:214
IdealHelmholtzContainer alpha0
The ideal Helmholtz energy.
Definition: CoolPropFluid.h:372
Use TransportRoutines::conductivity_hardcoded_water.
Definition: CoolPropFluid.h:297
Use TransportRoutines::viscosity_heavywater_hardcoded.
Definition: CoolPropFluid.h:287
ViscosityInitialDensityEnum
Definition: CoolPropFluid.h:231
double ECS_qd
The critical qd parameter for the Olchowy-Sengers cross-over term.
Definition: CoolPropFluid.h:480
Use TransportRoutines::conductivity_hardcoded_R23.
Definition: CoolPropFluid.h:299
This file contains flash routines in which the state is unknown, and a solver of some kind must be us...
Definition: AbstractState.h:19
Definition: CoolPropFluid.h:133
Use TransportRoutines::viscosity_dilute_collision_integral_powers_of_T.
Definition: CoolPropFluid.h:203
bool conductivity_using_ECS
A flag for whether to use extended corresponding states for conductivity. False for no...
Definition: CoolPropFluid.h:319
bool viscosity_using_Chung
A flag for whether to use Chung model. False for no.
Definition: CoolPropFluid.h:320
ViscosityHardcodedEnum hardcoded_viscosity
Hardcoded flags for the viscosity.
Definition: CoolPropFluid.h:326
ResidualHelmholtzContainer alphar
The residual Helmholtz energy.
Definition: CoolPropFluid.h:371
Use TransportRoutines::viscosity_dilute_cyclohexane.
Definition: CoolPropFluid.h:206
void validate()
Validate the EOS that was just constructed.
Definition: CoolPropFluid.h:378
Definition: CoolPropFluid.h:339
Use TransportRoutines::viscosity_methanol_hardcoded.
Definition: CoolPropFluid.h:290
ViscosityDiluteGasCollisionIntegralData collision_integral
Data for TransportRoutines::viscosity_dilute_collision_integral.
Definition: CoolPropFluid.h:212
Definition: DataStructures.h:16