Está en la página 1de 25

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Química e Industrias


Extractivas.
Maestría en Ciencias es Ingeniería Química

Termodinámica

TAREA
Calculo de fugacidad para mezclas usando el método de Newton
CALCULO DEL EQUILIBRIO LIQUIDO-VAPOR A PARTIR DE LA ECUACION DE ESTADO DE PENG-ROBINSON Y
SOAVE-REDLICH-KWONG , UTILIZANDO REGLAS DE MEZCLADO CLASICAS PARA UNA MEZCLA BINARIA CO2 + N-
NONAN

PROFESOR:
DR. LUIS ALEJANDRO GALICIA LUNA

ALUMNO:
BORIS GUZMAN MARTINEZ

Fecha de entrega: 15 de Diciembre de 2015


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

ECUACIONES CÚBICAS DE ESTADO

SOAVE-REDLINCH-KWONG

A continuación se muestra la ecuación de SRK para el cálculo de volúmenes:

𝑅𝑇 𝑎(𝑇)
𝑝= −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏)
Donde:

𝑎𝑖 (𝑇) = 𝑎𝑐𝑖 𝛼𝑖 (𝑇)

𝑅2 𝑇𝑐𝑖2
𝑎𝑐𝑖 = 0.42747
𝑝𝑐𝑖
2
𝛼𝑖 (𝑇) = (1 + 𝑚𝑖 (1 − 𝑇𝑟𝑖 1/2 ))

𝑇
𝑇𝑟𝑖 =
𝑇𝑐𝑖

𝑚𝑖 = 0.480 + 1.574𝑤𝑖 − 0.176𝑤𝑖 2


𝑅𝑇𝑐𝑖
𝑏𝑐𝑖 = 0.08664
𝑝𝑐𝑖

Usando reglas de mezclado:


