23const double a134[] = {
47const double t134[] = {
48 -0.5, 0.0, 0.0, 0.0, 1.5, 1.5, 2.0, 2.0, 1.0, 3.0, 5.0,
49 1.0, 5.0, 5.0, 6.0, 10.0, 10.0, 10.0, 18.0, 22.0, 50.0
53 2, 1, 3, 6, 6, 1, 1, 2, 5, 2, 2,
54 4, 1, 4, 1, 2, 4, 1, 5, 3, 10
57const double b134[] = {
67 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
68 sum4 = 0.0, sum5 = 0.0;
70 double delta = Rho/Roc;
72 double phi0 = b134[0] + b134[1]*tau + b134[2]*log(tau)
73 + log(delta) + b134[3]/sqrt(tau) + b134[4]*pow(tau,-0.75);
75 for (i = 0; i<8; i++) {
76 sum1 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
78 for (i = 8; i<11; i++) {
79 sum2 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
81 for (i = 11; i<17; i++) {
82 sum3 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
84 for (i = 17; i<20; i++) {
85 sum4 += a134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
87 sum5 = a134[20]*pow(tau,t134[20])*pow(delta,d134[20]);
88 double phir = sum1 + exp(-delta)*sum2 + exp(-delta*delta)*sum3
89 + exp(-delta*delta*delta)*sum4
90 + exp(-delta*delta*delta*delta)*sum5;
91 return R*T*(phir + phi0);
96 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
97 sum4 = 0.0, sum5 = 0.0;
99 double delta = Rho/Roc;
101 double phi0t = b134[1]*tau + b134[2]
102 - 0.5*b134[3]*pow(tau,-0.5) - 0.75*b134[4]*pow(tau,-0.75);
104 for (i = 0; i<8; i++) {
105 sum1 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
107 for (i = 8; i<11; i++) {
108 sum2 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
110 for (i = 11; i<17; i++) {
111 sum3 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
113 for (i = 17; i<20; i++) {
114 sum4 += a134[i]*t134[i]*pow(tau,t134[i])*pow(delta,d134[i]);
116 sum5 = a134[20]*t134[20]*pow(tau,t134[20])*pow(delta,d134[20]);
117 double phirt = sum1 + exp(-delta)*sum2 + exp(-delta*delta)*sum3
118 + exp(-delta*delta*delta)*sum4
119 + exp(-delta*delta*delta*delta)*sum5;
120 return R*T*(phirt + phi0t) + m_energy_offset;
125 double sum1 = 0.0, sum2 = 0.0, sum3 = 0.0,
126 sum4 = 0.0, sum5 = 0.0;
128 double delta = Rho/Roc;
129 double phi0d = 1.0/delta;
132 for (i = 0; i<8; i++) {
133 sum1 += a134[i]*pow(tau,t134[i])*d134[i]*pow(delta,d134[i]-1);
135 for (i = 8; i<11; i++) {
136 sum2 += a134[i]*pow(tau,t134[i])*(d134[i] - delta)*pow(delta,d134[i]-1);
139 double dk = delta*delta;
140 for (i = 11; i<17; i++) {
141 sum3 += a134[i]*pow(tau,t134[i])*(d134[i] - 2.0*dk)*pow(delta,d134[i]-1);
145 for (i = 17; i<20; i++) {
146 sum4 += a134[i]*pow(tau,t134[i])*(d134[i] - 3.0*dk)*pow(delta,d134[i]-1);
150 sum5 = a134[20]*pow(tau,t134[20])*(d134[20] - 4.0*dk)*pow(delta,d134[20]-1);
152 double phird = sum1 + sum2 + sum3 + sum4 + sum5;
153 return R*T*delta*delta*Roc*(phird + phi0d);
158 if ((T < Tmn) || (T > Tc)) {
160 "Temperature out of range. T = {}", T);
163 double x2 = 1.0 - x1;
164 double f = -7.686556*x2 + 2.311791*pow(x2,1.5)
165 - 2.039554*x2*x2 - 3.583758*pow(x2,4);
169double HFC134a::ldens()
171 if ((T < Tmn) || (T > Tc)) {
173 "Temperature out of range. T = {}", T);
176 double x2 = 1.0 - x1;
177 return 518.2 + 884.13*pow(x2,1.0/3.0) + 485.84*pow(x2,2.0/3.0)
178 + 193.29*pow(x2,10.0/3.0);
Base class for exceptions thrown by Cantera classes.
double Vcrit()
Critical specific volume [m^3/kg].
double Tmax()
Maximum temperature for which the equation of state is valid.
double Tmin()
Minimum temperature for which the equation of state is valid.
double MolWt()
Molecular weight [kg/kmol].
double Tcrit()
Critical temperature [K].
double Pcrit()
Critical pressure [Pa].
double Psat()
Saturation pressure, Pa.
double up()
Internal energy of a single-phase state.
double f()
Helmholtz function [J/kg].
Namespace for the Cantera kernel.
Contains declarations for string manipulation functions within Cantera.