18 const double a134[] = {
42 const double t134[] = {
43 -0.5, 0.0, 0.0, 0.0, 1.5, 1.5, 2.0, 2.0, 1.0, 3.0, 5.0,
44 1.0, 5.0, 5.0, 6.0, 10.0, 10.0, 10.0, 18.0, 22.0, 50.0
48 2, 1, 3, 6, 6, 1, 1, 2, 5, 2, 2,
49 4, 1, 4, 1, 2, 4, 1, 5, 3, 10
52 const double b134[] = {
62 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
63 sum4 = 0.0, sum5 = 0.0;
65 double delta = Rho/Roc;
67 double phi0 = b134[0] + b134[1]*tau + b134[2]*log(tau)
68 + log(delta) + b134[3]/sqrt(tau) + b134[4]*pow(tau,-0.75);
70 for (i = 0; i<8; i++) {
71 sum1 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
73 for (i = 8; i<11; i++) {
74 sum2 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
76 for (i = 11; i<17; i++) {
77 sum3 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
79 for (i = 17; i<20; i++) {
80 sum4 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
82 sum5 = a134[20]*pow(tau,t134[20])*pow(delta,d134[20]);
83 double phir = sum1 + exp(-delta)*sum2 + exp(-delta*delta)*sum3
84 + exp(-delta*delta*delta)*sum4
85 + exp(-delta*delta*delta*delta)*sum5;
86 return R*T*(phir + phi0);
91 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
92 sum4 = 0.0, sum5 = 0.0;
94 double delta = Rho/Roc;
96 double phi0t = b134[1]*tau + b134[2]
97 - 0.5*b134[3]*pow(tau,-0.5) - 0.75*b134[4]*pow(tau,-0.75);
99 for (i = 0; i<8; i++) {
100 sum1 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
102 for (i = 8; i<11; i++) {
103 sum2 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
105 for (i = 11; i<17; i++) {
106 sum3 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
108 for (i = 17; i<20; i++) {
109 sum4 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
111 sum5 = a134[20]*t134[20]*pow(tau,t134[20])*pow(delta,d134[20]);
112 double phirt = sum1 + exp(-delta)*sum2 + exp(-delta*delta)*sum3
113 + exp(-delta*delta*delta)*sum4
114 + exp(-delta*delta*delta*delta)*sum5;
115 return R*T*(phirt + phi0t) + m_energy_offset;
120 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
121 sum4 = 0.0, sum5 = 0.0;
123 double delta = Rho/Roc;
125 double phi0d = 1.0/delta;
128 for (i = 0; i<8; i++) {
129 sum1 += a134[i]*pow(tau,t134[i])*d134[i]*pow(delta,d134[i]-1);
131 for (i = 8; i<11; i++) {
132 sum2 += a134[i]*pow(tau,t134[i])*(d134[i] - delta)*pow(delta,d134[i]-1);
135 double dk = delta*delta;
136 for (i = 11; i<17; i++) {
137 sum3 += a134[i]*pow(tau,t134[i])*(d134[i] - 2.0*dk)*pow(delta,d134[i]-1);
141 for (i = 17; i<20; i++) {
142 sum4 += a134[i]*pow(tau,t134[i])*(d134[i] - 3.0*dk)*pow(delta,d134[i]-1);
146 sum5 = a134[20]*pow(tau,t134[20])*(d134[20] - 4.0*dk)*pow(delta,d134[20]-1);
148 double phird = sum1 + sum2 + sum3 + sum4 + sum5;
149 return R*T*delta*delta*Roc*(phird + phi0d);
153 double HFC134a::Psat()
155 if ((T < Tmn) || (T > Tc)) {
159 double x2 = 1.0 - x1;
160 double f = -7.686556*x2 + 2.311791*pow(x2,1.5)
161 - 2.039554*x2*x2 - 3.583758*pow(x2,4);
178 double HFC134a::ldens()
180 if ((T < Tmn) || (T > Tc)) {
184 double x2 = 1.0 - x1;
185 return 518.2 + 884.13*pow(x2,1.0/3.0) + 485.84*pow(x2,2.0/3.0)
186 + 193.29*pow(x2,10.0/3.0);
189 double HFC134a::Tcrit()
193 double HFC134a::Pcrit()
197 double HFC134a::Vcrit()
201 double HFC134a::Tmin()
205 double HFC134a::Tmax()
209 char* HFC134a::name()
211 return (
char*) m_name.c_str();
213 char* HFC134a::formula()
215 return (
char*) m_formula.c_str();
217 double HFC134a::MolWt()