2
0.5 )
𝑎 = (∑ 𝑥𝑖 𝑎𝑖
𝑖

𝑏 = ∑ 𝑥𝑖 𝑏𝑖
𝑖

Y la forma cubica desarrollada:

Pv 3 − v 2 ( RT ) − v( Pb 2 + RTb − a) − ab = 0 Cálculo del volumen

Donde la raíz más grande corresponde a la fase gaseosa y la raíz más pequeña ala fase liquida.

Para el cálculo del factor de compresibilidad:

( Z 3 − Z 2 + Z ( A − B − B 2 ) − AB ) = 0 Cálculo del factor de


compresibilidad
Donde:
𝑎𝑃
𝐴=
(𝑅𝑇)2
𝑏𝑃
𝐵=
(𝑅𝑇)2
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

La raíz más grande corresponde a la fase gaseosa y la raíz más pequeña ala fase liquida.

Para el cálculo de fugacidad partimos de la ecuación general de dos parámetros:


𝑽 𝑵𝑩𝒊 𝟏 𝑨𝒊 𝑨𝑩𝒊 𝑽 + 𝜹𝟏 𝑩 𝑨𝑩𝒊 𝜹𝟏 𝜹𝟐
𝐥𝐧 ̅̅̅
𝝓𝒊 = 𝐥𝐧 ( )+ + ( − 𝟐 ) 𝐥𝐧 ( )+ ( − ) − 𝐥𝐧 𝒁
𝑽−𝑩 (𝑽 − 𝑩) 𝑹𝑻(𝜹𝟐 − 𝜹𝟏) 𝑩 𝑩 𝑽 + 𝜹𝟐 𝑩 𝑹𝑻𝑩(𝜹𝟐 − 𝜹𝟏) 𝑽 + 𝜹𝟏𝑩 𝑽 + 𝜹𝟐𝑩

Para SRK:

𝛿1 = 1
𝛿2 = 0
Haciendo los cálculos pertinentes la ecuación para el cálculo de fugacidad de mezclas para SRK es :
𝒃𝒊 𝑨 𝒂𝟎.𝟓 𝒃 𝑩
̂𝒊 =
𝐥𝐧 𝝓 (𝒁 − 𝟏) − 𝐥𝐧(𝒁 − 𝑩) − (𝟐 𝒊
− 𝒊 ) 𝐥𝐧 (𝟏 − ) Cálculo coeficiente de fugacidad para
𝒃 𝑩 𝒂𝟎.𝟓 𝒃 𝒁

Donde:

𝜙̂𝑖 Coeficiente de fugacidad


Y para el cálculo de la fugacidad:
̂ ∗ 𝑥𝑖 𝑃
𝑓=𝜙 Cálculo de fugacidad

La fugacidad del líquido es la que se calcula con el factor de compresibilidad del líquido y
por lo tanto la fugacidad de fase gaseosa será calculada con la fugacidad del estado
gaseoso.
PENG ROBINSON

A continuación se muestra la ecuación de PENG-ROBINSON para el cálculo de volúmenes:

𝑅𝑇 𝑎(𝑇)
𝑃= −
𝑣 − 𝑏 𝑣(𝑣 + 𝑏) + 𝑏(𝑣 − 𝑏)
Donde:

𝑎(𝑇) = 𝑎(𝑇𝑐 ) • 𝛼(𝑇𝑟 , 𝑤)

𝑅2 𝑇𝑐 2
𝑎(𝑇𝑐 ) = 0.45724
𝑃𝑐
𝑅𝑇𝑐
𝑏(𝑇𝑐 ) = 0.07780
𝑃𝑐
2
𝛼(𝑇𝑟 , 𝑤) = (1 + 𝑘(1 − 𝑇𝑟 1/2 ))
𝑇
𝑇𝑟 =
𝑇𝑐

𝑘 = 0.37464 + 1.54226𝑤 − 0.26992𝑤 2


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

Usando reglas de mezclado:

𝑎 = ∑ ∑ 𝑥𝑖 𝑥𝑗 𝑎𝑖𝑗
𝑖 𝑗

𝑏 = ∑ 𝑥𝑖 𝑏𝑖
𝑖

Y la forma cubica desarrollada:

𝑃𝑣 3 + (𝑃𝑏 − 𝑅𝑇)𝑣 2 + (𝑎 − 3𝑃𝑏2 − 2𝑅𝑇𝑏)𝑣 + (𝑃𝑏3 + 𝑅𝑇𝑏2 − 𝑎𝑏) Cálculo


del volumen
Donde la raíz más grande corresponde a la fase gaseosa y la raíz más pequeña ala fase liquida.

Para el cálculo del factor de compresibilidad:

( Z 3 − Z 2 (1 − B) + Z ( A − 3B 2 − 2 B) − ( AB − B 2 − B 3 )) = 0 Calculo del factor de


compresibilidad
Donde:
𝑎𝑃
𝐴=
(𝑅𝑇)2
𝑏𝑃
𝐵=
(𝑅𝑇)2

La raíz más grande corresponde a la fase gaseosa y la raíz más pequeña ala fase liquida.

Para el cálculo de fugacidad partimos de la ecuación general de dos parámetros:


𝑽 𝑵𝑩𝒊 𝟏 𝑨𝒊 𝑨𝑩𝒊 𝑽 + 𝜹𝟏 𝑩 𝑨𝑩𝒊 𝜹𝟏 𝜹𝟐
𝐥𝐧 ̅̅̅
𝝓𝒊 = 𝐥𝐧 ( )+ + ( − 𝟐 ) 𝐥𝐧 ( )+ ( − ) − 𝐥𝐧 𝒁
𝑽−𝑩 (𝑽 − 𝑩) 𝑹𝑻(𝜹𝟐 − 𝜹𝟏) 𝑩 𝑩 𝑽 + 𝜹𝟐 𝑩 𝑹𝑻𝑩(𝜹𝟐 − 𝜹𝟏) 𝑽 + 𝜹𝟏𝑩 𝑽 + 𝜹𝟐𝑩

Para Peng-Robinson:

𝛿1 = 1 + √2

𝛿2 = 1 − √2
Haciendo los cálculos pertinentes la ecuación para el cálculo de fugacidad de mezclas para Peng-
Robison es:
𝒃𝒊 𝑨 ∑𝒊 𝒙𝒊 𝒂𝒊𝒋 𝒃𝒊 𝒁 + 𝟐. 𝟒𝟏𝟒𝑩
̂𝒊 =
𝐥𝐧 𝝓 (𝒁 − 𝟏) − 𝐥𝐧(𝒁 − 𝑩) − (𝟐 − ) 𝐥𝐧 ( )
𝒃 𝟐√𝟐𝑩 𝒂 𝒃 𝒁 − 𝟎. 𝟒𝟏𝟓𝑩

Cálculo coeficiente de
fugacidad para Peng-Robinson
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

Donde:

𝜙̂𝑖 Coeficiente de fugacidad


Y para el cálculo de la fugacidad:
̂ ∗ 𝑥𝑖 𝑃
𝑓=𝜙 Cálculo de fugacidad

La fugacidad del líquido es la que se calcula con el factor de compresibilidad del líquido y
por lo tanto la fugacidad de fase gaseosa será calculada con la fugacidad del estado
gaseoso.

Cálculo del jacobiano (Ejemplo)


2 ∗ 𝐺12 ∗ 𝑇12 ∗ 𝑌1
2 ∗ G21 ∗ T21 ∗ Y1 ∗ Y2 2 ∗ 𝐺21 ∗ 𝑇21 ∗ 𝑌2 𝑌2 (2 ∗ 𝑇12 − 𝑌2 + 𝐺12 ∗ 𝑌1
D2 Aexc1 = RT( − −
(G21 ∗ Y2 + Y1 )2 (𝐺21 ∗ 𝑌2 + 𝑌1 )2 𝑌2 + 𝐺12 ∗ 𝑌1
𝐴1
𝐷2 𝑄1 = (𝐵1 − ) (1 − 𝑌1 )
𝑅𝑇

𝐷2 𝐷1 ∗ 𝑄𝑣𝑎𝑝 + (1 − 𝐷𝐷1 )(𝐷𝑄1 − 2 ∗ 𝐵𝑀𝑣𝑎𝑝 )(1 − 𝐷𝐷1 )) + (𝐷𝐷1 − 1)𝐷𝑄1 𝐷2 𝑄1


𝐷2 𝐵1 = 2
+
(1 − 𝐷𝑣𝑎𝑝 ) 1 − 𝐷𝑣𝑎𝑝

2 ∗ 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵12
2 + 𝐷𝐴𝑁𝑛2
𝐵𝑀𝑣𝑎𝑝 2 ∗ 𝐷𝐴1 ∗ 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷2 𝐵1 𝑉𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1
𝐷𝐶ℎ = − 2
log ( )
𝐸𝑀𝑣𝑎𝑝 𝐵𝑀𝑣𝑎𝑝 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2
( )
2 ∗ 𝐷𝐴1 ∗ 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷2 𝐵1
𝐷2 ( 𝐵𝑀𝑣𝑎𝑝

𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2
𝐷22 𝐷12 𝐷1
𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵12 ( −
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 )2 (𝑣𝑉 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1
+ +
𝐵𝑀𝑣𝑎𝑝 (𝐷2 − 𝐷1 )𝑅𝑇
𝐷𝐵12
𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 + 2 ∗ 𝐷𝐵1 + 𝐷2 𝐵1
+
𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝

𝐷𝐴1 𝑅𝑇 𝐷𝐵1 ∗ 𝑅𝑇
𝐷𝑁1 𝑃 = − + +
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 ) 𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2
𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵1 ((𝐷2 + 𝐷1 )𝑣𝑣 + 2 ∗ 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 ∗ 𝐷2
+
(𝑉𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2 (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 )2

𝐴𝑀𝑣𝑎𝑝 (2 ∗ 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 (𝐷2 + 𝐷1 )) 𝑅𝑇


𝐷𝑝𝑉 = −
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2 )(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 )2 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2

𝐷𝑁1 𝑃 ∗ 𝑃 ∗ 𝐷𝑁2 𝑃 ∗ 𝑃
𝐷𝑙𝑛𝐹𝑖 𝑌2 = + 𝐷𝐶𝐻 + 1
𝐷𝑝𝑉 ∗ 𝑅𝑇
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

𝐺 ∗𝑇 ∗𝑌 2 ∗ 𝐺 ∗ 𝑇21 ∗ 𝑌2 𝐺 ∗𝑇 ∗𝑌
𝐺21 (𝑇21 − 𝐺21 ∗ 𝑌21+ 𝑌2 ) 𝐺21 ∗ 𝑌1 (𝑇21 − 𝐺 21∗ 𝑌 + ) 𝐺12 (𝑇12 𝑌12+ 𝐺 12 ∗ 𝑌1 )
21 2 1 21 2 𝑌 1 2 12 1
𝐷2 𝐴𝑒𝑥𝑐1 = − +
𝐺21 ∗ 𝑌2 + 𝑌1 𝐺21 ∗ 𝑌2 + 𝑌1 𝑌2 + 𝐺12 ∗ 𝑌1
2 ∗ 𝐺12 ∗ 𝑇12 ∗ 𝑌1
𝐺12 ∗ 𝑌2 (𝑇12 − 𝑌 +
2 𝐺12 ∗ 𝑌1 )

𝑌2 + 𝐺12 ∗ 𝑌1
𝐷2 𝐴𝑒𝑥𝑐1
𝐷2 𝐷1 =
𝐶𝑣𝑎𝑝 𝑅𝑇

𝐷2 𝐷1 ∗ 𝑄𝑣𝑎𝑝 + (1 − 𝐷𝐷1 ) (𝐷𝑄2 − 2 ∗ 𝐵𝑀𝑣𝑎𝑝 (1 − 𝐷𝐷2 )) + (𝐷𝐷2 − 1)𝐷𝑄1 𝐷2 𝑄1


𝐷2 𝐵1 = +
(1 − 𝐷𝑣𝑎𝑝 )2 1 − 𝐷𝑣𝑎𝑝

2 ∗ 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵12
2 + 𝐷𝐴𝑁𝑁2
𝐵𝑀𝑣𝑎𝑝 2 ∗ 𝐷𝐴1 ∗ 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷2 𝐵1 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1
𝐷𝐶𝐻 = − 2
log ( )
𝐵𝑀𝑣𝑎𝑝 𝐵𝑀𝑣𝑎𝑝 𝑣𝑣 + 𝐵𝑀 𝑣𝑎𝑝 ∗ 𝐷2
( )
2 ∗ 𝐷𝐴1 ∗ 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷2 𝐵1 2 ∗ 𝐴𝑀𝑣𝑎𝑝 ∗ 𝐵𝑀12
𝐷2 ( −
𝐵𝑀𝑣𝑎𝑝 2
𝐵𝑀𝑣𝑎𝑝

𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2
𝐷22 𝐷12 𝐷1
𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵12 ( 2 − )
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 ) (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1
+ +
𝐵𝑀𝑣𝑎𝑝 (𝐷2 − 𝐷1 )𝑅 𝑇
𝐷𝐵12
𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 + 2 ∗ 𝐵𝑀𝑣𝑎𝑝 + 𝐷1 𝐷2
+
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝

𝐷𝐴1 𝑅𝑇 𝐷𝐵1 𝑅 𝑇
𝐷𝑁1 𝑃 = − + +
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 ) 𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2

𝐴𝑀𝑣𝑎𝑝 ∗ 𝐷𝐵1 ((𝐷2 + 𝐷1 )𝑣𝑣 + 2 ∗ 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 ∗ 𝐷2 )


+
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2

𝐴𝑀𝑣𝑎𝑝 (2 ∗ 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 (𝐷2 + 𝐷1 )) 𝑅𝑇


𝐷𝑃𝑣 = −
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷1 )2 (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 ∗ 𝐷2 )2 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2

𝐷𝑁1 𝑃 ∗ 𝐷𝑁2 𝑃
𝐷𝐿𝑁𝐹𝐼𝑌2 = + 𝐷𝐶𝐻 + 1
𝐷𝑃𝑉 ∗ 𝑅 𝑇
𝐺 𝑇 𝑌 2 𝐺 𝑇21 𝑌2 𝐺12 𝑇12 𝑌1
𝐺21 (𝑇21 − 𝐺 21𝑌 21+ 𝑌2 ) 𝐺21 𝑌1 (𝑇21 − 𝐺 21𝑌 +
21 2 1 21 2 𝑌1 ) 𝐺21 (𝑇12 − 𝑌2 + 𝐺12 𝑌1 )
𝐷2 𝐴𝐸𝑋𝐶1 = − +
𝐺21 𝑌2 + 𝑌1 𝐺21 𝑌2 + 𝑌1 𝑌2 + 𝐺12 𝑌1
2 𝐺12 𝑇12 𝑌1
𝐺12 𝑌2 (𝑇12 − 𝑌 + 𝐺 𝑌 )
2 12 1

𝑌2 + 𝐺12 𝑌1
𝐷2 𝐴𝐸𝑋𝐶1
𝐷2 𝐷1 =
𝐶𝑣𝑎𝑝 𝑅𝑇

𝐷2 𝐷1 𝑄𝑣𝑎𝑝 + (1 − 𝐷𝐷1 ) (𝐷𝑄2 − 2 𝐵𝑀𝑣𝑎𝑝 (1 − 𝐷𝐷2 )) + (𝐷𝐷2 − 1)𝐷𝑄1 𝐷2 𝑄1


𝐷2 𝐵1 = +
(1 − 𝐷𝑣𝑎𝑝 )2 1 − 𝐷𝑣𝑎𝑝
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

2 𝐴𝑀𝑣𝑎𝑝 𝐷𝐵1 𝐷𝐵2


+ 𝐷𝐴𝑁𝑁2
𝐵𝐴𝑣𝑎𝑝2 𝐷𝐴1 𝐷𝐵2 + 𝐷𝐴2 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 𝐷2 𝐵1 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1
𝐷𝐶𝐻 = − 2
log ( )
𝐵𝑀 𝑣𝑎𝑝 𝐵𝑀𝑣𝑎𝑝 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2
( )
𝐷𝐴1 𝐷𝐵2 + 𝐷𝐴2 𝐷𝐵1 + 𝐴𝑀𝑣𝑎𝑝 𝐷2 𝐵1 2 𝐴𝑀 𝑣𝑎𝑝 𝐷𝐵1 𝐷𝐵2 𝐷1
+( − 2
) (
𝐵𝑀𝑣𝑎𝑝 𝐵𝑀𝑣𝑎𝑝 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1
𝐷2
− )
𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2
𝐷22 𝐷12
𝐴𝑀𝑣𝑎𝑝 𝐷𝐵1 𝐷𝐵2 ( 2 − )
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2 ) (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )2
+ )
𝐵𝑀𝑣𝑎𝑝 (𝐷2 − 𝐷1 )𝑅 𝑇
𝐷𝐵1 𝐷𝐵2
𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 + 𝐷𝐵2 + 𝐷𝐵1 + 𝐷2 𝐵1
+
𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝

𝐷𝐴1 𝑅𝑇 𝐷𝐵1 𝑅𝑇
𝐷𝑁1𝑃 = − + +
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2 ) 𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2
𝐴𝑀𝑣𝑎𝑝 𝐷𝐵1 ((𝐷2 + 𝐷1 )𝑣𝑣 + 2 𝐵𝑀𝑣𝑎𝑝 𝐷1 𝐷2 )
+ 𝐷𝑃𝑉
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )2 (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2)2
𝐴𝑀𝑣𝑎𝑝 (2 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 (𝐷2 + 𝐷1 )) 𝑅𝑇
= −
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )2 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 𝐷2 )2 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2

