6 #define _CRTDBG_MAP_ALLOC
7 #define _CRT_SECURE_NO_WARNINGS
24 static const double n[]={0,4.434245E-02, 1.646369E+00, -2.437488E+00, -5.170560E-01, 1.815626E-01, -1.210104E+00, -5.944653E-01, 7.521992E-01, -6.747216E-01, -2.448183E-02, 1.379434E+00, -4.697024E-01, -2.036158E-01, -8.407447E-02, 5.109529E-04};
27 static const double d[]={0,
45 static const double t[]={0.00, 1.00,0.31,0.923,1.06,0.44,2.08,2.32,1.25,2.0,1.0,0.93,1.93,2.69,1.0,2.0};
48 static const double c[]={0,
61 static const double eta[]={
62 0,0,0,0,0,0,0,0,0,0,0,
72 static const double beta[]={
73 0,0,0,0,0,0,0,0,0,0,0,
81 static const double GAMMA[]={
82 0,0,0,0,0,0,0,0,0,0,0,
91 static const double epsilon[]={
92 0,0,0,0,0,0,0,0,0,0,0,
101 static const double a0[] = {0.0,6.259,7.303,8.597,2.333};
102 static const double b0[] = {0.0,0.0,691/382.52,1705/382.520,4216/382.52};
110 std::vector<double> a0_v(a0,a0+
sizeof(a0)/
sizeof(
double));
111 std::vector<double> b0_v(b0,b0+
sizeof(b0)/
sizeof(
double));
121 params.molemass = 114.0415928;
124 params.accentricfactor = 0.313;
133 EOSReference.assign(
"Mark O. McLinden, Monika Thol, Eric W. Lemmon, \"Thermodynamic Properties of trans-1,3,3,3-tetrafluoropropene [R1234ze(E)]: Measurements of Density and Vapor Pressure and a Comprehensive Equation of State\", International Refrigeration and Air Conditioning Conference at Purdue, July 12-15, 2010");
137 name.assign(
"R1234ze(E)");
140 aliases.push_back(std::string(
"R1234ZE(E)"));
149 const double ti[]={0, 0.3333333333333333, 0.39799999999999996, 0.38149999999999995, 1.1666666666666667, 2.5, 2.8333333333333335};
150 const double Ni[]={0, -8.3421563693432379, -40.706881720081284, 47.898700907115519, -6.9428753841743065, 12.088882106622243, -14.335385281674474};
151 double summer=0,theta;
156 summer += Ni[i]*pow(theta,ti[i]);
163 const double ti[]={0,0.31509633757947603, 0.79111656912859174, 3.881097108987535, 7.7729566850460978, 2.6317441930191796};
164 const double Ni[]={0,1.5412884996474399, -0.31992997858318134, -0.38423837781818643, 0.56607079429270613, 0.35255364714584947};
171 summer+=Ni[i]*pow(theta,ti[i]);
178 const double ti[]={0,0.36034291391608658, 1.0029495942911635, 1.5238381484239822, 1.4251613173826694, 3.9498036504642666};
179 const double Ni[]={0,-2.4332814409795982, -6.2539235529221004, -13.867477028090253, 16.426306950344401, -4.6886505464050012};
180 double summer=0,theta;
185 summer=summer+Ni[i]*pow(theta,ti[i]);
193 double A[] = {-0.0103589, 0.0308929, 0.000230348};
194 double B1[] = {0, -0.0428296, 0.0927099, -0.0702107, 0.0249708, -0.00301838};
195 double B2[] = {0, 0.0434288, -0.0605844, 0.0440187, -0.0155082, 0.00210190};
199 for (
int i = 1; i <= 5; i++)
203 double lambda_r = sumresid;
207 return (lambda_0+lambda_r+lambda_c);
224 double n[] = {0, 0.77652368e01, -0.87025756e01, -0.28352251e00, 0.14534501e00, 0.92092105e-02, -0.24997382e00, 0.96674360e-01, 0.24685924e-01, -0.13255083e-01, -0.64231330e-01, 0.36638206e00, -0.25548847e00, -0.95592361e-01, 0.86271444e-01, 0.15997412e-01, -0.13127234e-01, 0.42293990e-02};
225 double t[] = {0, 0.685, 0.8494, 1.87, 2., 0.142, 4.2, 0.08, 0.0, 1.1, 5.5, 6.6, 8.4, 7.2, 7.6, 8.5, 23.0, 18.};
226 double d[] = {0, 1, 1, 1, 2, 5, 1, 3, 5, 7, 1, 2, 2, 3, 4, 2, 3, 5};
227 double l[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3};
232 double t0[] = {0.0,0,1,2,3};
233 double c0[] = {0.0,-1.6994, 24.527/423.27, -9.9249/423.27/423.27, 1.5158/423.27/423.27/423.27};
234 std::vector<double> t0_v(t0,t0+
sizeof(t0)/
sizeof(
double));
235 std::vector<double> c0_v(c0,c0+
sizeof(c0)/
sizeof(
double));
255 params.molemass = 114.0415928;
258 params.accentricfactor = 0.3274;
267 name.assign(
"R1234ze(Z)");
268 aliases.push_back(
"R1234ZE(Z)");
276 const double t[]={0, 0.3675, 0.378, 0.8333333333333334, 1.1666666666666667, 3.5, 7.5};
277 const double N[]={0, -3.4204004387395877, 3.7549450936800288, -4.2137431456192225, -3.0120279217374324, -2.6348957942753826, -6.8247581635654191};
278 double summer=0,theta;
280 for (
int i=1; i<=6; i++)
282 summer += N[i]*pow(theta,t[i]);
290 const double t[] = {0, 0.16666666666666666, 0.3333333333333333, 0.5, 0.6666666666666666, 0.8333333333333334, 1.1666666666666667, 1.3333333333333333, 1.5};
291 const double N[] = {0, 0.67225813646270216, -11.145228554195773, 77.35643204523889, -213.21240955222734, 262.97937232802644, -360.33055287979818, 362.6944623022427, -116.36985864325474};
292 double summer=0,theta;
294 for (
int i=1; i<=8; i++)
296 summer += N[i]*pow(theta,t[i]);
304 const double t[] = {0, 0.5, 0.6666666666666666, 0.8333333333333334, 1.0, 1.1666666666666667, 1.3333333333333333, 1.6666666666666667, 1.8333333333333333};
305 const double N[] = {0, 20.724125232917633, -334.7988571883364, 1630.4602570459422, -4085.9839380536523, 5626.8672277784344, -3717.4680060891073, 1458.3036712606865, -607.34248139716851};
306 double summer=0,theta;
308 for (
int i=1; i<=8; i++)
310 summer += N[i]*pow(theta,t[i]);
std::vector< phi_BC * > phirlist
struct FluidLimits limits
std::string name
A container to hold the cache for residual Helmholtz derivatives.
std::string TransportReference
A std::string that contains a reference for thermo properties for the fluid.
double conductivity_critical(double T, double rho, double qd=2e9, double GAMMA=0.0496, double zeta0=1.94e-10)
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.
struct CriticalStruct * preduce
std::string EOSReference
The critical qd parameter for the Olchowy-Sengers cross-over term.
std::string REFPROPname
The name of the fluid.
struct CriticalStruct crit
BibTeXKeysStruct BibTeXKeys
Term in the ideal-gas specific heat equation that is polynomial term.
std::vector< phi_BC * > phi0list
A vector of instances of the phi_BC classes for the residual Helmholtz energy contribution.
double conductivity_Trho(double T, double rho)