4.3.1 fugaCity CoeffiCientSof pure SpeCieS
The fugacity of a pure component, f, is defined as f = fP
The fugacity coefficient ϕ is determined first followed by multiplication with pressure to give f.
4.3.1.1 Fugacity Coefficient from the Virial Equation of State
The second virial coefficient is a function of temperature only for a pure species. At low to moderate pressure, the virial equation of state truncated after the second virial coefficient can be used:
lnf =RTBP =TPr
(
B +wB)
r
0 1
4.3.1.2 Fugacity Coefficient from the van der Waals Equation of State By using the van der Waals equation of state, we have
lnf = - -ln æ - èç ö
ø÷ ìí
î
üý þ-
Z Z b
V
a
1 1 RTV
4.3.1.3 Fugacity Coefficient from the Redlich–Kwong Equation of State
The Redlich–Kwong equation of state provides the following description for the fugacity coefficient:
lnf = - -ln æ - ln èç ö
ø÷ ìí
î
üý
þ- æ +
èç ö ø÷
Z Z b
V
a bRT
b
1 1 1 V
4.3.1.4 Fugacity Coefficient from the Soave–Redlich–Kwong and Peng–Robinson Equations of State
For hydrocarbons and simple gases, the Soave–Redlich–Kwong equation and the Peng–Robinson equation provide a more accurate description:
lnf ln ln
s
= - -
(
-)
-( )
s(
-)
éëê ++ ùZ Z B a T ûú
bRT
Z B
Z B
1 ε ε
where B = bP/RT and σ and εare the parameters of the equation of state.6 TABLE 4.7
Estimated Enthalpy and Z by Different Equations of State
Equation of State Compressibility Factor Enthalpy
RK 0.0276950 −18,474.5
SRK 0.0276512 −10,664.5
PR 0.0245126 −12,089.2
4.3.1.5 Fugacity Coefficient from Experimental Data
When sufficient experimental data on the compressibility factor (Z) and pressure (P) are available, the fugacity coefficient can be obtained from the numerical integration:
lnf = -
ò
0 P 1 ZP dP
The MATLAB function phigas estimates the fugacity coefficient using the virial and cubic equa- tions of state. The basic syntax is
[phig f] = phigas(state,eos,T,P,Tc,Pc,w)
where state denotes the state of the fluid (liquid: L, vapor: V); eos is the equation of state being used (VR, VDW, RK, SRK, PR); T and P are the temperature (K) and pressure (bar), respectively; Tc and Pc are the critical temperature (K) and pressure (bar), respectively; w is the acentric factor; phig is the fugacity factor; f is the fugacity (bar).
function [phig f] = phigas(state,eos,T,P,Tc,Pc,w)
% Estimates the fugacity coefficient using the virial and cubic EOS.
% input
% state: fluid state('L': liquid, 'V': vapor)
% eos: equation of state (VR, VDW, RK, SRK, PR)
% P,T: pressure(bar) and temperature(K)
% Tc,Pc: critical T(K) and P(bar)
% w: acentric factor
% output:
% phig: fugacity coefficient
% f: fugacity (bar)
% Tr and Pr (reduced T and P)
Tr = T/Tc; Pr = P/Pc; R = 83.14; % cm^3*bar/mol/K
% Set parameters.
eos = upper(eos);
switch eos case 'VDW'
al = 1; sm = 0; ep = 0; om = 0.125; ps = 0.42188; kappa = 0;
case 'RK'
al = 1./sqrt(Tr); sm = 1; ep = 0; om = 0.08664; ps = 0.42748;
case 'SRK'
kappa = 0.480 + 1.574*w - 0.176*w^2;
al = (1 + kappa*(1-sqrt(Tr))).^2;
sm = 1; ep = 0; om = 0.08664; ps = 0.42748;
otherwise % PR or VR
kappa = 0.37464 + 1.54226*w - 0.26992*w^2;
al = (1 + kappa*(1-sqrt(Tr))).^2;
sm = 1+sqrt(2); ep = 1-sqrt(2); om = 0.0778; ps = 0.45724;
end
% compressibility factor (Z) state = upper(state);
beta = om*Pr./Tr; q = ps*al./(om*Tr); % beta and q if strcmp(eos,'VR') % virial EOS: vapor phase
B0 = 0.083 - 0.422./(Tr.^1.6); B1 = 0.139 - 0.172./(Tr.^4.2);
B = R*Tc.*(B0 + w.*B1)./Pc;
Z = 1 + B.*P./(R*T);
else
fV = @(Z) 1+beta-q*beta.*(Z-beta)./((Z+ep*beta).*(Z+sm*beta)) - Z;
fL = @(Z) beta+(Z+ep*beta).*(Z+sm*beta).*(1+beta-Z)./(q.*beta) - Z;
switch state case 'V'
Z = fzero(fV, 1);
case 'L'
Z = fzero(fL, beta);
end end
V = Z*R*T/P; % cm^3/mol
% fugacity coefficient
a = ps*al*R^2*Tc.^2/Pc; b = om*R*Tc./Pc; % a, b qi = a/(b*R*T); Bd = b*P/(R*T); % A, B
if strcmp(eos,'VR') % virial EOS: vapor phase phig = exp(Pr*(B0 + w*B1)./Tr);
elseif strcmp(eos,'VDW')
phig = exp(Z - 1 - log(Z.*(1 - b/V)) - a./(R*T*V));
elseif strcmp(eos,'RK')
phig = exp(Z-1 - log(Z.*(1 - b/V)) - (a/(b*R*T)) * log(1+b/V));
else % SRK or PR
phig = exp(Z-1 - log(Z-Bd) - (qi/(sm-ep))*...
log((Z + sm*Bd)/(Z + ep*Bd)));
end
f = phig*P; % fugacity (bar) end
Example 4.8: Fugacity for Acetylene Gas16
Find the fugacity for acetylene at 250 K and 10 bar. For acetylene, Tc = 308.3 K, Pc = 6.139 MPa (=61.39 bar), and w = 0.187.
Solution
Using the Soave–Redlich–Kwong (SRK) equation, we obtain the following results:
>> Tc = 308.3; Pc = 61.39; w = 0.187; T = 250; P = 10; eos = 'srk'; state = 'v';
>> [phig f] = phigas(state,eos,T,P,Tc,Pc,w) phig =
0.8956 f = 8.9559
Table 4.8 shows results obtained using the virial and cubic equations of state.
TABLE 4.8
Estimated Fugacities and Fugacity Coefficients
Equation of State VR VDW RK SRK PR
Fugacity coefficient 0.8938 0.9208 0.9007 0.8956 0.8889 Fugacity (bar) 8.9383 9.2075 9.0071 8.9559 8.8893
4.3.2 fugaCity CoeffiCientofa SpeCieSina Mixture
The fugacity coefficient of species i in a mixture, ˆfi, is defined as
ˆ ˆ
fi i i
f
= y P
4.3.2.1 Fugacity Coefficient from the Virial Equation of State
From the virial equation of state, the fugacity coefficient of component i in a mixture, fˆi= ˆf y Pi/ i , is given by17
lnf ,
i
j j ji
k j
k j kj
P
RT y B B B y y B
= æ -
è çç
ö ø
÷÷ =
å åå
2
For a binary mixture, we have
lnf1= RTP
(
2y B1 11+2y B2 12-B)
, lnf2= RTP(
2y B1 12+2y B2 22-B)
4.3.2.2 Fugacity Coefficient from the Cubic Equations of State For the i component in a mixture, let
a T T R T
P b RT
P
b P
RT q a T
i b RT
ri ci
ci
i ci
ci
i i
i i
( )
=Ya( )
2 2, =W , b = , = i( )
and use the mixing rule to obtain the parameters a and b. The fugacity coefficient of component i in a mixture is expressed as18
lnf ln b
i i
i
b
b Z Z q I
=
(
-1)
-(
-)
-where
I Z
Z q a
bRT q q a
a b
b a na
i i i
= i
-
+ + æ
èç ö
ø÷ = = æ + -
èç ö
ø÷ = ¶
( )
1 1
s
sb
ε ln εb , , ,
¶¶ni T n, j
If we use the Peng–Robinson equation, the equation for lnf
i is written as
lnf ln b b ln
b
b b b
i
i
j
j ij i
Z Z q
a x a Z
= -
(
-)
+(
-)
- æ - Z èçç
ö ø
÷÷
+ +
( ) å
1 8
2 1 2
++ -
( )
æ è ççç
ö ø
÷÷÷
1 2 b
4.3.2.3 Fugacity Coefficient from the van der Waals Equation of State
From the van der Waals equation of state, we have the following description for the fugacity coef- ficient of component i in a mixture:
lnf ln b b ,
b b
i i
j
j ij ij ij ij
Z Z Z x A A a P
R T a
= -
(
-)
+ - - 2å
= 2 2 =bRTThe MATLAB function phimix estimates the fugacity coefficients of all components in a mixture from cubic equations of state. This function has the syntax
[Z,V,phi] = phimix(ni,P,T,Pc,Tc,w,k,state,eos)
where ni is the number of moles (or mole fractions) of each component in a mixture (vector), P is the pressure (Pa), T is the temperature (K), w is the acentric factor, k is a matrix of binary interaction parameters, state denotes the state of the fluid ('L': liquid, 'V': vapor), eos is the equation of state being used ('RK', 'SRK', or 'PR'), Z is the compressibility factor, V is the molar volume, and phi is the fugacity coefficients of all components (vector).
function [Z,V,phi] = phimix(ni,P,T,Pc,Tc,w,k,state,eos)
% Estimates fugacity coefficients of all components in a mixture using
% the cubic equation of state
% Inputs:
% ni: number of moles (or mole fractions) of each component (vector)
% P, T: pressure(Pa) and temperature(K)
% Pc, Tc: critical P(Pa) and T(K) of all components (vector)
% w: acentric factors of all components (vector)
% k: symmetric matrix of binary interaction parameters (n x n)
% state: fluid state('L': liquid, 'V': vapor)
% eos: equation of state('RK', 'SRK', or 'PR')
% Outputs:
% V: molar volume (m3/mol)
% Z: compressibility factor
% phi: fugacity coefficient vector
ni = ni(:); Pc = Pc(:); Tc = Tc(:); w = w(:); % column vector x = ni/sum(ni); % mole fraction
R = 8.314; % gas constant: m^3 Pa/(mol K) = J/mol-K Tref = 298.15; % reference T(K)
Pref = 1e5; % reference P(Pa) Tr = T./Tc;
eos = upper(eos); state = upper(state);
switch eos case{'RK'}
ep = 0; sm = 1; om = 0.08664; ps = 0.42748;
al = 1./sqrt(Tr);
case{'SRK'}
ep = 0; sm = 1; om = 0.08664; ps = 0.42748;
al = (1+(0.48+1.574*w-0.176*w.^2).*(1-sqrt(Tr))).^2;
case{'PR'}
ep = 1 - sqrt(2); sm = 1 + sqrt(2); om = 0.07780; ps = 0.45724;
al = (1+(0.37464+1.54226*w-0.26992*w.^2).*(1-sqrt(Tr))).^2;
end
ai = ps*(R^2).*al.*(Tc.^2)./Pc; am = sqrt(ai*ai').*(1 - k); % nxn matrix a = x'*am*x; bi = om*R*Tc./Pc; b = x'*bi;
beta = b*P/R/T; q = a/(b*R*T);
% compressibility factor(Z) and molar volume (V) state = upper(state);
c(1) = 1;
c(2) = (sm +ep)*beta - (1+beta);
c(3) = beta*(q + ep*sm*beta -(1+beta)*(sm+ep));
c(4) = -beta^2*(q +(1+beta)*ep*sm);
% Roots Z = roots(c);
iz = abs(imag(Z)); Z(and(iz>0,iz<=1e-6)) = real(Z(and(iz>0,iz<=1e-6)));
for i = 1:length(Z), zind(i) = isreal(Z(i)); end Z = Z(zind);
if state == 'L' Z = min(Z);
else
Z = max(Z);
end
V = R*T*Z/P;
% fugacity coefficients
bara = (2*ni'*am - a*ones(1,length(ni)))'; barb = bi;
phi = exp((Z - 1)*barb/b - log((V - b)*Z/V) + (a/(b*R*T))/(ep – sm)*...
log((V + sm*b)/(V + ep*b))*(1 + bara/a - barb/b));
end
Example 4.9: Fugacity Coefficients in a Mixture19
Determine the fugacity coefficients of all components in a nitrogen(1)/methane(2) mixture by the Peng–Robinson equation at 100 K and 0.4119 MPa (4.119 bar). In this mixture, the mole fraction of nitrogen is y1 = 0.958. For nitrogen, Tc1 = 126.1 K, Pc1 = 3.394 MPa (33.94 bar), and ω1 = 0.04, and for methane, Tc2 = 190.6 K, Pc2 = 4.604 MPa (46.04 bar), and ω2 = 0.011.
Solution
The following commands produce a vector of fugacity coefficients:
>> state = 'v'; k = zeros(2,2); eos='pr'; T = 100; P = 4.119e5; ni = [0.958 0.042];
>> Tc = [126.1 190.6]; Pc = [33.94 46.04]*1e5; w = [0.04 0.011];
>> [Z,V,phi] = phimix(ni,P,T,Pc,Tc,w,k,state,eos) Z =
0.9059 V = 0.0018 phi = 0.9162 0.8473
4.4 VAPOR PRESSURE