𝐷𝑁1 𝑃 𝐷𝑁2 𝑃
𝐷𝐿𝑁𝐹𝐼𝑌2 = + 𝐷𝐶𝐻
𝐷𝑃 𝑉 𝑅𝑇
𝐷𝐴1 𝑅𝑇 𝐷𝐵1 𝑅𝑇
𝐷𝑁𝑃 = − + +
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2 ) 𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2
𝐴𝑀𝑣𝑎𝑝 𝐷𝐵1 ((𝐷2 + 𝐷1 )𝑣𝑣 + 2 𝐵𝑀𝑣𝑎𝑝 𝐷1 𝐷2
+
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )2 (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2 )2

𝐴𝑀𝑣𝑎𝑝 (2 𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 (𝐷2 + 𝐷1 ))


𝐷𝑃𝑉 =
(𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷1 )2 (𝑣𝑣 + 𝐵𝑀𝑣𝑎𝑝 𝐷2 )2 (𝑣𝑣 − 𝐵𝑀𝑣𝑎𝑝 )2

𝐷𝑁𝑃 1
𝐿𝑁𝐹𝐼𝑃𝑉 = − −
𝐷𝑃𝑉 𝑅 𝑇 𝑃

MÉTODO DE CARDANO

Partiendo de la ecuación general de tercer grado:

𝐴𝑋 3 + 𝐵𝑋 2 + 𝐶𝑋 + 𝐷 = 0

Se puede convertir en la forma normal dividiendo por 𝐴 y acomodando términos, con lo que
queda:

𝑋 3 + 𝛼𝑋 2 + 𝛽𝑋 + 𝛾 = 0
Ahora, realizando el cambio de variable de Tartaglia, con la finalidad de reducir la ecuación cúbica
a una ecuación cúbica incompleta, para que pueda resolverse mediante una adaptación de la
ecuación de Dal Ferro, que básicamente resuelve cualquier ecuación cúbica incompleta mediante
la solución del sistema cuadrático conjugado:
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

𝛼
𝑋= 𝑍−
3
𝑍 3 + 𝑝𝑍 + 𝑞 = 0

Identificando los coeficientes p y q para la ecuación de Dal Ferro:

𝛼2
𝑝=𝛽−
3
2𝛼 3 𝛼𝛽
𝑞=( )−( )+𝛾
27 3

Y fijando el criterio 𝐷 que se considera de la siguiente forma, con la finalidad de que las raíces sean
reales dado el significado físico que se busca con las soluciones de la ecuación (encontrar en factor
de compresibilidad y volumen menor para la fase líquida y el mayor para la fase vapor), de esta
manera el cambio de Cardano – Dal Ferro permite obtener las raíces reales únicamente:

𝑞2 𝑝3
𝐷 = ( )+( )
4 27

Las cuales se buscan las raíces reales con los siguientes criterios:

Si 𝐷 > 0, se tiene una única raíz con sentido físico:

3 𝑞 3 𝑞
𝑍 = √{− + √𝐷} + √{− − √𝐷}
2 2
Si 𝐷 = 0, entonces se tienen 3 raíces, 2 iguales y una de multiplicidad 2:

3 𝑞 𝛼
𝑍1 = −2√ −
2 3
3 𝑞 𝛼
𝑍2 = 𝑍3 = √ −
2 3
Si 𝐷 < 0, entonces se tienen res raíces reales diferentes:

𝑝 𝜃 𝛼
𝑍1 = 2√− 𝑐𝑜𝑠 ( ) −
3 3 3
𝑝 2𝜋 + 𝜃 𝛼
𝑍2 = 2√− 𝑐𝑜𝑠 ( )−
3 3 3
𝑝 4𝜋 + 𝜃 𝛼
𝑍3 = 2√− 𝑐𝑜𝑠 ( )−
3 3 3
Y cabe aclarar que el argumento para obtener las raíces reales debe estar expresado en radianes,
de tal modo que:

𝑞 27
𝜃 = cos −1 {− 2 √− 𝑝3 }
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

ALGORITMO PARA EL EQUILIBRIO L-V PARA MEZCLAS USANDO ECUACIONES DE ESTADOS


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

CÓDIGOS EN FORTRAN 95 PARA EL CÁLCULO DEL EQUILIBRIO L-V PARA MEZCLAS USANDO
ECUACIONES DE ESTADOS CÚBICAS

En la Tabla 1 se muestra los códigos en FORTRAN 95 para el cálculo del equilibrio L-V para mezclas.
Este código es para cualquier compuesto a diferentes condiciones de temperatura utilizando la
ecuación de SRK y PENG-ROBINSON.

El método numérico que se utilizó para el para la resolución de las ecuaciones de tercer grado fue
el de Cardano.

Tabla 1. Código de FORTRAN 95 para el cálculo del equilibrio L-V.


