• Tidak ada hasil yang ditemukan

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 Z

P 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 =bRT

The 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