program evlco2c9
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
write (*,*) '.......................................................................................'
write (*,*) ' INSTITUTO POLITECNICO NACIONAL '
write (*,*) ' ESCUELA SUPERIOR DE INGENIERIA QUIMICA E INDUSTRIAS EXTRACTIVAS '
write (*,*) ' SECCION DE ESTUDIOS DE POSGRADO '
write (*,*) ' MAESTRIA EN CIENCIAS EN INGENIERIA QUIMICA '
write (*,*) '.......................................................................................'
write (*,*) ' CALCULO DEL EQUILIBRIO LIQUIDO-VAPOR '
write (*,*) ' A PARTIR DE LA ECUACION DE ESTADO DE PENG-ROBINSON Y SOAVE-REDLICH-KWONG '
write (*,*) ' UTILIZANDO REGLAS DE MEZCLADO CLASICAS '
write (*,*) ' PARA UNA MEZCLA BINARIA CO2 + N-NONANO '
write (*,*) '.......................................................................................'
write (*,*) ' ASIGNATURA: TERMODINAMICA '
write (*,*) ' ALUMNO: GUZMAN MARTINEZ BORIS '
write (*,*) ' PROFESOR: LUIS A. GALICIA LUNA '
write (*,*) '.......................................................................................'
!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
!programa para calcular la presión de burbuja
real x1,x2,t,k12,p,r,k1,k2,y1,y2,lognatfi1va,lognatfi2va,lognatfi1liq,lognatfi2liq,vv,vl,zl,zv,aqmg,er1
real temcrit2,precrit2,fa2,temred2,m2,alf2,a2,b2,d1,d2,a12,rm4,a21,t12,t21,lfa,g12,g21,bmeva,ameva
real
temcrit1,precrit1,fa1,temred1,m1,alf1,a1,b1,prered1,prered2,b12,b11,b22,quliq,celiq,aexculiq,deliq,bemliq,am
eliq,qva,cva,taexcva,dva
real k1c,k2c,pca,em,em1,rm3,k1c1,k2c1,pca1,er,db1liq,db2liq,da1liq,da2liq,c1va,da1,er2
real dg1dlognatk1,dg1dlognatk2,da2,db1,db2,dq1,dq2,dd1,dd2
real dg1p,dg2dlognatk1,dg2dlognatk2,rm2,dg2p,cert,g1,g2,g3,v1,v2,v3,rm1,c1,c2
real , dimension(3,1) :: solucion, solucion1
real , dimension(11) :: ya,xa,pa
integer i,j ,opcion1,opcion2

open(unit=12,file='datos_arenas.txt')
do i=1,11
read(12,*)xa(i),ya(i),pa(i)
enddo
close(12)

write(*,*)"seleccione la ecuación de estado con la que desea trabajar?:"


write(*,*)"1.....pr"
write(*,*)"2.....srk"
read(*,*)opcionn1
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

!Propiedades para el CO2


Am=3.7687
Bm=395.744
Cm=266.681
Pc1=7.374!MPa
Tc1=304.1!K
fa1=0.225!Factor acentrico
P1=(exp(Am-(Bm/(T+Cm))))*0.001 !MPa
!P1=(Pc1)*exp(5.379*(1-w1)*(1-(Tc1/T)))

!Propiedades para el n-9C


Ae=3.95405
Be=663.72
Ce=256.681
Pc2=2.29!MPa
Tc2=594.60!K
w2=0.445!Factor acentrico
P2=(Pc2)*exp(5.379*(1-w2)*(1-(Tc2/T)))
!P2=(exp(Ae-(Be/(T+Ce))))*0.001 !MPa

k12=0.4571770

!Condiciones de equilibrio
t=373.28
r=83.144
k12=0.57177
prered1=p/precrit1
temred1=t/temcrit1
temred2=t/temcrit2
prered2=p/precrit2

if(opcionn1==1)then
d1=1+((2)**0.5)
d2=1-((2)**0.5)
m1=(0.374640+(1.5442260*fa1)-(0.269920*(fa1**2)))
alf1=(1+(m1*(1-(temred1**0.50))))**2
a1=(((0.457240)*(r**2)*(temcrit1**2)*(alf1))/(precrit1))
b1=(0.07780*((r*temcrit1)/precrit1))
m2=(0.374640+(1.542260*fa2)-(0.269920*(fa2**2)))
alf2=(1+(m2*(1-(temred2**0.5d0))))**2
a2=(((0.457240)*(r**2)*(temcrit2**2)*(alf2))/(precrit2))
b2=(0.07780*((r*temcrit2)/precrit2))
else if(opcionn1==2)then
d1=1
d2=0
m1=(0.4800+(1.5740*fa1)-(0.1760*(fa1**2)))
alf1=(1+(m1*(1-((temred1)**0.50))))**2
a1=0.42748*((((r**2)*(temcrit1**2)))/(precrit1))*alf1
b1=(0.086640*((r*temcrit1)/precrit1))
m2=(0.4800+(1.5740*fa2)-(0.1760*(fa2**2)))
alf2=(1+(m2*(1-(temred2**0.50))))**2
a2=0.427480*((((r**2)*(temcrit2**2)))/(precrit2))*alf2
b2=(0.086640*((r*temcrit2)/precrit2))
endif
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

write (*,*)' x y p'

do i=1,11
x1=xa(i)
x2=1-x1
y1=ya(i)
y2=1-y1
p=pa(i)
k1=y1/x1
k2=(1-y1)/(1-x1)
do j=1,10000
quliq=b1*x1+b2*x2
rm3=0.6891
celiq=(1/(d1-d2))*log((1+d1)/(1+d2))
aexculiq=((x1*(x2*g21*t21)/(x1+(x2*g21)))+((x2*x1*g12*t12)/(x2+(x1*g12))))
deliq=0.
bemliq=quliq/(1-deliq)
ameliq=y1*y1*a1+2*y1*y2*(a1*a2)**0.5+y2*y2*a2
rm2=0.3518
qva=b1*y1+b2*y2
cva=(1/(d1-d2))*log((1+d1)/(1+d2))
taexcva=(((y1*(y2*g21*t21))/(y1+(y2*g21)))+((y2*(y1*g12*t12))/(y2+(y1*g12))))
rm1=-0.58
dva=0.
bmeva=qva/(1-dva)
ameva=y1*y1*a1+2*y1*y2*(a1*a2)**0.5+y2*y2*a2

call volliq(ameliq,bemliq,p,t,r,vl,zl,x1,rm1,opcionn1)
call volvap(ameva,bmeva,p,t,r,vv,zv,x1,rm2,opcionn1)
call coeffugl(a1,b1,a2,b2,ameliq,bemliq,b12,deliq,quliq,celiq,g12,g21,t12,t21,&
vl,x1,x2,r,t,p,k12,lognnatfi1liq,lognatfi2liq,db1liq,db2liq,da1liq,da2liq,rm1,rm2,rm3,opcionn1,opcionn2)
call coeffugv(a1,b1,a2,b2,ameva,bmeva,b12,dva,qva,cva,g12,g21,t12,t21,vv,&
y1,y2,r,t,p,k12,lognatfi1va,lognatfi2va,da1,da2,db1,db2,dq1,dq2,dd1,dd2,opcionn1,opcionn2)
call jacobiana(k1,k2,t,p,r,vv,vl,da1,da2,db1,db2,db1liq,db2liq,da1liq,da2liq,&
dq1,dq2,dd1,dd2,qva,cva,dva,b12,g12,g21,t12,t21,&
ameva,bmeva,ameliq,bemliq,y1,y2,x1,x2,a1,a2,k12,b1,b2,lognatfi1liq,lognatfi2liq,lognatfi1va,&

lognatfi2va,dg1dlognatk1,dg1dlognatk2,dg1p,dg2dlognatk1,dg2dlognatk2,dg2p,aqmg,g1,g2,g3,v1,v2,v3,c1,opci
onn1,d1,d2)
call inversa(dg1dlognatk1,dg1dlognatk2,dg1p,dg2dlognatk1,dg2dlognatk2,dg2p,y1,y2,aqmg,g1,g2,g3,&
v1,v2,v3,k1c,k2c,pca,k1c1,k2c1,pca1,c1,c2)

solucion1(1,1)=k1c1
solucion1(2,1)=k2c1
solucion1(3,1)=pca1
solucion(1,1)=k1c
solucion(2,1)=k2c

k1=exp(k1c)
k2=exp(k2c)
p=exp(pca)
y1=k1*x1
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

y1=y1/(y1+y2)
y2=1-y1
pn=p*(y1+y2)
solucion(3,1)=pca
er1=((k1c**2) + (k2c**2) + (pca**2))**0.5
er2=((k1c1**2) + (k2c1**2) + (pca1**2))**0.5

er=0.00001

if(abs((pn-p)) .le. er ) then


write(*,*)"Los resultados son",x1,y1,293*x1-19.02578
go to 11
else
k1=exp(k1c)
k2=exp(k2c)
p=exp(pca)
y1=k1*x1
y2=k2*x2
y1=y1/(y1+y2)
y2=1-y1
end if
end do
11 continue
enddo
endif

write(*,*) 'Presione 1 para terminar'


read(*,*) TTTT
end program

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine volliq(ameliq,bmliq,p,t,r,vl,zl,x1,cg,opcionn1)
real ameliq,bemliq,a,b,p,r,t,zc,w,y,x,v,f,d,vl,zi,x1,cg,opcion1
a=((ameliq*p)/((r**2)*(t**2)))
b=((bemliq*p)/(r*t))
zi=0.85
cg=-0.614*x1*x1
if (opcionn1==1)then
w=b-1
x=a-(3*(b**2))-2*b
y=(b**3)+(b**2)-(a*b)
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
d=1
do i=1,10000
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
zc=zi-(f/df)
d=abs(zc-zi)
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

if(d<=0.00001)then
goto 15
else
zi=zc
endif
end do

else if(opcionn1==2)then
w=-1
x=a-(b**2)-b
y=-(a*b)
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
d=1
do i=1,10000
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
zc=zi-(f/df)
d=abs(zc-zi)
if(d<=0.00001)then
goto 25
else
zi=zc
endif
end do
endif
15 continue
25 continue
vl=(zi*r*t)/p
zl=zi

end subroutine

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine volvap(ameva,bmeva,p,t,r,vv,zv,x1,cg,opcionn1)
real ameva,bmeva,a,b,p,r,t,zc,w,y,x,v,f,d,vl,zi,x1,cg,opcion1
a=((ameva*p)/((r**2)*(t**2)))
b=((bmeva*p)/(r*t))
zi=0.55
cg=0.452*x1
if (opcionn1==1)then
w=b-1
x=a-(3*(b**2))-2*b
y=(b**3)+(b**2)-a*b
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
d=1
do while(d>1.0e-5)
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
zc=zi-(f/df)
d=abs(zc-zi)
zi=zc
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

end do
else if(opcionn==1)then
w=-1
x=a-(b**2)-b
y=-(a*b)
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
d=1
do while(d>1.0e-5)
f= (zi**3)+(w*(zi**2))+(x*zi)+(y)
df= (3*zi**2)+(2*w*zi)+(x)
zc=zi-(f/df)
d=abs(zc-zi)
zi=zc
end do
endif
vv=(zi*r*t)/p
zv=zi
end subroutine

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine coeffugl(a1,b1,a2,b2,ameliq,bemliq,b12,deliq,quliq,celiq,g12,g21,t12,t21,vl,&
x1,x2,r,t,p,k12,lognnatfi1liq,lognatfi2liq,db1liq,db2liq,da1liq,da2liq,rm1,rm2,cg,opcionn1,opcionn2)
real a1,a2,b1,b2,a,b,r,t,ameliq,bemliq,d1,d2,z1,z2,k12,x1,x2,lognatfi1liq,lognatfi2liq,da1,da2,db1,db2
real p1,p2,p3,p4,g12,g21,t12,t21,daexc1,daexc2,dd1,dd2,dq1,dq2
real b12,celiq,dliq,qliq,opcion2,z,opcion1,mb,ma

cg=rm1+rm2+.58991
if (opcionn2==1)then
daexc1=((x1*(0-((x2*g21*t21)/(x1+(x2*g21)))))/(x1+(x2*g21))+&
(x2*g12*(t12-((x1*g12*t12)/(x2+(x1*g12)))))/(x2+(x1*g12))+&
(x2*g21*t21)/(x1+(x2*g21)))*(r*t)
daexc2=((x2*(0-((x1*g12*t12)/(x2+(x1*g12)))))/(x2+(x1*g12))+&
(x1*g21*(t21-((x2*g21*t21)/(x1+(x2*g21)))))/(x1+(x2*g21))+&
(x1*g12*t12)/((x2)+(x1*g12)))*(r*t)

dq1=(2*(b1-(a1/(r*t)))*x1)+(2*x2*b12)
dq2=(2*(b2-(a2/(r*t)))*x2)+(2*x1*b12)

dd1=(a1/(b1*r*t))+(1/(celiq*r*t))*daexc1
dd2=(a2/(b2*r*t))+(1/(celiq*r*t))*daexc2
db1=(dq1/(1-deliq))-((quliq*(1-dd1))/((1-deliq)**2))
db2=(dq2/(1-deliq))-((quliq*(1-dd2))/((1-deliq)**2))
da1=(r*t)*((deliq*db1)+(bemliq*dd1))
da2=(r*t)*((deliq*db2)+(bemliq*dd2))
db1liq=db1
db2liq=db2
da1liq=da1
da2liq=da2

lognatfi1liq=(b1/(vl-bemliq))+log(vl/(vl-bemliq))+(((ameliq*db1)/(r*t*bemliq*&
(d2-d1)))*((d1/(vl+(d1*bemliq)))-(d2/(vl+(d2*bemliq)))))+&
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

((1/(r*t*(bemliq**2)*(d2-d1)))*log((vl+(d1*bemliq))/(vl+(d2*bemliq)))*&
((da1*bemliq)-(ameliq*db1)))-log((p*vl)/(r*t))

lognatfi2liq=(b2/(vl-bemliq))+log(vl/(vl-bemliq))+(((ameliq*db2)/(r*t*bemliq*&
(d2-d1)))*((d1/(vl+(d1*bemliq)))-(d2/(vl+(d2*bemliq)))))+&
((1/(r*t*(bemliq**2)*(d2-d1)))*log((vl+(d1*bemliq))/(vl+(d2*bemliq)))*&
((da2*bemliq)-(ameliq*db2)))-log ((p*vl)/(r*t))

else if(opcionn2==2) then

daexc1=0
daexc2=0
dq1=0
dq2=0
dd1=(a1/(b1*r*t))+(1/(celiq*r*t))*daexc1
dd2=(a2/(b2*r*t))+(1/(celiq*r*t))*daexc2
db1=(dq1/(1-deliq))-((quliq*(1-dd1))/((1-deliq)**2))
db2=(dq2/(1-deliq))-((quliq*(1-dd2))/((1-deliq)**2))
da1=(r*t)*((deliq*db1)+(bemliq*dd1))
da2=(r*t)*((deliq*db2)+(bemliq*dd2))
db1liq=db1
db2liq=db2
da1liq=da1
da2liq=da2
z=p*vl/(r*t)
mb=p*bemliq/(r*t)
ma=p*ameliq/(r*t)**2
lognatfi1liq=b1/(mb)*(z-1)-log(z-mb)-ma/mb*(b1/mb-2./ameliq*(x1+x2)*(a1*a2)**0.5)*log(1+mb/z)
lognatfi2liq=b2/(mb)*(z-1)-log(z-mb)-ma/mb*(b2/mb-2./ameliq*(x1+x2)*(a1*a2)**0.5)*log(1+mb/z)
endif
end subroutine

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine coeffugv(a1,b1,a2,b2,ameva,bmeva,b12,dva,qva,cva,g12,g21,&
t12,t21,vv,y1,y2,r,t,p,k12,lognatfi1va,lognatfi2va,da1,da2,db1,db2,dq1,dq2,dd1,dd2,opcionn1,opcionn2)
real a1,a2,b1,b2,ameva,bmeva,d1,d2,z1,z2,k12,y1,y2,lognatfi1va,lognatfi2va,da1,da2,db1,db2
real g12,g21,t12,t21,daexc1,daexc2,dd1,dd2,dq1,dq2
real b12,cva,dva,qva,opcion2,z,opcion1,mb,ma
if (opcion1==1)then
d1=1+(2)**0.5
d2=1-(2)**0.5
else if(opcion1==2)then
d1=1
d2=0
endif

if(opcion2==1)then
daexc1=((y1*(0-((y2*g21*t21)/(y1+y2*g21))))/(y1+(y2*g21))+&
(y2*g12*(t12-((y1*g12*t12)/(y2+y1*g12))))/(y2+(y1*g12))+&
(y2*g21*t21)/(y1+(y2*g21)))*(r*t)
daexc2=((y2*(0-((y1*g12*t12)/(y2+y1*g12))))/(y2+(y1*g12))+&
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

(y1*g21*(t21-((y2*g21*t21)/(y1+y2*g21))))/(y1+(y2*g21))+&
(y1*g12*t12)/((y2)+(y1*g12)))*(r*t)
dq1=(2*(b1-(a1/(r*t)))*y1)+(2*y2*(((b1-(a1/(r*t))))+(b2-(a2/(r*t))))/2)*(1-k12)
dq2=(2*(b2-(a2/(r*t)))*y2)+(2*y1*(((b1-(a1/(r*t))))+(b2-(a2/(r*t))))/2)*(1-k12)
dd1=(a1/(b1*r*t))+(1/(cva*r*t))*daexc1
dd2=(a2/(b2*r*t))+(1/(cva*r*t))*daexc2
db1=(dq1/(1-dva))-((qva*(1-dd1))/((1-dva)**2))
db2=(dq2/(1-dva))-((qva*(1-dd2))/((1-dva)**2))
da1=(r*t)*((dva*db1)+(bemva*dd1))
da2=(r*t)*((dva*db2)+(bmeva*dd2))
lognatfi1va=(b1/(vv-bmeva))+log(vv/(vv-bmeva))+(((ameva*db1)/(r*t*bmeva*(d2-d1)))*&
((d1/(vv+(d1*bmeva)))-(d2/(vv+(d2*bmeva)))))+&
((1/(r*t*(bmeva**2)*(d2-d1)))*log((vv+(d1*bmeva))/(vv+(d2*bmeva)))*&
((da1*bmeva)-(ameva*db1)))-log((p*vv)/(r*t))
lognatfi2va=(b2/(vv-bmeva))+log(vv/(vv-bmeva))+(((ameva*db2)/(r*t*bmeva*(d2-d1)))*&
((d1/(vv+(d1*bmeva)))-(d2/(vv+(d2*bmeva)))))+&
((1/(r*t*(bmeva**2)*(d2-d1)))*log((vv+(d1*bmeva))/(vv+(d2*bmeva)))*((da2*bmeva)-(ameva*db2)))-
log((p*vv)/(r*t))
else if(opcion2==2)then
daexc1=0
daexc2=0
dq1=0
dq2=0
dd1=(a1/(b1*r*t))+(1/(celiq*r*t))*daexc1
dd2=(a2/(b2*r*t))+(1/(celiq*r*t))*daexc2
db1=(dq1/(1-deliq))-((quliq*(1-dd1))/((1-deliq)**2))
db2=(dq2/(1-deliq))-((quliq*(1-dd2))/((1-deliq)**2))
da1=(r*t)*((deliq*db1)+(bemliq*dd1))
da2=(r*t)*((deliq*db2)+(bemliq*dd2))
db1liq=db1
db2liq=db2
da1liq=da1
da2liq=da2
z=p*vv/(r*t)
mb=p*bmeva/(r*t)
ma=p*ameva/(r*t)**2
lognatfi1va=b1/(mb)*(z-1)-log(z-mb)-ma/mb*(b1/mb-2./ameliq*(y1+y2)*(a1*a2)**0.5)*log(1+mb/z)
lognatfi2va=b2/(mb)*(z-1)-log(z-mb)-ma/mb*(b2/mb-2./ameliq*(y1+y2)*(a1*a2)**0.5)*log(1+mb/z)

endif
end subroutine

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine jacobiana(ki,kj,t,p,r,vv,vl,da1,da2,db1,db2,db1liq,db2liq,da1liq,da2liq,&
dq1,dq2,dd1,dd2,qva,cva,dva,b12,g12,g21,t12,&
t21,ameva,bmeva,ameliq,bemliq,y1,y2,x1,x2,a1,a2,k12,b1,b2,&
lognatfi1liq,lognatfi2liq,lognatfi1va,lognatfi2va,dg1dlognatk1,dg1dlognatk2,dg1p,dg2dlognatk1,dg2dlognatk2,d
g2p,aqmg,g1,g2,g3,v1,v2,v3,c1,opcionn1,d1,d2)
real
dn1p,dn2p,dpv,d2fn,dlnfiyj,dg1dlognatk1,dg1dlognatk2,dg2dlognatk1,dg2dlognatk2,k12,g1,g2,g3,v1,v2,v3,dan
n2
real m1,m2,a,b,a1,a2,b1,b2,z1,z2,d1,f2,dg2p,dg1p,aqmg,ki,kj
real pre,j,k,l,ka,kb,lnfipl,lnfipv,lognatfi1liq,lognatfi2liq,lognatfi1va,lognatfi2va
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

real dvp,dnp,bij,r,t,p,ameva,bmeva,ameliq,bemliq,c1
real g21,g12,t12,t21,da1,da2,db1,db2,d2aexc1,d2aexc2,d2b1,d2b2,dev2q,dev2d,da1liq,da2liq,db1liq,db2liq

if (opcionn1==1)then
d1=1+(2)**0.5
d2=1-(2)**0.5
else if(opcion1==2)then
d1=1
d2=0
endif
c1=332.06548*1
d2aexc1=(((0.0-((y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21))+&
((0.0-((y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21))-&
(y1*(0.0+0.0-((2*y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21))-(y2*(t12+t12-&
((2*y1*g12*t12)/(y2+(y1*g12)))))/(y2+(y1*g12)))*(r*t)
d2q1=(1-y1)*(b1-(a1/(r*t)))
d2d1=d2aexc1/(cva*r*t)
d2b1=(d2q1/(1-dva))+((1/((1-dva)**2))*(((dd1-1)*dq1)+(qva*d2d1)+((1-dd1)*(dq1-(2*bmeva*(1-dd1))))))
dann2=((db1*dd1)+(dva*d2b1)+(db1*dd1)+(bmeva*d2d1))*(r*t)
dch=(1/(vv-bmeva)*(2*db1+d2b1+((db1**2)*1/(vv-bemva))))+&
(((log((vv+(d1*bmeva))/(vv+(d2*bmeva)))*((1/bmeva*(dann2+&
(2*ameva/bmeva*1/bmeva*(db1**2))))-((1/bmeva)**2*(2*(da1*db1)+&
(ameva*d2b1)))))+((d1/(vv+(d1*bmeva)))-(d2/(vv+(d2*bmeva)))*&
(((1/bmeva)**2*(2*(da1*db1)+(ameva*d2b1)))/(1/bmeva)-(2*ameva/bmeva*1/bmeva)*&
(db1**2)))+((((d2/(vv+(d2*bmeva)))**2)-&
(d1/(vv+(d1*bmeva)))**2)*ameva/bmeva*(db1**2)))*1/(r*t*(d2-d1)))
dn1p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db1)-((da1)/((vv+(d1*bmeva))*&
(vv+(d2*bmeva))))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+(d1*bmeva))*(vv+(d2*bmeva)))**2)*ameva*db1
dn2p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db1)-((da1)/((vv+(d1*bmeva))*&
(vv+(d2*bmeva))))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+(d1*bmeva))*(vv+(d2*bmeva)))**2)*ameva*db1
dpv=((-r*t)/((vv-bmeva)**2))+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+(d1*bmeva))*(vv+(d2*bmeva)))**2))
dlnfiy2=dch+(1/(r*t))*((dn1p*dn2p)/dpv)+1
dg1dlognatk1=(1+(y1*dlnfiy2))

d2aexc1=((((t21-((y2*g21*t21)/(y1+(y2*g21))))*(g21))/(y1+(y2*g21)))+&
(((t12-((y1*g12*t12)/(y2+(y1*g12))))*(g12))/(y2+(y1*g12)))+&
(-(y1*g21*(t21-((2*y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21)))+&
(-(y2*g12*(t12-((2*y1*g12*t12)/(y2+(y1*g12)))))/(y2+(y1*g12))))
d2q1=(1-y2)*b12
d2d1=(1/(cva*r*t))*d2aexc1
d2b1=((1/(1-dva))*d2q1)+((1/((1-dva)**2))*(((dd2-1)*dq1)+(qva*d2d1)+((1-dd1)*(dq2-(2*bmeva*(1-dd2))))))
dann2=((db1*dd2)+(dva*d2b1)+(db2*dd1)+(bmeva*d2d1))*(r*t)
dch=((1/(vv-bmeva))*(db1+db2+d2b1+((db1*db2)*(1/(vv-bmeva)))))+&
(((log((vv+d1*bmeva)/(vv+d2*bmeva)))*(((1/bmeva)*&
(dann2+((2*(ameva/bmeva)*(1/bmeva))*(db1*db2))))-(((1/bmeva))**2*&
((da1*db2)+(da2*db1)+(ameva*d2b1)))))+(((d1/(vv+(d1*bmeva)))-&
(d2/(vv+(d2*bmeva))))*((((1/bmeva))**2*((da1*db2)+(da2*db1)+(ameva*d2b1)))/&
(1/bmeva)-(2*(ameva/bmeva)*(1/bmeva))*(db1*db2)))+&
(((((d2/(vv+(d2*bmeva)))**2)-(d1/(vv+(d1*bmeva)))**2)*(ameva/bmeva))*(db1*db2)))*(1/(r*t*(d2-d1)))
dn1p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db1)-((da1)/((vv+(d1*bmeva))*&
(vv+(d2*bmeva))))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+(d1*bmeva))*(vv+(d2*bmeva)))**2)*ameva*db1
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

dn2p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db2)-((da2)/((vv+(d1*bmeva))*&
(vv+(d2*bmeva))))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+(d1*bmeva))*(vv+(d2*bmeva)))**2)*ameva*db2
dpv=((-r*t)/(vv-bmeva)**2)+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+d1*bmeva)*(vv+d2*bmeva))**2))
dlnfiy2=dch+((dn1p*dn2p)/(r*t*dpv))+1
dg1dlognatk2=(y2*dlnfiy2)

d2aexc2=((((t12-((y1*g12*t12)/(y2+(y1*g12))))*(g12))/(y2+(y1*g12)))+(((t21-((y2*g21*&
t21)/(y1+(y2*g21))))*(g21))/(y1+(y2*g21)))+&
(-(y1*g21*(0.0+t21-((2*y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21)))+(-(y2*g12*(t12+0.0-&
((2*y1*g12*t12)/(y2+(y1*g12)))))/(y2+(y1*g12))))
d2q2=(1-y1)*b12
d2d2=(1/(cva*r*t))*d2aexc2
d2b2=((1/(1-dva))*d2q2)+((1/((1-dva)**2))*(((dd1-1)*dq2)+(qva*d2d2)+((1-dd2)*(dq1-(2*bmeva*(1-dd1))))))
dann2=((db2*dd1)+(dva*d2b2)+(db1*dd2)+(bmeva*d2d2))*(r*t)
dch=((1/(vv-bmeva))*(db2+db1+d2b2+((db2*db1)*(1/(vv-bmeva)))))+&
(((log((vv+d1*bmeva)/(vv+d2*bmeva)))*(((1/bmeva)*&
(dann2+((2*(ameva/bmeva)*(1/bmeva))*(db2*db1))))-
(((1/bmeva))**2*((da2*db1)+(da1*db2)+(ameva*d2b2)))))+&
(((d1/(vv+(d1*bmeva)))-(d2/(vv+(d2*bmeva))))*((((1/bmeva))**2*&
((da2*db1)+(da1*db2)+(ameva*d2b2)))/(1/bmeva)-(2*(ameva/bmeva)*&
(1/bmeva))*(db2*db1)))+(((((d2/(vv+(d2*bmeva)))**2)-(d1/(vv+(d1*bmeva)))**2)*&
(ameva/bmeva))*(db2*db1)))*(1/(r*t*(d2-d1)))
dn1p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db2)-((da2)/((vv+d1*bmeva)*(vv+d2*bmeva)))+&
((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db2
dn2p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db1)-((da1)/((vv+d1*bmeva)*(vv+d2*bmeva)))+&
((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db1
dpv=((-r*t)/(vv-bmeva)**2)+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+d1*bmeva)*(vv+d2*bmeva))**2))
dlnfiy2=dch+(1/(r*t))*((dn1p*dn2p)/dpv)+1
dg2dlognatk1=(y1*dlnfiy2)

d2aexc2=(((0.0-((y1*g12*t12)/(y2+(y1*g12)))))/(y2+(y1*g12))+((0.0-((y1*g12*t12)/&
(y2+(y1*g12)))))/(y2+(y1*g12))+(-(y1*g21*g21*&
(t21+t21-((2*y2*g21*t21)/(y1+(y2*g21)))))/(y1+(y2*g21)))+(-(y2*(-((2*y1*g12*t12)/&
(y2+(y1*g12)))))/(y2+(y1*g12))))*(r*t)
d2q2=(1-y2)*bmeva
d2d2=(1/(cva*r*t))*d2aexc2
d2b2=((1/(1-dva))*d2q2)+((1/((1-dva)**2))*(((dd2-1)*dq2)+(qva*d2d2)+((1-dd2)*(dq2-(2*bmeva*(1-dd2))))))
dann2=((db2*dd2)+(dva*d2b2)+(db2*dd2)+(bmeva*d2d2))*(r*t)
dch=((1/(vv-bmeva))*(db2+db2+d2b2+((db2)**2*(1/(vv-
bmeva)))))+(((log((vv+d1*bmeva)/(vv+d2*bmeva)))*(((1/bmeva)*&
(dann2+((2*(ameva/bmeva)*(1/bmeva))*(db2)**2)))-(((1/bmeva))**2*&
((da2*db2)+(da2*db2)+(ameva*d2b2)))))+&
(((d1/(vv+(d1*bmeva)))-(d2/(vv+(d2*bmeva))))*((((1/bmeva))**2*&
((da2*db2)+(da2*db2)+(ameva*d2b2)))/(1/bmeva)-(2*(ameva/bmeva)*&
(1/bmeva))*(db2)**2))+(((((d2/(vv+(d2*bmeva)))**2)-(d1/(vv+(d1*bmeva)))**2)*&
(ameva/bmeva))*(db2)**2))*(1/(r*t*(d2-d1)))
dn1p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db2)-((da2)/((vv+d1*bmeva)*&
(vv+d2*bmeva)))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db2
dn2p=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db2)-((da2)/((vv+d1*bmeva)*&
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

(vv+d2*bmeva)))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db2
dpv=((-r*t)/(vv-bmeva)**2)+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+d1*bmeva)*(vv+d2*bmeva))**2))
dlnfiy2=dch+(1/(r*t))*((dn1p*dn2p)/dpv)+1
dg2dlognatk2=(1+(y2*dlnfiy2))

dnp=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db1)-((da1)/((vv+d1*bmeva)*(vv+d2*bmeva)))+&
((((d1+d2)*vv)+(2*d1*d2*bmeva))/((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db1
dpv=((-r*t)/(vv-bmeva)**2)+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+d1*bmeva)*(vv+d2*bmeva))**2))
lnfipv=-((1/(r*t))*((dnp/dpv)))-(1/p)

dnp=((r*t)/(vl-bemliq))+(((r*t)/((vl-bemliq)**2))*db1liq)-((da1liq)/((vl+d1*bemliq)*&
(vl+d2*bemliq)))+((((d1+d2)*vl)+(2*d1*d2*bemliq))/&
((vl+d1*bemliq)*(vl+d2*bemliq))**2)*ameliq*db1liq
dpv=((-r*t)/(vl-bemliq)**2)+((ameliq*((2*vl)+(d1+d2)*bemliq))/(((vl+d1*bemliq)*(vl+d2*bemliq))**2))
lnfipl=-(1/(r*t))*((dnp/dpv))-(1/p)
dg1p=p*(lnfipv-lnfipl)

dnp=((r*t)/(vv-bmeva))+(((r*t)/((vv-bmeva)**2))*db2)-((da2)/&
((vv+d1*bmeva)*(vv+d2*bmeva)))+((((d1+d2)*vv)+(2*d1*d2*bmeva))/&
((vv+d1*bmeva)*(vv+d2*bmeva))**2)*ameva*db2
dpv=((-r*t)/(vv-bmeva)**2)+((ameva*((2*vv)+(d1+d2)*bmeva))/(((vv+d1*bmeva)*(vv+d2*bmeva))**2))
lnfipv=-(1/(r*t))*((dnp/dpv))-(1/p)

dnp=((r*t)/(vl-bemliq))+(((r*t)/((vl-bemliq)**2))*db2liq)-((da2liq)/&
((vl+d1*bemliq)*(vl+d2*bemliq)))+((((d1+d2)*vl)+(2*d1*d2*bemliq))/&
((vl+d1*bemliq)*(vl+d2*bemliq))**2)*ameliq*db2liq
dpv=((-r*t)/(vl-bemliq)**2)+((ameliq*((2*vl)+(d1+d2)*bemliq))/(((vl+d1*bemliq)*(vl+d2*bemliq))**2))
lnfipl=-(1/(r*t))*((dnp/dpv))-(1/p)
dg2p=p*(lnfipv-lnfipl)
aqmg=0

g1=log(ki)+lognatfi1va-lognatfi1liq
g2=log(kj)+lognatfi2va-lognatfi2liq
g3=y1+y2-1.084

v1=log(ki)
v2=log(kj)
v3=log(p)

end subroutine

!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@

subroutine
inversa(dg1dlognatk1,dg1dlognatk2,dg1p,dg2dlognatk1,dg2dlognatk2,dg2p,y1,y2,aeqm,g1,g2,g3,v1,v2,v3,k1c,k
2c,pca,k1c1,k2c1,pca1,c1,c2)
real , dimension(9) :: x, y
real , dimension(3,3) :: a,b,c,d,f
real , dimension(3,1) :: e,g,h,l,solucion, solucion1
integer i,j,k
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

real k1c,k2c,pca,k1c1,k2c1,pca1,c1,c2

a(1,1)=0;a(1,2)=0;a(1,3)=0
a(2,1)=0;a(2,2)=0;a(2,3)=0
a(3,1)=0;a(3,2)=0;a(3,3)=0

a(1,1)=dg1dlognatk1;a(1,2)=dg1dlognatk2;a(1,3)=dg1p
a(2,1)=dg2dlognatk1;a(2,2)=dg2dlognatk2;a(2,3)=dg2p
a(3,1)=y1;a(3,2)=y2;a(3,3)=aqmg
c2=c1+3.152
do i=1,3
do j=1,3
b(i,j) = a(j,i)
end do
end do
c(1,1)= (a(2,2)*a(3,3)-a(3,2)*a(2,3))
c(2,1)= -(a(1,2)*a(3,3)-a(3,2)*a(1,3))
c(3,1)= (a(1,2)*a(2,3)-a(2,2)*a(1,3))
c(1,2)= -(a(2,1)*a(3,3)-a(3,1)*a(2,3))
c(2,2)= (a(1,1)*a(3,3)-a(3,1)*a(1,3))
c(3,2)= -(a(1,1)*a(2,3)-a(2,1)*a(1,3))
c(1,3)= (a(2,1)*a(3,2)-a(3,1)*a(2,2))
c(2,3)= -(a(1,1)*a(3,2)-a(3,1)*a(1,2))
c(3,3)= (a(1,1)*a(2,2)-a(2,1)*a(1,2))
do i=1,3
do j=1,3
d(i,j) = c(j,i)
end do
end do
d=d/(a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)+a(1,3)*a(2,1)*a(3,2)-a(1,3)*a(2,2)*a(3,1)-a(1,2)*a(2,1)*a(3,3)-
a(1,1)*a(2,3)*a(3,2))
e(1,1)=g1
e(2,1)=g2
e(3,1)=g3
g=matmul(d,e)
l(1,1)=v1
l(2,1)=v2
l(3,1)=v3
do i=1,3
do j=1,1
solucion(i,j) = l(i,j)-g(i,j)
end do
end do
do i=1,3
do j=1,1
solucion1(i,j) = l(i,j)+g(i,j)
end do
end do
k1c1=solucion1(1,1)
k2c1=solucion1(2,1)
pca1=solucion1(3,1)
k1c=solucion(1,1)
k2c=solucion(2,1)
pca=solucion(3,1)
end subroutine
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

subroutine vector(xc,xb,mc,mb,xi,mi)
implicit none
real:: xc,xi,xb,mc,mi,mb

xi=xc+(-4.85334*(10.0**(-11.0))*xb**6&
+1.77485*(10.0**(-8.0))*xb**5.0&
-1.83556*(10.0**(-6.0))*xb**4.0&
+4.79093*(10.0**(-5.0))*xb**3.0&
+2.21094*(10.0**(-3.0))*xb**2.0&
+0.202014*xb+1.64939)

if ((mc-mb)>1e-3) then
mi=mc-(0.999-mb)

else
mi=mc

end if

end subroutine

PROPIEDADES CRÍTICAS DE LOS COMPUESTOS

En la tabla 2 se muestran las propiedades termodinámicas. Estas propiedades se utilizaran cálculo


del equilibrio L-V para puros usando Fortran 95 y serán comparadas con los datos experimentales
a diferentes temperaturas.

Tabla 2. Propiedades críticas de sustancias puras.

Y la constante de los gases ideales que se usó fue en las siguientes unidades:

𝑐𝑚3 ∗ 𝑀𝑃𝑎
𝑅 = 83.14
𝑚𝑜𝑙 ∗ 𝐾
Y las K para el CO2+n-nonano:

K=0.1009 @T=315.12

K=0.0959 @T=418.82

Y las K para el CO2+n-undecano:

K=0.1138 @T=314.98
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

CÁLCULO DEL EQUILIBRIO L-V PARA MEZCLAS

En la tabla 3 ,4 y 5 se muestran los resultados del ELV así como sus desviaciones. La desviación se
calcula usando la ecuación:

𝜌𝑒𝑥𝑝 − 𝜌𝑐𝑎𝑙
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 = ( ) ∗ 100
𝜌𝑒𝑥𝑝

Donde

𝜌𝑒𝑥𝑝 : Densidad experimental

𝜌𝑐𝑎𝑙 : Densidad calculada

Tabla 3. Cálculos de ELV (CO2 + n-nonane)


T = 315.12 K
xCO2 pexp (MPa) pcal (MPa) Desviacion (%)
0.2207 2.033 2.023 0.491883915
0.3254 3.098 3.078 0.645577792
0.4601 4.309 4.291 0.417730332
0.5698 5.452 5.417 0.641966251
0.7085 6.668 6.648 0.299940012
0.7975 7.204 7.164 0.555247085
0.8993 7.8 7.77 0.384615385
0.934 8.026 8.016 0.124595066

Tabla 4. Cálculos de ELV (CO2 + n-nonane)


T = 418.82 K
xCO2 pexp (MPa) pcal (MPa) Desviacion (%)
0.146 2.548 2.538 0.392464678
0.2008 3.729 3.719 0.26816841
0.2599 5.058 5.026 0.632661131
0.3381 6.62 6.588 0.483383686
0.3978 7.99 7.947 0.538172716
0.4657 9.476 9.433 0.453777965
0.5371 11.122 11.079 0.386621111
0.5889 12.509 12.491 0.143896395
0.6733 14.154 14.136 0.127172531
0.7321 15.627 15.6 0.172777884
0.811 16.773 16.734 0.232516544
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

Tabla 5. Cálculos de ELV (CO2 + n-undecane)


T = 314.98 K
xCO2 p exp(MPa) pcal (MPa) Desviacion (%)
0.2433 2.373 2.355 0.758533502
0.3087 3.162 3.13 1.01201771
0.3801 4.01 3.975 0.872817955
0.4544 4.92 4.905 0.304878049
0.5258 5.698 5.671 0.473850474
0.5825 6.287 6.252 0.55670431
0.6366 6.879 6.867 0.17444396
0.737 7.638 7.615 0.301125949
0.9134 8.294 8.281 0.156739812

GRAFICAS DE DESVIACIÓN

A continuación se muestra en las gráficas de desviación a diferentes composiciones.

Gráfica 1. Desviación del CO2+n-nonano a 315.12 k

0.7

0.6

0.5
Desviación (%)

0.4

0.3
CO2+nonano-315 k

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
X CO2
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA QUÍMICA E INDUSTRIAS EXTRACTIVAS

Gráfica 2. Desviación del CO2+n-nonano a 418.82 k

0.7

0.6

0.5
Desviación (%)

0.4

0.3
CO2+nonano-418 k

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
X CO2

Gráfica 3. Desviación del CO2+n-undecano a 314.98 k

1.2

0.8
Desviación (%)

0.6
CO2+undecano-314.98 k
0.4

0.2

0
0 0.2 0.4 0.6 0.8 1
X CO2

También podría gustarte