Construcción de curvas de residuo C3OHH2OACC3

69
MEXICO DF, DICIEMBRE 2015 ASESOR: DRA. NANCY P. MARTÍNEZ CRUZ PRESENTA: TIMOTEO DOMÍNGUEZ CASTELAZO INGENIERO QUÍMICO INDUSTRIAL QUE PARA OBTENER EL TÍTULO DE: T E S I S CONSTRUCCIÓN DEL MAPA DE CURVAS DE RESIDUO DE LA MEZCLA TERNARIA N-PROPANOLAGUAPROPILACETATO DEPARTAMENTO DE INGENIERÍA QUÍMICA ESCUELA SUPERIOR DE INGENIERÍA QUÍMICA E INDUSTRIAS EXTRACTIVAS INSTITUTO POLITÉCNICO NACIONAL

Transcript of Construcción de curvas de residuo C3OHH2OACC3

Page 1: Construcción de curvas de residuo C3OHH2OACC3

MEXICO DF, DICIEMBRE 2015

ASESOR: DRA. NANCY P. MARTÍNEZ CRUZ

PRESENTA:

TIMOTEO DOMÍNGUEZ CASTELAZO

INGENIERO QUÍMICO INDUSTRIAL

QUE PARA OBTENER EL TÍTULO DE:

T E S I S

CONSTRUCCIÓN DEL MAPA DE CURVAS DE RESIDUO

DE LA MEZCLA TERNARIA N-PROPANOL—AGUA—

PROPILACETATO

DEPARTAMENTO DE INGENIERÍA QUÍMICA

ESCUELA SUPERIOR DE INGENIERÍA QUÍMICA E INDUSTRIAS EXTRACTIVAS

INSTITUTO POLITÉCNICO NACIONAL

Page 2: Construcción de curvas de residuo C3OHH2OACC3

1

Page 3: Construcción de curvas de residuo C3OHH2OACC3

2

Page 4: Construcción de curvas de residuo C3OHH2OACC3

3

A Dios:

Por darme la vida, la inteligencia y todo lo demás.

A mis padres:

Por el apoyo incondicional que me dieron

A la Dra. Nancy P. Martínez Cruz:

Por dirigirme en esta Tesis, y por mostrarme el potencial que puedo tener

A los profesores sinodales:

Por las aportaciones que hicieron a este trabajo y por su paciencia.

Page 5: Construcción de curvas de residuo C3OHH2OACC3

4

Y vio Dios que la luz era buena; y separó Dios la luz de

las tinieblas. Génesis 1:4

Page 6: Construcción de curvas de residuo C3OHH2OACC3

i

CONTENIDO GENERAL

RESUMEN……………………………………………………………………….iii INTRODUCCIÓN……………………………………………………………….iv

CAPÍTULO I. GENERALIDADES

I.1 Características y usos del acetato de n-propilo ……………………..1

I.1.1 Obtención industrial……………………………………………….1

I.2 Representaciones gráficas de los procesos de destilación..……….2

I.2.1 Curvas de destilación……………………………………………..2

I.2.2 Curvas de residuo…………………………………………………2

I.2.3 Utilidad de los mapas de curvas de destilación y de residuo 2

I.3 Fundamentos Termodinámicos………………………………………...4

I.3.1 Equilibrio líquido-vapor………………………….………………...4

I.3.2 Ley de Raoult modificada…………………………………………4

I.3.3 Ecuación de Renon……………………………………………….5

CAPÍTULO II. CONSTRUCCIÓN DE CURVAS DE RESIDUO

II.1 Correlación del coeficiente de actividad de las fases líquidas…....8

II.1.1 Sistemas binarios …..……………………………………………8

II.1.1.1 Agua-acetato de propilo……………………………….9

II.1.1.2 Propanol-agua…………………………………………10

II.1.1.3 Propanol-acetato de propilo………………………….11

II.1.2 Sistema ternario…………………………………………………12

II.2 Algoritmos matemáticos………………………………………………16

Page 7: Construcción de curvas de residuo C3OHH2OACC3

ii

II.2.1 Temperatura de burbuja con el método de Newton-Raphson………………………………………………………………...16

II.2.2 Equilibrio líquido-líquido con el método de Newton-Raphson multivariable……………………………………………………………16

II.2.3 Curva de residuo con el método de Euler……………………19

II.3 Construcción de programas computacionales……………………..20

II.3.1 Equilibrio líquido-líquido-vapor………………………………...20

II.3.2 Curva de residuo………………………………………………..21

CAPÍTULO III. RESULTADOS Y DISCUSIÓN

III.1 Mapa de curvas de destilación……………………………………...23

III.2 Mapa aproximado de curvas de residuo…….…….……………….23

III.3 Mapa de curvas de residuo………………………………………….25

CONCLUSIONES Y RECOMENDACIONES

HEMEROGRAFÍA

ANEXOS

A. Código del programa para calcular el equilibrio L-L-V con el método de Newton-Raphson multivariable.

B. Código del programa para calcular curvas de residuo.

Nota: Las tablas presentes en este trabajo fueron realizadas en Microsoft Excel 2007® al igual que los diagramas de fase binarios. Los diagramas triangulares fueron realizados en ProSim Ternary Diagram® que puede ser adquirido de forma gratuita en: http://www.prosim.net/en/resources-downloads_7.php

Page 8: Construcción de curvas de residuo C3OHH2OACC3

iii

RESUMEN:

El presente trabajo tiene como propósito la construcción del mapa de curvas

residuo MCR, de una mezcla ternaria alcohol n-propílico, agua y propilacetato

producto de la reacción de esterificación:

CH3COOH+CH3(CH2)2OH àCH3COO(CH2)2CH3+H2O

en la que el ácido es el reactivo limitante y se ha llevado al agotamiento. El mapa

provee información para el diseño conceptual de la separación del acetato de

propilo de la mezcla.

El trabajo se ha desarrollado en tres capítulos:

En el primer capítulo se expone la teoría fundamental del contenido de este

trabajo: información acerca de las propiedades del acetato de propilo, los

fundamentos termodinámicos y una breve introducción a los mapas de curvas de

destilación y de residuo.

En el segundo capítulo se presenta la correlación de los parámetros de

interacción binarios de la ecuación del modelo de solución de Renon, para el

cálculo del coeficiente de actividad de las mezclas binarias y de la mezcla ternaria

propanol – agua – propilacetato ; los algoritmos necesarios para el cálculo de las

curvas de residuo y los diagramas de flujo de los programas para resolver el

equilibrio líquido-líquido-vapor.

En el tercer capítulo se muestran los mapas de curvas construidos y la

información referente a tipo de nodos, límites de destilación y azeótropos binarios

y ternario.

Page 9: Construcción de curvas de residuo C3OHH2OACC3

iv

INTRODUCCIÓN

La destilación es una de las formas más utilizadas para la separación de los

componentes de una mezcla, siendo los egipcios los primeros en aplicarla para la

obtención de esencias vegetales. Más tarde los alquimistas árabes la

perfeccionaron para obtener alcohol y otros líquidos purificados. En la actualidad

son muy pocos los procesos químicos que no incluyen alguna destilación, ya que

la mayoría de las reacciones ocurren en fase líquida. Recientemente se han

desarrollado técnicas para mejorar la separación de mezclas. Para el caso de la

destilación, el conjunto de variaciones se conocen por el nombre general de

“destilación asistida”

Agrupa las siguientes operaciones:

• Destilación con sal

• Destilación extractiva

• Destilación azeotrópica (homogénea y heterogénea)

• Destilación reactiva

Tanto las destilaciones extractiva, azeotrópica heterogénea y reactiva se llevan a

cabo siempre con al menos 3 componentes, que además suelen presentar casos

de complejidad (azeótropos); por ello es de utilidad conocer el comportamiento de

este tipo de mezclas desde el punto de vista termodinámico, lo que permite el uso

eficiente de estas técnicas.

Una de las herramientas que más utilidad tiene dentro del análisis termodinámico

de mezclas multicomponentes es el mapa de curvas de residuo, o MCR. Una

curva de residuo es la representación de una destilación de Rayleigh en la que

una mezcla se lleva a ebullición y el vapor producido es condensado con un

refrigerante y almacenado en otro recipiente.

Page 10: Construcción de curvas de residuo C3OHH2OACC3

v

CALOR

xi(t)

yi(t)

Baja Teb

MediaTeb

AltaTeb

Figura 0. Sistema experimental para obtener curvas de residuo y dirección de una curva de residuo de un

sistema sin azeótropos

Para sistemas complejos es muy común el uso de simuladores para construir los

MCR, sin embargo aún es necesario proporcionarles parámetros para que

reproduzcan adecuadamente el equilibrio líquido-vapor; además de que las

licencias para su uso suelen tener un costo muy elevado. Por esto último, uno de

los objetivos de este trabajo fue el generar programas de cómputo capaces de

calcular curvas de residuo. Adicional a esto, también se construyeron programas

para calcular el equilibrio líquido-líquido-vapor de mezclas ternarias y binarias, un

programa para calcular curvas de destilación, y el cálculo de coeficientes de

actividad de mezclas multicomponentes con la ecuación de Renon.

El sistema que se utilizó para este trabajo, es el resultado de la reacción de

esterificación del n-propanol con ácido acético, en el que este último se utiliza

como reactivo limitante y es llevado al agotamiento.

Page 11: Construcción de curvas de residuo C3OHH2OACC3

1

CAPÍTULO I.- GENERALIDADES

I.1 Características y usos del acetato de n-propilo

De los ésteres el acetato de n-propilo es de particular importancia debido a su

uso como sustituto del aroma natural de la pera, aunque no es producido en

grandes cantidades. Es un éster líquido incoloro; miscible en alcoholes, cetonas,

hidrocarburos y otros ésteres, sin embargo, es poco soluble en agua, se volatiliza

rápidamente en condiciones ambientales y es un producto poco higroscópico

Se usa como agente saborizante de alimentos y en perfumes, además como

solvente en la aplicación de lacas, adhesivos y plásticos.

I.1.1 Obtención industrial

Reacción de obtención:

CH3COOH+CH3(CH2)2OH àCH3COO(CH2)2CH3+H2O

A nivel industrial el acetato de n-propilo se obtiene como producto de la

esterificación de Fisher que consiste en el calentamiento de una mezcla de alcohol

y ácido acético, utilizando el n-propanol en exceso para aumentar el rendimiento.

El ácido sulfúrico es utilizado en bajas concentraciones como catalizador y

sustancia higroscópica que absorbe el agua formada en la reacción. La reacción

de esterificación es reversible, por lo que los reactivos no se convierten

completamente y el efluente del reactor es una mezcla de reactivos y productos

que deben ser purificados. La separación de los efluentes del reactor, en muchos

casos, se lleva a cabo por destilación. Una forma de facilitar la purificación del

acetato es utilizar al ácido acético como reactivo limitante y llevarlo al agotamiento,

obteniendo así la mezcla ternaria de la cual se estudia su comportamiento en el

equilibrio líquido vapor, para su posterior separación.

Page 12: Construcción de curvas de residuo C3OHH2OACC3

2

I.2 Representaciones gráficas de los procesos de destilación

I.2.1 Curvas de destilación

Matemáticamente hablando, el sistema de destilación más simple de analizar es

una serie de etapas de separación de equilibrio (FLASH). El proceso ocurre de la

siguiente manera: Un líquido de composición genera un vapor en equilibrio de

composición ; luego este vapor es condensado totalmente e introducido en otro

equipo en el que se genera un nuevo vapor. El proceso se repite hasta obtener la

composición deseada. Cuando se trabaja una mezcla ternaria, la gráfica de las

composiciones de los condensados es llamado “curva de destilación”, y el

conjunto de estas curvas genera un “mapa de curvas de destilación”.

I.2.2 Curvas de residuo

Una destilación por lotes consiste en la evaporación de una mezcla líquida en un

recipiente cuya salida es hacia un condensador total. Con el pasar del tiempo se

genera una serie de vapores ricos en el componente más volátil de la mezcla

original, mientras que el líquido del recipiente se va enriqueciendo del componente

más pesado. En una mezcla ternaria el graficar las composiciones de este último

líquido en distintos momentos de la destilación genera lo que se conoce como una

“curva de residuo”, y si se parte desde distintas composiciones iniciales se genera

un “mapa de curvas de residuo”.

I.2.3 Utilidad de los mapas de curvas de destilación y de residuo

Los mapas de curvas de destilación y de residuo proporcionan información crucial

para el diseño de procesos de separación que involucran el equilibrio líquido –

vapor. A través de ellas puede conocerse el comportamiento de una mezcla

durante la separación y también las composiciones de los productos a obtener.

Los mapas de curvas de residuo (MCR) han atraído el interés de las comunidades

académicas y de las de diseño de ingeniería conceptual. Además de ser útil como

una herramienta de síntesis de procesos, los MCR también pueden ser usados

Page 13: Construcción de curvas de residuo C3OHH2OACC3

3

para visualizar e investigar cuestiones del equilibrio líquido-líquido-vapor (ELLV)

que afectan el modelamiento de columnas de destilación y de extracción

líquido/líquido. [ELLV denota sistemas que contienen 2 fases líquidas y una fase

vapor en equilibrio]. Otras áreas de aplicación son para la solución de problemas

de columnas y análisis de control. La utilidad de los MCR recae en el hecho de

que los perfiles de composición de columnas de destilación continua se aproximan

a las trayectorias de la composición de las curvas de residuo. Este último hecho se

ejemplifica en la figura 1, en la que se muestra el mapa de curvas de residuo de

un sistema ideal (baja presión y naturaleza química de los componentes

semejante). Se aprecia que la dirección de las curvas es del compuesto más

volátil (metanol) al más pesado (n-propanol), y por ello mismo si se elige al

compuesto que se encuentra al final de las curvas, éste se obtendrá como residuo

en la destilación, mientras que si se pretende obtener al que está en el inicio, éste

se obtendrá en el destilado. El compuesto de volatilidad intermedia (etanol) no

puede obtenerse puro en una sola columna. Las líneas rectas muestran los

balances de materia posibles de estas dos selecciones.

Figura 1. Mapa de curvas de residuo del sistema metanol – etanol – n-propanol a

1 bar.

Page 14: Construcción de curvas de residuo C3OHH2OACC3

4

I.3 Fundamentos termodinámicos

I.3.1 Equilibrio líquido – vapor

Se reconoce al equilibrio como una condición estática donde no ocurren cambios

en las propiedades macroscópicas a lo largo del tiempo. En la práctica, sólo se

justifica esta suposición cuando no conduce a errores significativos.

Un sistema que consta de la fase líquida y la fase vapor en contacto estrecho, con

el tiempo alcanza un estado final en donde no existe tendencia para que suceda

algún cambio dentro del mismo. La temperatura, la presión y las composiciones de

fase logran valores que en adelante permanecen fijos. Se puede decir que el

sistema está ahora en equilibrio. A pesar de esto, a nivel microscópico las

condiciones no son estáticas. Las moléculas que se hallan en la fase líquida pasan

continuamente a la fase vapor y viceversa. De cualquier modo, la velocidad a la

que esto ocurre es, en promedio, igual en ambas direcciones por lo que el

equilibrio es una suposición válida. [1]

I.3.2 Ley de Raoult modificada

Una de las condiciones de equilibrio es la igualdad de fugacidades en todas las

fases presentes. De forma rigurosa para un sistema de un líquido con su vapor,

esta igualdad se expresa como:

Donde yi y xi son las fracciones mol del componente i en el vapor y líquido

respectivamente, es el coeficiente de fugacidad del componente i en el vapor, P

es la presión del sistema, es el coeficiente de actividad, Ps es la presión de

saturación, es el coeficiente de fugacidad de saturación del componente i en el

líquido y (PF)i es el factor de Poynting. Cuando el sistema se encuentra a

presiones bajas (hasta 1.1 bar) la fase vapor tiene un comportamiento cercano al

de un gas ideal, lo que reduce el miembro izquierdo de la expresión a simplemente

la presión parcial del componente i. Además de esto, para la mayoría de los

Page 15: Construcción de curvas de residuo C3OHH2OACC3

5

( )

( ) úúû

ù

êêë

é

÷÷ø

öççè

æ

++÷÷

ø

öççè

æ

+=

úúû

ù

êêë

é

÷÷ø

öççè

æ

++÷÷

ø

öççè

æ

+=

2

2121

2121

2

1212

1212

2

12

2

2112

1212

2

2121

2121

2

21

ln

ln

Gxx

G

Gxx

Gx

Gxx

G

Gxx

Gx

ttg

ttg

sistemas el factor de Poynting es muy cercano a la unidad en condiciones

normales, por lo que la igualdad de fugacidades se expresaría como:

la que es conocida como Ley de Raoult modificada [1].

I.3.3 Ecuación de Renon (NRTL)

La ecuación NRTL (Non Random Two Liquid) fue desarrollada por Renon y

Prausnitz para hacer uso del concepto de composición local, evitando al mismo

tiempo la incapacidad de la ecuación de Wilson para predecir la separación de

fases líquido-líquido. La ecuación resultante ha tenido bastante éxito en la

correlación de una amplia variedad de sistemas (útil para las mezclas altamente

no ideales y parcialmente miscibles).

El modelo para la derivación de la ecuación NRTL es una teoría representada por

dos moléculas, en las que el líquido tiene una estructura de moléculas del tipo 1 y

tipo 2 en una mezcla binaria (Figura 2), cada una de ellas rodeada de varias de las

mismas moléculas, con cada una de ellas rodeada a su vez de manera similar y

así sucesivamente.

Cada molécula 1 ó 2 está rodeada por moléculas de ambos tipos en proporciones

determinadas por la interacción de la energía libre de Gibbs ijg , lo cual se indica

en la Figura 2.

La energía de interacción de Gibbs entre moléculas se denota por ijg para 2,1=i

y 2,1=j ; donde el subíndice j se refiere a la molécula central, y la región de la

fracción mol que la rodea, ijx , se identifican de la misma manera.

Los coeficientes de actividad de una mezcla binaria se obtienen de:

………………1.3

………………1.4

Page 16: Construcción de curvas de residuo C3OHH2OACC3

6

Estas ecuaciones tienen 3 parámetros independientes que son 1212 ,ta , y 21t de

los cuales

( )RT

gg 2212

12

-=t y

( )RT

gg 1121

21

-=t

donde 11g y 22g son la energía de Gibbs de las sustancias puras; suponiendo

2112 gg = .

Además

( )121212 exp ta-=G y ( )211221 exp ta-=G

La ecuación para multicomponentes se expresa en términos de parámetros

binarios como se describe a continuación.

2T

c

T

ba

ijij

ijij ++=t ; T en K

( )ijijijG ta-= exp

úúúú

û

ù

êêêê

ë

é

÷÷÷÷

ø

ö

çççç

è

æ

-=

å

å

åå

å

=

=

==

=

n

k

kkj

n

k

kjkjk

ijn

k

kkj

ijj

n

k

kkj

n

j

jjiji

i

xG

Gx

xG

Gx

xG

xG

1

1

11

1ln

tt

t

g

Los parámetros ijt , jit y jiij aa = se requieren para cada par binario. Estos

parámetros pueden ser dependientes de la temperatura. Si ijt se representa

como una sola constante, se encontrarán mejores resultados sobre un intervalo de

temperatura si solamente se usa RTggb jjijij /)( -= y 0== ijij ca . El parámetro

ija no varía grandemente entre binario y binario, y es frecuente fijarlo en 0.3 para

sistemas L-V y de 0.2 para sistemas L-L. [2,3]

……………1.5 y 1.6

………………1.7 y 1.8

………………1.9

…………………1.10

…………………1.11

Page 17: Construcción de curvas de residuo C3OHH2OACC3

7

Figura 2. Dos arreglos de moléculas de acuerdo a la teoría de Scott de mezclas

líquidas binarias.[2]

Page 18: Construcción de curvas de residuo C3OHH2OACC3

8

CAPÍTULO II.- CONSTRUCCIÓN DE CURVAS DE RESIDUO

II.1 Correlación del coeficiente de actividad de las fases líquidas

II.1.1- Sistemas Binarios

Para el sistema agua – propanol – acetato de propilo se tienen las siguientes

mezclas binarias:

· agua – acetato de propilo

· n-propanol – agua

· n-propanol – acetato de propilo

De ellas se realizó el ajuste de los parámetros de interacción binarios (gi,j-gj,j)/R

pertenecientes a las ecuaciones 1.3 y 1.4 presentadas en el capítulo anterior. A

dilución infinita, las ecuaciones para el coeficiente de actividad se reducen a:

Que pueden resolverse de forma simultánea para obtener los parámetros de

interacción binaria a partir de datos experimentales. A continuación se presentan

los resultados de estos ajustes para cada una de las mezclas binarias antes

mencionadas.

Page 19: Construcción de curvas de residuo C3OHH2OACC3

9

II.1.1.1 Agua – acetato de propilo

Figura 3. Diagrama T vs x,y del sistema agua – acetato de n – propilo

Esta mezcla, presenta un comportamiento de dos fases líquidas, con un azeótropo

conocido como de bajo punto de ebullición. Para la construcción del diagrama de

la Figura 3 se construyó un programa adicional para el cálculo del equilibrio líquido

– líquido – vapor de una mezcla binaria.

80

85

90

95

100

105

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

T[°

C]

fracción mol de agua

Puntos de burbuja

calculados

Puntos de rocío

calculados

Puntos de burbuja

experimentales

Puntos de rocío

experimentales

Page 20: Construcción de curvas de residuo C3OHH2OACC3

10

Tabla 1. Correlación de datos para el sistema agua – acetato de n-propilo

DATOS EXPERIMENTALES DATOS CALCULADOS % ERROR

T[°C] x agua y agua T[°C] x agua y agua

101.56 0.0000 0.0000 101.46 0.0000 0.0000 0.1000

94.40 0.0343 0.2090 94.92 0.0343 0.2107 0.5200

89.90 0.0730 0.3550 90.00 0.0730 0.3391 0.1013

82.76 0.1900 0.5230 81.53 0.1900 0.4763 1.2309

82.76 0.9967 0.5230 81.53 0.9967 0.4947 1.2303

91.10 0.9984 0.7270 90.32 0.9984 0.7263 0.7800

95.40 0.9993 0.8650 34.26 0.9993 0.8594 1.1400

98.10 0.9997 0.9220 98.20 0.9997 0.9173 0.1001

100.00 1.0000 1.0000 100.00 1.0000 1.0000 0.0000

Los datos experimentales fueron tomados del DECHEMA pp. 304 [5]

Tabla 2. Parámetros de interacción binarios para la mezcla agua – acetato de

propilo

(gi,j – gj,j)/R DECHEMA CALCULADOS

1,2 1760.7 1760.3253

2,1 362.45 362.4451

Page 21: Construcción de curvas de residuo C3OHH2OACC3

11

II.1.1.2 Propanol – agua

Figura 4. Diagrama T vs x,y del sistema propanol – agua

Esta mezcla exhibe un azeótropo de bajo punto de ebullición.

A continuación se presenta la correlación de datos

86

88

90

92

94

96

98

100

102

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

T[°

C]

fracción mol de propanol

Puntos de burbuja

calculados

Puntos de rocío

calculados

Puntos de burbuja

experimentales

Puntos de rocío

experimentales

Page 22: Construcción de curvas de residuo C3OHH2OACC3

12

Tabla 3. Correlación de datos para el sistema propanol - agua

DATOS EXPERIMENTALES DATOS CALCULADOS %ERROR

T[°C] x propanol y propanol T[°C] x propanol y propanol

101.6 0 0 101.436996 0 0 0.16300

101.3 0.009 0.01 100.264 0.038461 0.071855 1.03826

100 0.057 0.1 99.283501 0.076923 0.133676 0.71757

99.5 0.07 0.119 98.459297 0.115385 0.187727 1.04396

98.2 0.149 0.225 97.763397 0.153846 0.23566 0.43676

97.8 0.17 0.246 97.1745 0.192308 0.27872 0.62675

97.25 0.21 0.29 96.675903 0.230769 0.317869 0.57515

96.3 0.285 0.365 96.254402 0.269231 0.353868 0.04952

96.1 0.32 0.395 95.8993 0.307692 0.387333 0.20122

95.7 0.357 0.4175 95.602303 0.346154 0.418775 0.09831

95 0.5 0.525 95.356598 0.384615 0.448629 0.38250

94.9 0.595 0.6 95.156799 0.423077 0.477274 0.33251

94.85 0.623 0.623 94.998802 0.461538 0.505049 0.24925

94.9 0.656 0.646 94.879601 0.5 0.532269 0.19413

94.95 0.687 0.668 94.797096 0.538462 0.559234 0.23932

94.9 0.697 0.675 94.750099 0.576923 0.586237 0.21158

95 0.722 0.693 94.738297 0.615385 0.61358 0.29353

95.2 0.763 0.727 94.762299 0.653846 0.641574 0.45912

95.3 0.784 0.745 94.823502 0.692308 0.67056 0.49092

95.3 0.795 0.752 94.9245 0.730769 0.700914 0.38436

95.3 0.798 0.755 95.069 0.769231 0.733063 0.23382

95.4 0.802 0.758 95.261597 0.807692 0.767506 0.13885

95.5 0.817 0.775 95.508598 0.846154 0.804831 0.04259

95.55 0.833 0.762 95.817902 0.884615 0.845752 0.28539

96.1 0.905 0.876 96.199402 0.923077 0.891143 0.10216

97 0.9825 0.972 96.665199 0.961538 0.942095 0.33679

97.2 1 1 97.230698 1 1 0.03070

Page 23: Construcción de curvas de residuo C3OHH2OACC3

13

Tabla 4. Parámetros de interacción binarios para la mezcla n-propanol – agua

(gi,j – gj,j)/R DECHEMA CALCULADOS

1,2 181.25 181.2351

2,1 930.6361 928.0729

II.1.1.3 Propanol – Acetato de propilo

Figura 5. Diagrama de equilibrio del sistema propanol – acetato de propilo

La mezcla exhibe un azeótropo de bajo punto de ebullición, con una sola fase

líquida. Para esta mezcla se obtuvieron parámetros que producen un mejor ajuste

de los puntos, distintos a los reportados en DECHEMA, por lo que además de los

parámetros se reporta con fines comparativos el porcentaje de diferencia absoluta

(%DA).

94

95

96

97

98

99

100

101

102

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

T[°

C]

fracción mol de propanol

Puntos de burbuja

calculados

Puntos de rocío

calculados

Puntos de burbuja

experimentales

Puntos de rocío

experimentales

Page 24: Construcción de curvas de residuo C3OHH2OACC3

14

Tabla 5. Correlación de datos para el sistema propanol – acetato de propilo

DATOS EXPERIMENTALES DATOS CALCULADOS %ERROR

T[°C] x propanol y propanol T[°C] x propanol y propanol

100 0 0 100.017998 0 0 0.01800

89.3 0.05 0.3481 90.3069 0.052632 0.325631 1.00715

88.38 0.1 0.3759 88.539001 0.105263 0.38018 0.15915

88.1 0.15 0.3858 88.089302 0.157895 0.395788 0.01663

87.97 0.2 0.3922 87.913101 0.210526 0.403249 0.05891

87.81 0.25 0.3999 87.792198 0.263158 0.40987 0.02428

87.72 0.3 0.4065 87.687798 0.315789 0.417785 0.03760

87.65 0.35 0.4139 87.604301 0.368421 0.427669 0.05116

87.62 0.4 0.4202 87.555901 0.421053 0.439765 0.07025

87.62 0.45 0.4397 87.557503 0.473684 0.454234 0.06840

87.65 0.5 0.4499 87.6241 0.526316 0.4713 0.04268

87.77 0.55 0.4667 87.771599 0.578947 0.491331 0.03804

87.98 0.6 0.4878 88.018799 0.631579 0.514917 0.05690

88.31 0.65 0.5139 88.390602 0.684211 0.542982 0.09227

Tabla 6. Parámetros de interacción binarios para la mezcla n-propanol – acetato

de propilo

(gi,j – gj,j)/R DECHEMA CALCULADOS

1,2 531.132 %DA 170.9998 %DA

2,1 -217.9861 25.11 56.3613 21.28

II.1.2 Sistema ternario

Para el cálculo del coeficiente de actividad de mezclas multicomponentes con la

ecuación de Renon, son necesarios los parámetros de interacción para cada par

binario (ecuaciones 1.5 y 1.6). Utilizando los encontrados en la sección II.1.1, se

obtiene el diagrama de la Figura 6. Es posible observar la gran desviación que

genera este cálculo, por lo que es necesario ajustar dichos parámetros para

Page 25: Construcción de curvas de residuo C3OHH2OACC3

15

reproducir el comportamiento de la mezcla ternaria. En este trabajo, el ajuste se

realizó por incrementos y decrementos de los parámetros de la sección II.1.1,

dando como resultado los datos de la tabla 8. Con estos datos se obtuvieron los

valores de la tabla 7 y el diagrama de la figura 7; los cuales aunque no reproducen

por completo el comportamiento buscado sí proporcionan un mejor cálculo.

Figura 6. Datos experimentales vs. atos calculados del sistema agua – propanol –

acetato de propilo

Page 26: Construcción de curvas de residuo C3OHH2OACC3

16

Tabla 7. Correlación de datos para el sistema propanol(1) – agua(2) –

propilacetato(3)

FASE LÍQUIDA ORGÁNICA FASE VAPOR FASE LÍQUIDA ACUOSA

Pto.1 Experimental Calculado Experimental Calculado Experimental Calculado t (°C) 82.49 82.76 t (°C) 82.49 82.76 t (°C) 82.49 82.76

ox1 0.086 0.091

1y 0.059 0.072 ax1

0.0059 0.009

ox2 0.243 0.199

2y 0.515 0.517 ax2

0.9903 0.987

ox3 0.671 0.711

3y 0.426 0.414 ax3

0.0038 0.003

Pto. 2 t (°C) 82.46 82.5 t (°C) 82.46 82.5 t (°C) 82.46 82.5

ox1 0.154 0.168

1y 0.103 0.124 ax1

0.0113 0.019

ox2 0.306 0.24

2y 0.516 0.509 ax2

0.9847 0.978

ox3 0.540 0.592

3y 0.381 0.368 ax3

0.004 0.004

Pto. 3 t (°C) 82.63 82.59 t (°C) 82.63 82.59 t (°C) 82.63 82.59

ox1 0.207 0.233

1y 0.132 0.165 ax1

0.0175 0.028

ox2 0.368 0.286

2y 0.523 0.505 ax2

0.9784 0.968

ox3 0.425 0.481

3y 0.345 0.331 ax3

0.0041 0.004

Pto. 4 t (°C) 83.29 82.693 t (°C) 83.29 82.693 t (°C) 83.29 82.693

1Ox 0.254 0.284 1y 0.191 0.225

1ax 0.0306 0.049

2Ox 0.525 0.335 2y 0.525 0.505

2ax 0.9642 0.947

3Ox 0.221 0.381 3y 0.284 0.270

3ax 0.0052 0.005

Pto. 5 t(°C) 83.75 83.723 t(°C) 83.75 83.723 t(°C) 83.75 83.723

1Ox 0.237 0.347 1y 0.219 0.216

1ax 0.0402 0.033

2Ox 0.63 0.45 2y 0.529 0.254

2ax 0.9528 0.961

3Ox 0.133 0.203 3y 0.252 0.53

3ax 0.007 0.006

Pto. 6 t(°C) 84.08 84.031 t(°C) 84.08 84.031 t(°C) 84.08 84.031

1Ox 0.195 0.353 1y 0.232 0.23

1ax 0.0602 0.031

2Ox 0.724 0.488 2y 0.532 0.535

2ax 0.9267 0.959

3Ox 0.195 0.159 3y 0.236 0.235

3ax 0.0131 0.01

Datos experimentales tomados de DECHEMA, pp. 523

Page 27: Construcción de curvas de residuo C3OHH2OACC3

17

Figura 7. Corelación de datos para el sistema ternario n-propanol(1) – agua(2) –

propilacetato(3)

Tabla 8. Parámetros de interacción binarios de la mezcla n-propanol(1) – agua(2)

– acetato de propilo(3).

gi,j – gj,j BINARIOS SECCIÓN II.1.1 AJUSTADOS

1,2 181.2351 100

2,1 928.0729 1020

1,3 170.9998 250

3,1 56.3614 -60

2,3 1760.3253 1965

3,2 362.4451 480

Page 28: Construcción de curvas de residuo C3OHH2OACC3

18

II.2 Algoritmos matemáticos

II.2.1 Temperatura de burbuja con el método de Newton - Raphson

Para el cálculo del punto de burbuja se tiene como datos la composición de la fase

líquida y la presión del sistema. En estas condiciones, la ecuación 1.2 puede

reacomodarse a:

Donde y son funciones de la temperatura. Si se resta la presión a ambos

lados de la ecuación, se genera una expresión que puede resolverse con el

método numérico de Newton – Raphson. El procedimiento a seguir es:

1. Suponer una temperatura (T) para el punto de burbuja. Dicha temperatura

debe estar cercana a la solución, por lo que se recomienda utilizar una

temperatura intermedia entre los puntos de ebullición de los componentes

más volátil y más pesado.[6]

2. Calcular y a la temperatura supuesta

3. Evaluar la función objetivo con los valores calculados

4. Calcular y a 1.0001*T

5. Evaluar con estos nuevos valores la función objetivo

6. Si ,donde ε es el criterio de convergencia, el valor de la temperatura

actual es el del punto de burbuja, de lo contrario se debe calcular un

incremento para la siguiente iteración como:

7. Repetir a partir del punto 2 hasta la convergencia de la función objetivo.

II.2.2 Equilibrio líquido – líquido con el método de Newton – Raphson

multivariable

Al igual que el equilibrio líquido – vapor, el equilibrio líquido – líquido tiene como

condición la igualdad de fugacidades para ambas fases. Si la fugacidad de la fase

……………….2.1

Page 29: Construcción de curvas de residuo C3OHH2OACC3

19

líquida esta es la expresada en la ecuación 1.2, entonces la igualdad de

fugacidades está dada por:

Donde y * son las composiciones de cada fase líquida y es el coeficiente de

actividad de la respectiva fase. En estas circunstancias, las únicas variables a

encontrar son las composiciones de ambas fases. La ecuación 2.2 puede

reacomodarse, quedando de la siguiente forma:

Que puede resolverse con el método de Newton – Raphson multivariable. La

dificultad se encuentra en que para cualquier sistema de ecuaciones, se debe

contar con igual número de ecuaciones que incógnitas existan. Y para un sistema

de n componentes, se tienen n ecuaciones y 2n variables a conocer. Sin embargo,

esto puede simplificarse si se plantea el sistema como un separador en el que se

introduce una mezcla de composición zi la cual se separa en dos fases líquidas L1

y L2. Entonces, el balance de materia para cada componente queda como:

Ahora bien, si se divide toda la expresión entre L, y llamamos a la relación L1/L

como β ,la ecuación 2.4 puede escribirse como:

La ecuación 2.5 vincula ambas fases a través del coeficiente de separación β, Lo

que permite reducir el número de incógnitas a n+1. Por otro lado, si se utiliza la

igualdad: se reducen en una unidad, con lo que se llega a un

sistema con una única solución. Las ecuaciones a resolver son entonces:

………………………..2.2

……………………….2.3

…………………….2.4

……………………….2.5

Page 30: Construcción de curvas de residuo C3OHH2OACC3

20

El algoritmo de solución es el siguiente:

1. Se tiene como datos iniciales la composición global z, la temperatura

supuesta del sistema y la presión

2. Se propone una composición para una de las fases líquidas. Walas [4]

recomienda identificar el par que produce la inmiscibilidad y adjudicarle las

composiciones de 0.9 y 0.05, ya que en la mayoría de los sistemas suele

existir una fase con una composición semejante.

3. Se propone un coeficiente de separación β. La selección de éste dependerá

en gran manera del comportamiento de la mezcla, pero se sugiere que sea

entre 0.3 y 0.5

4. Se obtiene las derivadas parciales de cada una de las funciones a resolver

respecto a cada una de las variables involucradas, en este caso las

composiciones de la fase líquida menos la del último componente y el

coeficiente de separación.

5. Se evalúan tanto las funciones como las derivadas parciales con los datos

supuestos en los puntos 2 y 3

6. Se resuelve el siguiente sistema de ecuaciones:

Page 31: Construcción de curvas de residuo C3OHH2OACC3

21

Donde son los incrementos para la variable , y es la derivada

parcial de la función respecto a la variable .

7. Con los incrementos calculados, se le da un nuevo valor a las variables y se

repiten los pasos 4,5 y 6 hasta una convergencia apropiada.

Sin duda, la parte más complicada de este método es el cálculo de las derivadas

parciales. Sin embargo vale el esfuerzo al reducir los intentos para encontrar las

composiciones buscadas.

II.2.3 Curva de residuo con el método de Euler

El cambio en la composición del residuo de un sistema de destilación simple está

dado por:

Donde representa la masa total del residuo y es la composición de un vapor

en equilibrio con este residuo. Si se considera que el residuo decrece con el paso

del tiempo, y pueden combinarse en una sola variable [3,7], lo que convierte

a la ecuación 2.6 en:

La solución de la ecuación diferencial 2.7 puede obtenerse aplicando el método

numérico de Euler, siguiendo el siguiente procedimiento:

1. Elegir un punto de composición inicial de la fase líquida ( )

2. Elegir un número de puntos H a obtener

3. Elegir un tamaño del paso de integración tal que

4. Calcular, utilizando el método de punto de burbuja, la composición del

vapor en equilibrio ( ) con el punto inicial.

5. Calcular el siguiente valor de composición de líquido como:

………………2.6

………………2.7

Page 32: Construcción de curvas de residuo C3OHH2OACC3

22

6. Continuar hasta que h=H

El resultado de graficar las composiciones de líquido obtenidas es la curva de

residuo.

II.3 Construcción de programas computacionales

II.3.1 Equilibrio líquido – líquido – vapor

Como se vio en el punto anterior, para poder construir la curva de residuo es

necesario calcular la composición en equilibrio con el líquido a estudiar. Además,

si este líquido se encuentra en dos fases, también será necesario conocer la

composición de estas fases líquidas para poder calcular la composición del vapor.

La forma de optimizar estos cálculos es la construcción de un programa con

métodos anidados. El resultado de esto es el siguiente algoritmo:

1. Leer las constantes de la ecuación de Antoine y de la ecuación de Renon

desde un archivo

2. Solicitar al usuario la presión a la cual se realizará el cálculo, así como la

composición global de las fases líquidas

3. Fijar la temperatura inicial

4. Calcular las composiciones de las fases líquidas utilizando el algoritmo de

la sección II.2.2

5. Si a las condiciones actuales sólo existe una fase líquida, el paso anterior

proporcionará un valor de β negativo o mayor que 1. Si esto se presenta se

deberá usar la composición global de la fase líquida como valores para el

siguiente paso

6. La solución del punto 4 proporciona las composiciones de las fases

líquidas en equilibrio. Con estas composiciones se calcula la composición

de la fase vapor yi

7. Si la sumatoria de yi no es igual a la unidad, se calcula un incremento para

la temperatura con el método discutido en la sección II.2.1 y se repite el

cálculo a partir del paso 4 hasta llegar a la convergencia.

Page 33: Construcción de curvas de residuo C3OHH2OACC3

23

En este procedimiento, es posible notar que se requiere calcular dos veces la

composición de las fases líquidas (si las hay). Sin embargo, ya que no hay gran

diferencia entre las temperaturas, puede despreciarse la diferencia realizando el

cálculo una sola vez por cada iteración. El diagrama de flujo del procedimiento es

el mostrado en la figura 8.

Figura 8. Algoritmo para calcular el equilibrio L–L–V.

La aplicación de este algoritmo para una mezcla binaria se reduce a encontrar la

composición de las fases líquidas en equilibrio, a la presión del sistema, y luego

calcular el equilibrio líquido-vapor en los intervalos (0, ) y ( ,1) poniendo entre

ellos los puntos ( , ) y ( , ) donde y representan las composiciones de las

fases líquidas en equilibrio. Este procedimiento genera un diagrama de fases

como el de la Figura 3 que se muestra en la sección II.1.1.1.

II.3.2 Curva de residuo

El algoritmo es el siguiente:

1. Leer desde un archivo los parámetros de la ecuación de Antoine, así como

los de la ecuación de Renon.

Page 34: Construcción de curvas de residuo C3OHH2OACC3

24

2. Solicitar al usuario la presión(P) de trabajo, el número de puntos a

calcular(N) y el tamaño de paso o incremento(Δε)

3. Solicitar el punto inicial (x1,x2,x3)

4. Calcular el ELV o ELLV según sea el caso

5. Calcular el siguiente valor de xi como para los dos

primeros componentes

6. Calcular la composición del tercer componente por diferencia

7. Repetir los pasos 4,5 y 6 hasta que n=N

Con este algoritmo se genera el diagrama de flujo mostrado en la figura 9

Figura 9. Algoritmo para la construcción de curvas de residuo

Con este programa, se construyó el mapa de curvas de residuo del sistema

metanol – etanol – n-propanol que se muestra en la figura 1 de la sección I.2.3, al

igual que el mapa de curvas de residuo de la figura 13 y la curva de residuo de la

figura 12 del siguiente capítulo.

Page 35: Construcción de curvas de residuo C3OHH2OACC3

25

CAPÍTULO III.- RESULTADOS

III.1 Mapa de curvas de destilación

Para el sistema propanol-agua-propilacetato a 760 mmHg el mapa de curvas de destilación es el mostrado en la figura 10.

Figura 10. Mapa de curvas de destilación del sistema Propanol-agua-propilacetato.

III.2 Mapa aproximado de curvas de residuo

Doherty y Malone [7] proporcionan un procedimiento para construir un mapa

aproximado de curvas de residuo. Para ello se requieren las temperaturas de

ebullición de cada componente puro y las composiciones y temperaturas de los

Page 36: Construcción de curvas de residuo C3OHH2OACC3

26

azeótropos existentes. Para el sistema propanol-agua-propilacetato a 760 mmHg

esta información se presenta en las tablas 9 y 10.

Tabla 9. Temperaturas de ebullición de los componentes puros

COMPONENTE TEMPERATURA DE EBULLICIÓN [°C] n-Propanol 97.12

Agua 100 Acetato de propilo 101.56

Tabla 10. Azeótropos de la mezcla propanol-agua-propilacetato

COMPONENTES COMPOSICIÓN TEMPERATURA [°C]

PARES BINARIOS

n-Propanol(1) – Agua(2) 0.397,0.603 88.709

Agua(2) – Acetato de propilo(3) 0.521,0.479 82.703 n-Propanol(1) – Acetato de

propilo(3) 0.665,0.335 95.666

TERNARIO (1),(2),(3) 0.059,0.515,0.426 82.49

El mapa aproximado resultante se muestra en la figura 10, y la información del mapa se resume en la tabla 11.

Tabla 11. Información del mapa aproximado de curvas de residuo.

COMPONENTE(S) TEMPERATURA TIPO DE PUNTO n-Propanol(1) 97.12 Nodo Estable

Agua(2) 100 Nodo Estable Acetato de propilo(3) 101.56 Nodo Estable

1,2 88.709 Silla 2,3 82.703 Silla 1,3 95.666 Silla

1,2,3 82.49 Nodo Inestable

Los nodos estables corresponden a los componentes puros debido a que poseen

los más altos puntos de ebullición en las regiones de destilación a las que

pertenecen. El nodo inestable perteneciente al azeótropo ternario heterogéneo

Page 37: Construcción de curvas de residuo C3OHH2OACC3

27

debe su comportamiento a que tiene el más bajo punto de ebullición en el mapa.

Finalmente los puntos silla de los azeótropos binarios son los puntos de ebullición

intermedios, y además son los límites de las zonas de destilación.

Figura 11. Mapa aproximado de curvas de residuo del sistema Propanol – agua – propilacetato

III.3 Mapa de curvas de residuo.

Con el programa mencionado en la sección II.3.2 se calcularon 20 puntos de la

curva de residuo mostrada en la figura 12, y cuya información se presenta en la

tabla 12. La curva se construyó con un paso de integración de 0.1 hacia adelante y

de -0.1 hacia atrás.

Page 38: Construcción de curvas de residuo C3OHH2OACC3

28

Tabla 12. Resultados del cálculo de una curva de residuo

x(agua) x(propilacetato) x(propanol) y(agua) y(propilacetato) y(propanol) ε

0.4 0.3 0.3 0.5323 0.2883 0.1794 0

0.3868 0.3012 0.3121 0.5267 0.2862 0.1871 0.1

0.3728 0.3027 0.3246 0.5203 0.2844 0.1953 0.2

0.358 0.3045 0.3375 0.5132 0.2827 0.204 0.3

0.3425 0.3067 0.3508 0.5053 0.2814 0.2133 0.4

0.3262 0.3092 0.3646 0.4964 0.2804 0.2233 0.5

0.3092 0.3121 0.3787 0.4863 0.2797 0.2339 0.6

0.2915 0.3153 0.3932 0.4751 0.2795 0.2454 0.7

0.2731 0.3189 0.408 0.4625 0.2798 0.2577 0.8

0.2542 0.3228 0.423 0.4484 0.2806 0.2711 0.9

0.2348 0.327 0.4382 0.4325 0.2819 0.2855 1

0.215 0.3315 0.4535 0.4148 0.284 0.3012 1.1

0.195 0.3363 0.4687 0.3951 0.2867 0.3182 1.2

0.175 0.3412 0.4837 0.3733 0.2902 0.3365 1.3

0.1552 0.3464 0.4985 0.3492 0.2944 0.3563 1.4

0.1358 0.3515 0.5127 0.323 0.2995 0.3775 1.5

0.1171 0.3567 0.5262 0.2946 0.3054 0.3999 1.6

0.0993 0.3619 0.5388 0.2645 0.3121 0.4234 1.7

0.0828 0.3669 0.5504 0.2332 0.3193 0.4475 1.8

0.0677 0.3716 0.5607 0.2014 0.3269 0.4717 1.9

0.4 0.3 0.3 0.5323 0.2883 0.1794 0

0.4132 0.2988 0.2879 0.5376 0.2906 0.1718 -0.1

0.4257 0.298 0.2763 0.5423 0.293 0.1646 -0.2

0.4373 0.2975 0.2652 0.5465 0.2956 0.1578 -0.3

0.4483 0.2973 0.2544 0.5503 0.2983 0.1514 -0.4

0.4585 0.2974 0.2441 0.5537 0.3011 0.1453 -0.5

0.468 0.2978 0.2342 0.5567 0.3039 0.1394 -0.6

0.4769 0.2984 0.2247 0.5594 0.3068 0.1338 -0.7

0.4851 0.2992 0.2157 0.5619 0.3096 0.1285 -0.8

0.4928 0.3003 0.2069 0.5641 0.3125 0.1234 -0.9

0.4999 0.3015 0.1986 0.5661 0.3153 0.1185 -1

0.5065 0.3029 0.1906 0.568 0.3182 0.1139 -1.1

0.5127 0.3044 0.1829 0.5697 0.3209 0.1094 -1.2

0.5184 0.3061 0.1756 0.5713 0.3236 0.1051 -1.3

0.5237 0.3078 0.1685 0.5727 0.3263 0.101 -1.4

0.5286 0.3097 0.1618 0.5741 0.3289 0.097 -1.5

0.5331 0.3116 0.1553 0.5754 0.3314 0.0932 -1.6

0.5374 0.3136 0.1491 0.5766 0.3338 0.0896 -1.7

0.5413 0.3156 0.1431 0.5777 0.3362 0.0861 -1.8

0.5449 0.3176 0.1374 0.5788 0.3385 0.0827 -1.9

Page 39: Construcción de curvas de residuo C3OHH2OACC3

29

Figura 12. Ejemplo de una curva de residuo

Y siguiendo el mismo procedimiento, se obtuvo el mapa de curvas de residuo que

se muestra en la Figura 13. Se puede apreciar que la topología de este mapa

coincide con el mapa de curvas de destilación, por lo que se puede considerar

como correcto.

Page 40: Construcción de curvas de residuo C3OHH2OACC3

30

Figura 13. Mapa de curvas de residuo del sistema propanol-agua-propilacetato a 760 mmHg

El MCR obtenido está formado por tres regiones de destilación delimitadas por los

azeótropos binarios (a), (b) y (c) y el azeótropo ternario heterogéneo de bajo punto

de ebullición (d). En las regiones I y II, las curvas se dirigen hacia los

componentes puros agua y acetato de propilo, comenzando desde el azeótropo

binario agua-propilacetato y pasando por el azeótropo ternario heterogéneo. En la

región III las curvas se dirigen hacia el componente puro n-propanol, partiendo

desde el azeótropo ternario heterogéneo.

Page 41: Construcción de curvas de residuo C3OHH2OACC3

31

Con base en el mapa construido, se observa que si la alimentación se encuentra

dentro de las regiones I y II, el residuo obtenido será uno de los componentes

puros mientras que el destilado será una mezcla heterogénea. Si por el contrario

se encuentra en la región central III es posible obtener al n-propanol como residuo,

mientras que en el destilado se obtendrá una mezcla ternaria. El punto del

azeótropo ternario heterogéneo mostrado se distingue por ser el punto de más

baja temperatura y es además el punto desde el cual se originan todas las curvas

de residuo.

Page 42: Construcción de curvas de residuo C3OHH2OACC3

32

CONCLUSIONES

· Con las herramientas de cómputo elaboradas es posible construir MCR’s

· El sistema estudiado se considera como complejo con un azeótropo

ternario heterogéneo de bajo punto de ebullición, lo que hace pensar que

para la separación es necesario un proceso de destilación y extracción

líquido-líquido más elaborado.

· Con respecto a la correlación de parámetros de interacción binarios, se

encontraron valores muy semejantes a los reportados en DECHEMA [5],

excepto para el sistema propanol–propilacetato, para el que los valores

encontrados en este trabajo producen un mejor ajuste que los reportados,

lo cual se ve reflejado en un menor valor de la diferencia absoluta

porcentual. Con respecto al ajuste para el sistema ternario, Walas [3]

menciona que los parámetros que reproducen el comportamiento de las

mezclas binarias en equilibrio líquido-vapor no necesariamente

reproducirán el comportamiento del equilibrio de las mezclas ternarias,

como es el caso del sistema de estudio de este trabajo.

· No se dispone de información experimental para cotejar los resultados

obtenidos. Sin embargo el mapa de curvas de residuo obtenido es un

avance en el estudio del comportamiento del equilibrio de la mezcla ternaria

propanol-agua-propilacetato.

Page 43: Construcción de curvas de residuo C3OHH2OACC3

33

RECOMENDACIONES

· Como continuación de este trabajo, se propone la construcción de un mapa

de curvas de residuo experimental, así como un mejor ajuste de los

parámetros de interacción para la mezcla ternaria.

Page 44: Construcción de curvas de residuo C3OHH2OACC3

34

HEMEROGRAFÍA

1. Smith, J., Van Ness, H., Abbott, M. (2007)Introducción a la termodinámica

en ingeniería química. México: Mc Graw Hill 2. Renon, H., Prausnitz, J. (1968) Local compositions in thermodynamic excess

functions for liquid mixtures [versión electrónica] AIChE Journal 14 (135-144) 3. Walas, S. (1985) Phase equilibria in chemical Engineering. Massachusetts:

Butterworth-Heinemann 4. Seader, J., Henley, E., Roper, D. (2011) Separation process principles :

chemical and biochemical operations. Hoboken: John Wiley & Sons 5. Gesellscaft für Chemische Technik und Biotechnologie (1987) Chemistry

data series. Frankfurt: DECHEMA 6. Milo D. Koretsky (2004) Engineering and chemical thermodynamics. New

Jersey: John Wiley & Sons 7. Doherty M., Malone, M., (2001) Conceptual design of distillation systems.

New York: Mc Graw Hill

Page 45: Construcción de curvas de residuo C3OHH2OACC3

35

ANEXO A. CÓDIGO DEL PROGRAMA PARA CALCULAR EL EQUILÍBRIO L-L-V CON EL MÉTODO DE NEWTON-RAPHSON MULTIVARIABLE.

Este programa fue codificado en Fortran 90 ®

program NRMNRTL implicit none REAL:: a(3,3),b(3,3),x(3),g(3,3),t(3,3),z(3),xo(3) REAL::mat(3,4) REAL::Ti,phs,er REAL,EXTERNAL::lng REAL,EXTERNAL::dg1x1,dg2x1,dg3x1,dg1x2,dg2x2,dg3x2 REAL,EXTERNAL::dgx1x1,dgx2x1,dgx3x1,dgx1x2,dgx2x2,dgx3x2 REAL,EXTERNAL::dgx1b,dgx2b,dgx3b INTEGER::i,j,k CHARACTER::S OPEN(UNIT=26, FILE="tieline.txt", STATUS="replace") OPEN(UNIT=25,FILE="datos.dat",STATUS="old",ACTION="read") do i=1,3 do j=1,3 if (i==j) then b(i,j)=0 else PRINT*, "b(",i,",",j,") " READ(25,*) b(i,j) end if call system ("cls") end do end do a=0 do i=1,3 do j=1,3 if (a(j,i)/=0) then a(i,j)=a(j,i) end if if (i/=j.and.a(i,j)==0) then PRINT*, "a(",i,",",j,")= " READ(25,*) a(i,j) end if end do end do call system ("cls") S="s" do WHILE(S=="S".or.S=="s") do i=1,3

Page 46: Construcción de curvas de residuo C3OHH2OACC3

36

PRINT*, "z(",i,")= " READ*, z(i) end do PRINT*, "Introduzca la temperatura en C" READ*, Ti do i=1,3 do j=1,3 t(i,j)=b(i,j)/(Ti+273.15) g(i,j)=EXP(-1.0*a(i,j)*t(i,j)) end do end do x=(/0.,1.,0./) phs=0.3 er=1 do i=1,3 xo(i)=((z(i)-phs*x(i))/(1.-phs)) end do k=0 do WHILE(er>=0.33.and.k<2000) call matriz(dg1x1,dg2x1,dg3x1,dg1x2,dg2x2,dg3x2,dgx1x1,& &dgx2x1,dgx3x1,dgx1x2,dgx2x2,dgx3x2,dgx1b,dgx2b,dgx3b,lng,mat,3,g,t,x,xo,z,phs) call avance(x,mat,3,phs) er=SQRT((mat(1,4)**2))+SQRT((mat(2,4)**2))+SQRT((mat(3,4)**2)) WRITE(26,50) k,"->","X=",x,"b=",phs,"e=",er WRITE(26,53) "f1= ",mat(1,4)," f2= ",mat(2,4)," f3= ",mat(3,4) k=k+1 end do call system("pause") call system("cls") 50 FORMAT(I5,A3,A3,3F7.4,A3,F7.4,A3,F7.4) 53 FORMAT(A4,F7.4,A5,F7.4,A5,F7.4) do i=1,3 PRINT'(A3,I2,A4,F7.4)', "X(",i,")= ",x(i) WRITE(26,51) "X(",i,")= ",x(i) end do 51 FORMAT (A3,I2,A4,F7.4) do i=1,3 PRINT'(A4,I2,A4,F7.4)', "X2(",i,")= ",((z(i)-phs*x(i))/(1.-phs)) end do PRINT'(A7,F7.4)',"beta= ",phs WRITE(26,52) "b=",phs 52 FORMAT (A7,F7.4) PRINT*, "¿Desea realizar otro calculo? S/N" READ*, S end do end program

Page 47: Construcción de curvas de residuo C3OHH2OACC3

37

function lng(g,t,n,x,r) implicit none REAL::lng integer ::n,r REAL::g(n,n),t(n,n),x(n) INTEGER::i,j,k,l,m REAL::s1,s2,s3,s4,s5 s1=0 s2=0 s3=0 do i=1,n s1=s1+(t(i,r)*g(i,r)*x(i)) end do do i=1,n s2=s2+(g(i,r)*x(i)) end do s5=0 do j=1,n s3=0 s4=0 do k=1,n s3=s3+(g(k,j)*x(k)) end do do l=1,n s4=s4+(x(l)*t(l,j)*g(l,j)) end do s5=s5+(((x(j)*g(r,j))/s3)*(t(r,j)-(s4/s3))) end do lng=(s1/s2)+s5 return end function lng function dg1x1(g,t,i,j,x) implicit none REAL::dg1x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=-t(3,1)*g(3,1) A(2)=(t(2,1)*g(2,1)-t(3,1)*g(3,1))*x(2)+t(3,1)*g(3,1) A(3)=1.-g(3,1) A(4)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(5)=1 A(6)=0 A(7)=1.-g(3,1)

Page 48: Construcción de curvas de residuo C3OHH2OACC3

38

A(8)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(9)=-t(3,1)*g(3,1) A(10)=(t(2,1)*g(2,1)-t(3,1)*g(3,1))*x(2)+t(3,1)*g(3,1) A(11)=1.-g(3,1) A(12)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(13)=0 A(14)=g(1,2)*x(2) A(15)=g(1,2)-g(3,2) A(16)=(1.-g(3,2))*x(2)+g(3,2) A(17)=t(1,2)*g(1,2)-t(3,2)*g(3,2) A(18)=t(3,2)*g(3,2)-t(3,2)*g(3,2)*x(2) A(19)=g(1,2)-g(3,2) A(20)=(1.-g(3,2))*x(2)+g(3,2) A(21)=-g(1,3) A(22)=g(1,3)*(1-x(2)) A(23)=g(1,3)-1. A(24)=(g(2,3)-1.)*x(2)+1. A(25)=t(1,3)*g(1,3) A(26)=t(2,3)*g(2,3)*x(2) A(27)=g(1,3)-1. A(28)=(g(2,3)-1.)*x(2)+1. do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dg1x1=C(1)-B(2)*C(3)-B(3)*C(2)-B(4)*C(5)+(t(1,2)-B(5))*C(4)-B(6)*C(7)+(t(1,3)-B(7))*C(6) return end function function dg1x2(g,t,i,j,x) implicit none REAL::dg1x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(2,1)*g(2,1)-t(3,1)*g(3,1) A(2)=-t(3,1)*g(3,1)*x(1)+t(3,1)*g(3,1) A(3)=g(2,1)-g(3,1) A(4)=(1.-g(3,1))*x(1)+g(3,1) A(5)=0 A(6)=x(1) A(7)=g(2,1)-g(3,1) A(8)=(1.-g(3,1))*x(1)+g(3,1) A(9)=t(2,1)*g(2,1)-t(3,1)*g(3,1)

Page 49: Construcción de curvas de residuo C3OHH2OACC3

39

A(10)=-t(3,1)*g(3,1)*x(1)+t(3,1)*g(3,1) A(11)=g(2,1)-g(3,1) A(12)=(1.-g(3,1))*x(1)+g(3,1) A(13)=g(1,2) A(14)=0 A(15)=1.-g(3,2) A(16)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(17)=t(3,2)*g(3,2)-t(3,2)*g(3,2) A(18)=t(1,2)*g(1,2)-t(3,2)*g(3,2)*x(1) A(19)=1.-g(3,2) A(20)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(21)=-g(1,3) A(22)=g(1,3)*(1-x(1)) A(23)=g(2,3)-1. A(24)=(g(1,3)-1.)*x(1)+1. A(25)=t(2,3)*g(2,3) A(26)=t(1,3)*g(1,3)*x(1) A(27)=g(2,3)-1. A(28)=(g(1,3)-1.)*x(1)+1. do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dg1x2=C(1)-B(2)*C(3)-B(3)*C(2)-B(4)*C(5)+(t(1,2)-B(5))*C(4)-B(6)*C(7)+(t(1,3)-B(7))*C(6) return end function function dg2x1(g,t,i,j,x) implicit none REAL::dg2x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(1,2)*g(1,2)-t(3,2)*g(3,2) A(2)=-t(3,2)*g(3,2)*x(2)+t(3,2)*g(3,2) A(3)=g(1,2)-g(3,2) A(4)=(1.-g(3,2))*x(2)+g(3,2) A(5)=g(2,1) A(6)=0 A(7)=1.-g(3,1) A(8)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(9)=-t(3,1)*g(3,1) A(10)=(t(2,1)*g(2,1)-t(3,1)*g(3,1))*x(2)+t(3,1)*g(3,1) A(11)=1.-g(3,1)

Page 50: Construcción de curvas de residuo C3OHH2OACC3

40

A(12)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(13)=0 A(14)=x(2) A(15)=g(1,2)-g(3,2) A(16)=(1.-g(3,2))*x(2)+g(3,2) A(17)=t(1,2)*g(1,2)-t(3,2)*g(3,2) A(18)=t(3,2)*g(3,2)-t(3,2)*g(3,2)*x(2) A(19)=g(1,2)-g(3,2) A(20)=(1.-g(3,2))*x(2)+g(3,2) A(21)=-g(2,3) A(22)=g(2,3)*(1-x(2)) A(23)=g(1,3)-1. A(24)=(g(2,3)-1.)*x(2)+1. A(25)=t(1,3)*g(1,3) A(26)=t(2,3)*g(2,3)*x(2) A(27)=g(1,3)-1. A(28)=(g(2,3)-1.)*x(2)+1. do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dg2x1=C(1)-B(2)*C(3)+(t(2,1)-B(3))*C(2)-B(4)*C(5)-B(5)*C(4)-B(6)*C(7)+(t(2,3)-B(7))*C(6) return end function function dg2x2(g,t,i,j,x) implicit none REAL::dg2x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=-t(3,2)*g(3,2) A(2)=(t(1,2)*g(1,2)-t(3,2)*g(3,2))*x(1)+t(3,2)*g(3,2) A(3)=1.-g(3,2) A(4)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(5)=0 A(6)=g(2,1)*x(1) A(7)=g(2,1)-g(3,1) A(8)=(1.-g(3,1))*x(1)+g(3,1) A(9)=t(2,1)*g(2,1)-t(3,1)*g(3,1) A(10)=-t(3,1)*g(3,1)*x(1)+t(3,1)*g(3,1) A(11)=g(2,1)-g(3,1) A(12)=(1.-g(3,1))*x(1)+g(3,1) A(13)=1

Page 51: Construcción de curvas de residuo C3OHH2OACC3

41

A(14)=0 A(15)=1.-g(3,2) A(16)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(17)=t(3,2)*g(3,2)-t(3,2)*g(3,2) A(18)=t(1,2)*g(1,2)-t(3,2)*g(3,2)*x(1) A(19)=1.-g(3,2) A(20)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(21)=-g(2,3) A(22)=g(2,3)*(1-x(1)) A(23)=g(2,3)-1. A(24)=(g(1,3)-1.)*x(1)+1. A(25)=t(2,3)*g(2,3) A(26)=t(1,3)*g(1,3)*x(1) A(27)=g(2,3)-1. A(28)=(g(1,3)-1.)*x(1)+1. do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dg2x2=C(1)-B(2)*C(3)+(t(2,1)-B(3))*C(2)-B(4)*C(5)-B(5)*C(4)-B(6)*C(7)+(t(2,3)-B(7))*C(6) return end function function dg3x1(g,t,i,j,x) implicit none REAL::dg3x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(1,3)*g(1,3) A(2)=t(2,3)*g(2,3)*x(2) A(3)=g(1,3)-1. A(4)=(g(2,3)-1.)*x(2)+1. A(5)=g(3,1) A(6)=0 A(7)=1.-g(3,1) A(8)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(9)=-t(3,1)*g(3,1) A(10)=(t(2,1)*g(2,1)-t(3,1)*g(3,1))*x(2)+t(3,1)*g(3,1) A(11)=1.-g(3,1) A(12)=(g(2,1)-g(3,1))*x(2)+g(3,1) A(13)=0 A(14)=g(3,2)*x(2) A(15)=g(1,2)-g(3,2)

Page 52: Construcción de curvas de residuo C3OHH2OACC3

42

A(16)=(1.-g(3,2))*x(2)+g(3,2) A(17)=t(1,2)*g(1,2)-t(3,2)*g(3,2) A(18)=t(3,2)*g(3,2)-t(3,2)*g(3,2)*x(2) A(19)=g(1,2)-g(3,2) A(20)=(1.-g(3,2))*x(2)+g(3,2) A(21)=-1. A(22)=1.-x(2) A(23)=g(1,3)-1. A(24)=(g(2,3)-1.)*x(2)+1. A(25)=t(1,3)*g(1,3) A(26)=t(2,3)*g(2,3)*x(2) A(27)=g(1,3)-1. A(28)=(g(2,3)-1.)*x(2)+1. do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dg3x1=C(1)-B(2)*C(3)+(t(3,1)-B(3))*C(2)-B(4)*C(5)+(t(3,2)-B(5))*C(4)-B(6)*C(7)-B(7)*C(6) return end function function dg3x2(g,t,i,j,x) implicit none REAL::dg3x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(2,3)*g(2,3) A(2)=t(1,3)*g(1,3)*x(1) A(3)=g(2,3)-1. A(4)=(g(1,3)-1.)*x(1)+1. A(5)=0 A(6)=g(3,1)*x(1) A(7)=g(2,1)-g(3,1) A(8)=(1.-g(3,1))*x(1)+g(3,1) A(9)=t(2,1)*g(2,1)-t(3,1)*g(3,1) A(10)=-t(3,1)*g(3,1)*x(1)+t(3,1)*g(3,1) A(11)=g(2,1)-g(3,1) A(12)=(1.-g(3,1))*x(1)+g(3,1) A(13)=g(3,2) A(14)=0 A(15)=1.-g(3,2) A(16)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(17)=t(3,2)*g(3,2)-t(3,2)*g(3,2)

Page 53: Construcción de curvas de residuo C3OHH2OACC3

43

A(18)=t(1,2)*g(1,2)-t(3,2)*g(3,2)*x(1) A(19)=1.-g(3,2) A(20)=(g(1,2)-g(3,2))*x(1)+g(3,2) A(21)=-1. A(22)=1.-x(1) A(23)=g(2,3)-1. A(24)=(g(1,3)-1.)*x(1)+1. A(25)=t(2,3)*g(2,3) A(26)=t(1,3)*g(1,3)*x(1) A(27)=g(2,3)-1. A(28)=(g(1,3)-1.)*x(1)+1. do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dg3x2=C(1)-B(2)*C(3)+(t(3,1)-B(3))*C(2)-B(4)*C(5)+(t(3,2)-B(5))*C(4)-B(6)*C(7)-B(7)*C(6) return end function function dgx1x1(g,t,i,j,x,z,phs) implicit none REAL::dgx1x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(3,1)*g(3,1)*phs A(2)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs*x(2)+t(3,1)*g(3,1)*(1.-phs-z(2)-z(1))+t(2,1)*g(2,1)*z(2) A(3)=(-1.+g(3,1))*phs A(4)=(g(3,1)-g(2,1))*phs*x(2)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(5)=-phs A(6)=z(1) A(7)=(g(3,1)-1.)*phs A(8)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*phs A(10)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs*x(2)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(g(3,1)-1.)*phs A(12)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=0 A(14)=g(1,2)*z(2)-g(1,2)*phs*x(2) A(15)=(-g(1,2)+g(3,2))*phs A(16)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1)

Page 54: Construcción de curvas de residuo C3OHH2OACC3

44

A(17)=(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+t(3,2)*g(3,2)*phs*x(2)+t(1,2)*g(1,2)+z(1) A(19)=(-g(1,2)+g(3,2))*phs A(20)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(1,3)*phs A(22)=g(1,3)*x(2)*phs+g(1,3)*(1.-phs-z(1)-z(2)) A(23)=(1.-g(1,3))*phs A(24)=(1.-g(2,3))*phs*x(2)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(1,3)*g(1,3)+phs A(26)=-t(2,3)*g(2,3)*x(2)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(1,3))*phs A(28)=(1.-g(2,3))*phs*x(2)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dgx1x1=C(1)-B(2)*C(3)-B(3)*C(2)-B(4)*C(5)+(t(1,2)-B(5))*C(4)-B(6)*C(7)+(t(1,3)-B(7))*C(6) return end function function dgx1x2(g,t,i,j,x,z,phs) implicit none REAL::dgx1x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=(t(3,1)*g(3,1)-t(2,1)*g(2,1))*phs A(2)=t(3,1)*g(3,1)*phs*x(1)+t(3,1)*g(3,1)*(1.-phs-z(2)-z(1))+t(2,1)*g(2,1)*z(2) A(3)=(g(3,1)-g(2,1))*phs A(4)=(-1.+g(3,1))*phs*x(1)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(5)=0 A(6)=z(1)-phs*x(1) A(7)=(-g(2,1)+g(3,1))*phs A(8)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs A(10)=t(3,1)*g(3,1)*phs*x(1)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(-g(2,1)+g(3,1))*phs A(12)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-g(1,2)*phs A(14)=g(1,2)*z(2) A(15)=(g(3,2)-1.)*phs A(16)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*phs

Page 55: Construcción de curvas de residuo C3OHH2OACC3

45

A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs*x(1)+t(1,2)*g(1,2)+z(1) A(19)=(g(3,2)-1.)*phs A(20)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(1,3)*phs A(22)=g(1,3)*x(1)*phs+g(1,3)*(1.-phs-z(1)-z(2)) A(23)=(1.-g(2,3))*phs A(24)=(1.-g(1,3))*phs*x(1)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)+phs A(26)=-t(1,3)*g(1,3)*x(1)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(2,3))*phs A(28)=(1.-g(1,3))*phs*x(1)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dgx1x2=C(1)-B(2)*C(3)-B(3)*C(2)-B(4)*C(5)+(t(1,2)-B(5))*C(4)-B(6)*C(7)+(t(1,3)-B(7))*C(6) return end function function dgx1b(g,t,i,j,x,z,phs) implicit none REAL::dgx1b INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(3,1)*g(3,1)*x(2)-t(2,1)*g(2,1)*x(2)+t(3,1)*g(3,1)*x(1)-t(3,1)*g(3,1) A(2)=t(3,1)*g(3,1)*(1.-z(2)-z(1))+t(2,1)*g(2,1)*z(2) A(3)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(4)=g(3,1)*(1.-z(2)-z(1))+g(2,1)*z(2)+z(1) A(5)=-x(1) A(6)=z(1) A(7)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(8)=g(3,1)*(1.-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*x(2)-t(2,1)*g(2,1)*x(2)+t(3,1)*g(3,1)*x(1)-t(3,1)*g(3,1) A(10)=t(3,1)*g(3,1)*(1.-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(12)=g(3,1)*(1.-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-g(1,2)*x(2) A(14)=g(1,2)*z(2) A(15)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(2,1)*x(1)-g(3,2) A(16)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*x(2)+t(3,2)*g(3,2)*x(1)-t(1,2)*g(1,2)*x(1)-t(3,2)*g(3,2)

Page 56: Construcción de curvas de residuo C3OHH2OACC3

46

A(18)=t(3,2)*g(3,2)*(1.-z(1)-z(2))+t(1,2)*g(1,2)+z(1) A(19)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(1,2)*x(1)-g(3,2) A(20)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(1,3)*x(2)+g(1,3)*x(1)-g(1,3) A(22)=g(1,3)*(1.-z(1)-z(2)) A(23)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(24)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)*x(2)-t(1,3)*g(1,3)*x(1) A(26)=t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(28)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*phs+A(4*k-2))/(A(4*k-1)*phs+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*phs+A(4*k))**2) end do dgx1b=C(1)-B(2)*C(3)-B(3)*C(2)-B(4)*C(5)+(t(1,2)-B(5))*C(4)-B(6)*C(7)+(t(1,3)-B(7))*C(6) return end function function dgx2x1(g,t,i,j,x,z,phs) implicit none REAL::dgx2x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=(t(3,2)*g(3,2)-t(1,2)*g(1,2))*phs A(2)=t(3,2)*g(3,2)*phs*x(2)+t(3,2)*g(3,2)*(1.-phs-z(2)-z(1))+t(1,2)*g(1,2)*z(1) A(3)=(g(3,2)-g(1,2))*phs A(4)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(2)-z(1))+g(1,2)*z(1)+z(2) A(5)=-g(2,1)*phs A(6)=g(2,1)*z(1) A(7)=(g(3,1)-1.)*phs A(8)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*phs A(10)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs*x(2)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(g(3,1)-1.)*phs A(12)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=0 A(14)=z(2)-phs*x(2) A(15)=(-g(1,2)+g(3,2))*phs A(16)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs

Page 57: Construcción de curvas de residuo C3OHH2OACC3

47

A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+t(3,2)*g(3,2)*phs*x(2)+t(1,2)*g(1,2)+z(1) A(19)=(g(3,2)-g(1,2))*phs A(20)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(2,3)*phs A(22)=g(2,3)*x(2)*phs+g(2,3)*(1.-phs-z(1)-z(2)) A(23)=(1.-g(1,3))*phs A(24)=(1.-g(2,3))*phs*x(2)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(1,3)*g(1,3)+phs A(26)=-t(2,3)*g(2,3)*x(2)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(1,3))*phs A(28)=(1.-g(2,3))*phs*x(2)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dgx2x1=C(1)-B(2)*C(3)+(t(2,1)-B(3))*C(2)-B(4)*C(5)-B(5)*C(4)-B(6)*C(7)+(t(2,3)-B(7))*C(6) return end function function dgx2x2(g,t,i,j,x,z,phs) implicit none REAL::dgx2x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(3,2)*g(3,2)*phs A(2)=(t(3,2)*g(3,2)-t(1,2)*g(1,2))*phs*x(1)+t(3,2)*g(3,2)*(1.-phs-z(2)-z(1))+t(1,2)*g(1,2)*z(1) A(3)=(g(3,2)-1.)*phs A(4)=(g(3,2)-g(1,2))*phs*x(1)+g(3,2)*(1.-phs-z(2)-z(1))+z(2)+g(1,2)*z(1) A(5)=0 A(6)=g(2,1)*z(1)-g(2,1)*phs*x(1) A(7)=(-g(2,1)+g(3,1))*phs A(8)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs A(10)=t(3,1)*g(3,1)*phs*x(1)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(-g(2,1)+g(3,1))*phs A(12)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-phs A(14)=z(2) A(15)=(g(3,2)-1.)*phs A(16)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*phs

Page 58: Construcción de curvas de residuo C3OHH2OACC3

48

A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs*x(1)+t(1,2)*g(1,2)+z(1) A(19)=(g(3,2)-1.)*phs A(20)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(2,3)*phs A(22)=g(2,3)*x(1)*phs+g(2,3)*(1.-phs-z(1)-z(2)) A(23)=(1.-g(2,3))*phs A(24)=(1.-g(1,3))*phs*x(1)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)+phs A(26)=-t(1,3)*g(1,3)*x(1)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(2,3))*phs A(28)=(1.-g(1,3))*phs*x(1)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dgx2x2=C(1)-B(2)*C(3)+(t(2,1)-B(3))*C(2)-B(4)*C(5)-B(5)*C(4)-B(6)*C(7)+(t(2,3)-B(7))*C(6) return end function function dgx2b(g,t,i,j,x,z,phs) implicit none REAL::dgx2b INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(3,2)*g(3,2)*x(2)-t(1,2)*g(1,2)*x(1)+t(3,2)*g(3,2)*x(1)-t(3,2)*g(3,2) A(2)=t(3,2)*g(3,2)*(1.-z(2)-z(1))+t(1,2)*g(1,2)*z(1) A(3)=g(3,2)*x(2)-g(1,2)*x(1)+g(3,2)*x(1)-x(2)-g(3,2) A(4)=g(3,2)*(1.-z(2)-z(1))+g(1,2)*z(1)+z(2) A(5)=-g(2,1)*x(1) A(6)=g(2,1)*z(1) A(7)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(8)=g(3,1)*(1.-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*x(2)-t(2,1)*g(2,1)*x(2)+t(3,1)*g(3,1)*x(1)-t(3,1)*g(3,1) A(10)=t(3,1)*g(3,1)*(1.-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(12)=g(3,1)*(1.-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-x(2) A(14)=z(2) A(15)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(2,1)*x(1)-g(3,2) A(16)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*x(2)+t(3,2)*g(3,2)*x(1)-t(1,2)*g(1,2)*x(1)-t(3,2)*g(3,2)

Page 59: Construcción de curvas de residuo C3OHH2OACC3

49

A(18)=t(3,2)*g(3,2)*(1.-z(1)-z(2))+t(1,2)*g(1,2)+z(1) A(19)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(1,2)*x(1)-g(3,2) A(20)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=g(2,3)*x(2)+g(2,3)*x(1)-g(2,3) A(22)=g(2,3)*(1.-z(1)-z(2)) A(23)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(24)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)*x(2)-t(1,3)*g(1,3)*x(1) A(26)=t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(28)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*phs+A(4*k-2))/(A(4*k-1)*phs+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*phs+A(4*k))**2) end do dgx2b=C(1)-B(2)*C(3)+(t(2,1)-B(3))*C(2)-B(4)*C(5)-B(5)*C(4)-B(6)*C(7)+(t(2,3)-B(7))*C(6) return end function function dgx3x1(g,t,i,j,x,z,phs) implicit none REAL::dgx3x1 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=t(1,3)*g(1,3)*phs A(2)=-t(2,3)*g(2,3)*phs*x(2)+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(3)=(1.-g(1,3))*phs A(4)=(1.-g(2,3))*phs*x(2)+(g(2,3)-1.)*z(2)+(g(1,3)-1.)*z(1)+1.-phs A(5)=-g(3,1)*phs A(6)=g(3,1)*z(1) A(7)=(g(3,1)-1.)*phs A(8)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*phs A(10)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs*x(2)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(g(3,1)-1.)*phs A(12)=(-g(2,1)+g(3,1))*phs*x(2)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=0 A(14)=(z(2)-phs*x(2))*g(3,2) A(15)=(-g(1,2)+g(3,2))*phs A(16)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs

Page 60: Construcción de curvas de residuo C3OHH2OACC3

50

A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+t(3,2)*g(3,2)*phs*x(2)+t(1,2)*g(1,2)+z(1) A(19)=(g(3,2)-g(1,2))*phs A(20)=(g(3,2)-1.)*phs*x(2)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=phs A(22)=x(2)*phs+(1.-phs-z(1)-z(2)) A(23)=(1.-g(1,3))*phs A(24)=(1.-g(2,3))*phs*x(2)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(1,3)*g(1,3)+phs A(26)=-t(2,3)*g(2,3)*x(2)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(1,3))*phs A(28)=(1.-g(2,3))*phs*x(2)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(1)+A(4*k-2))/(A(4*k-1)*x(1)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(1)+A(4*k))**2) end do dgx3x1=C(1)-B(2)*C(3)+(t(3,1)-B(3))*C(2)-B(4)*C(5)+(t(3,2)-B(5))*C(4)-B(6)*C(7)-B(7)*C(6) return end function function dgx3x2(g,t,i,j,x,z,phs) implicit none REAL::dgx3x2 INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=-t(2,3)*g(2,3)*phs A(2)=-t(1,3)*g(1,3)*phs*x(1)+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(3)=(1.-g(2,3))*phs A(4)=(1.-g(1,3))*phs*x(1)+(g(2,3)-1.)*z(2)+(g(1,3)-1.)*z(1)+1-phs A(5)=0 A(6)=g(3,1)*z(1)-g(3,1)*phs*x(1) A(7)=(-g(2,1)+g(3,1))*phs A(8)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=(-t(2,1)*g(2,1)+t(3,1)*g(3,1))*phs A(10)=t(3,1)*g(3,1)*phs*x(1)+t(3,1)*g(3,1)*(1.-phs-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=(-g(2,1)+g(3,1))*phs A(12)=(g(3,1)-1.)*phs*x(1)+g(3,1)*(1.-phs-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-phs*g(3,2) A(14)=z(2)*g(3,2) A(15)=(g(3,2)-1.)*phs A(16)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*phs

Page 61: Construcción de curvas de residuo C3OHH2OACC3

51

A(18)=t(3,2)*g(3,2)*(1.-phs-z(1)-z(2))+(-t(1,2)*g(1,2)+t(3,2)*g(3,2))*phs*x(1)+t(1,2)*g(1,2)+z(1) A(19)=(g(3,2)-1.)*phs A(20)=(-g(1,2)+g(3,2))*phs*x(1)+g(3,2)*(1.-phs-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=phs A(22)=x(1)*phs+(1.-phs-z(1)-z(2)) A(23)=(1.-g(2,3))*phs A(24)=(1.-g(1,3))*phs*x(1)+1.-phs-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)+phs A(26)=-t(1,3)*g(1,3)*x(1)*phs+t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=(1.-g(2,3))*phs A(28)=(1.-g(1,3))*phs*x(1)+1.-z(1)-z(2)-phs+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*x(2)+A(4*k-2))/(A(4*k-1)*x(2)+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*x(2)+A(4*k))**2) end do dgx3x2=C(1)-B(2)*C(3)+(t(3,1)-B(3))*C(2)-B(4)*C(5)+(t(3,2)-B(5))*C(4)-B(6)*C(7)-B(7)*C(6) return end function function dgx3b(g,t,i,j,x,z,phs) implicit none REAL::dgx3b INTEGER::i,j REAL,DIMENSION(i,j)::g,t REAL,DIMENSION(i)::x,z REAL::phs INTEGER::k REAL::A(28),B(7),C(7) A(1)=-t(2,3)*g(2,3)*x(2)-t(1,3)*g(1,3)*x(1) A(2)=t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(3)=-g(2,3)*x(2)-g(1,3)*x(1)+x(1)+x(2)-1. A(4)=z(1)*(g(1,3)-1.)+z(2)*(g(2,3)-1.) A(5)=-g(3,1)*x(1) A(6)=g(3,1)*z(1) A(7)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(8)=g(3,1)*(1.-z(2)-z(1))+g(2,1)*z(2)+z(1) A(9)=t(3,1)*g(3,1)*x(2)-t(2,1)*g(2,1)*x(2)+t(3,1)*g(3,1)*x(1)-t(3,1)*g(3,1) A(10)=t(3,1)*g(3,1)*(1.-z(1)-z(2))+t(2,1)*g(2,1)*z(2) A(11)=g(3,1)*x(2)-g(2,1)*x(2)+g(3,1)*x(1)-x(1)-g(3,1) A(12)=g(3,1)*(1.-z(1)-z(2))+g(2,1)*z(2)+z(1) A(13)=-x(2)*g(3,2) A(14)=z(2)*g(3,2) A(15)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(2,1)*x(1)-g(3,2) A(16)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(17)=t(3,2)*g(3,2)*x(2)+t(3,2)*g(3,2)*x(1)-t(1,2)*g(1,2)*x(1)-t(3,2)*g(3,2)

Page 62: Construcción de curvas de residuo C3OHH2OACC3

52

A(18)=t(3,2)*g(3,2)*(1.-z(1)-z(2))+t(1,2)*g(1,2)+z(1) A(19)=g(3,2)*x(2)-x(2)+g(3,2)*x(1)-g(1,2)*x(1)-g(3,2) A(20)=g(3,2)*(1.-z(1)-z(2))+z(2)+g(1,2)*z(1) A(21)=x(2)+x(1)-1. A(22)=1.-z(1)-z(2) A(23)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(24)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) A(25)=-t(2,3)*g(2,3)*x(2)-t(1,3)*g(1,3)*x(1) A(26)=t(2,3)*g(2,3)*z(2)+t(1,3)*g(1,3)*z(1) A(27)=x(2)-g(2,3)*x(2)+x(1)-g(1,3)*x(1)-1 A(28)=1.-z(1)-z(2)+g(2,3)*z(2)+g(1,3)*z(1) do k=1,7 B(k)=(A(4*k-3)*phs+A(4*k-2))/(A(4*k-1)*phs+A(4*k)) C(k)=(A(4*k-3)*A(4*k)-A(4*k-1)*A(4*k-2))/((A(4*k-1)*phs+A(4*k))**2) end do dgx3b=C(1)-B(2)*C(3)+(t(3,1)-B(3))*C(2)-B(4)*C(5)+(t(3,2)-B(5))*C(4)-B(6)*C(7)-B(7)*C(6) return end function subroutine matriz(f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,m,i,g,t,x,x2,z,b) implicit none REAL,EXTERNAL::f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22 REAL,INTENT(IN)::b REAL,DIMENSION(i,i),INTENT(IN)::g,t REAL,DIMENSION(i),INTENT(IN)::x,z,x2 INTEGER,INTENT(IN)::i REAL,DIMENSION(i,i+1),INTENT(OUT)::m m(1,1)=x(1)*EXP(f22(g,t,3,x,1))*f7(g,t,3,3,x)+EXP(f22(g,t,3,x,1))-(b/(1.-b))*EXP(f22(g,t,3,x2,1))& &-((z(1)-b*x(1))/(1.-b))*EXP(f22(g,t,3,x2,1))*f13(g,t,3,3,x,z,b) m(2,1)=x(2)*EXP(f22(g,t,3,x,2))*f8(g,t,3,3,x)-((z(2)-b*x(2))/(1.-b))*EXP(f22(g,t,3,x2,2))*f14(g,t,3,3,x,z,b) m(3,1)=x(3)*EXP(f22(g,t,3,x,3))*f9(g,t,3,3,x)-EXP(f22(g,t,3,x,3))-(b/(1.-b))*EXP(f22(g,t,3,x2,3))& &-((z(3)-b*x(3))/(1.-b))*EXP(f22(g,t,3,x2,3))*f15(g,t,3,3,x,z,b) m(1,2)=x(1)*EXP(f22(g,t,3,x,1))*f10(g,t,3,3,x)-((z(1)-b*x(1))/(1.-b))*EXP(f22(g,t,3,x2,1))*f16(g,t,3,3,x,z,b) m(2,2)=x(2)*EXP(f22(g,t,3,x,2))*f11(g,t,3,3,x)+EXP(f22(g,t,3,x,2))-(b/(1.-b))*EXP(f22(g,t,3,x2,2))& &-((z(2)-b*x(2))/(1.-b))*EXP(f22(g,t,3,x2,2))*f17(g,t,3,3,x,z,b) m(3,2)=x(3)*EXP(f22(g,t,3,x,3))*f12(g,t,3,3,x)-EXP(f22(g,t,3,x,3))-(b/(1.-b))*EXP(f22(g,t,3,x2,3))& &-((z(3)-b*x(3))/(1.-b))*EXP(f22(g,t,3,x2,3))*f18(g,t,3,3,x,z,b) m(1,3)=EXP(f22(g,t,3,x2,1))*((x(1)-z(1))/((b-1.)**2))+((z(1)-b*x(1))/(1.-b))*EXP(f22(g,t,3,x2,1))*f19(g,t,3,3,x,z,b)

Page 63: Construcción de curvas de residuo C3OHH2OACC3

53

m(2,3)=EXP(f22(g,t,3,x2,2))*((x(2)-z(2))/((b-1.)**2))+((z(2)-b*x(2))/(1.-b))*EXP(f22(g,t,3,x2,2))*f20(g,t,3,3,x,z,b) m(3,3)=EXP(f22(g,t,3,x2,3))*((x(3)-z(3))/((b-1.)**2))+((z(3)-b*x(3))/(1.-b))*EXP(f22(g,t,3,x2,3))*f21(g,t,3,3,x,z,b) m(1,4)=x(1)*EXP(f22(g,t,3,x,1))-((z(1)-b*x(1))/(1.-b))*EXP(f22(g,t,3,x2,1)) m(2,4)=x(2)*EXP(f22(g,t,3,x,2))-((z(2)-b*x(2))/(1.-b))*EXP(f22(g,t,3,x2,2)) m(3,4)=x(3)*EXP(f22(g,t,3,x,3))-((z(3)-b*x(3))/(1.-b))*EXP(f22(g,t,3,x2,3)) end subroutine subroutine determinante(m,i,a,b,c,d) implicit none INTEGER,INTENT(IN)::i REAL,INTENT(IN),DIMENSION(i,i+1)::m REAL,INTENT(OUT)::a,b,c,d a=m(1,4)*m(2,2)*m(3,3)+m(1,2)*m(2,3)*m(3,4)+m(1,3)*m(2,4)*m(3,2)-m(3,4)*m(2,2)*m(1,3)-m(3,2)*m(2,3)*m(1,4)& &-m(3,2)*m(2,4)*m(1,2) b=m(1,1)*m(2,4)*m(3,3)+m(1,4)*m(2,3)*m(3,1)+m(1,3)*m(2,1)*m(3,4)-m(3,1)*m(2,4)*m(1,3)-m(3,4)*m(2,3)*m(1,1)& &-m(3,4)*m(2,1)*m(1,4) c=m(1,1)*m(2,2)*m(3,4)+m(1,2)*m(2,4)*m(3,1)+m(1,4)*m(2,1)*m(3,2)-m(3,1)*m(2,2)*m(1,4)-m(3,2)*m(2,4)*m(1,1)& &-m(3,2)*m(2,1)*m(1,2) d=m(1,1)*m(2,2)*m(3,3)+m(1,2)*m(2,3)*m(3,1)+m(1,3)*m(2,1)*m(3,2)-m(3,1)*m(2,2)*m(1,3)-m(3,2)*m(2,3)*m(1,1)& &-m(3,2)*m(2,1)*m(1,2) end subroutine subroutine avance(x,m,i,b) implicit none INTEGER,INTENT(IN)::i REAL,INTENT(INOUT)::b REAL,INTENT(IN),DIMENSION(i,i+1)::m REAL,INTENT(INOUT),DIMENSION(i)::x REAL::xe(3) REAL::s(4) INTEGER::j EXTERNAL::determinante call determinante(m,3,s(1),s(2),s(3),s(4)) do j=1,2 xe(j)=x(j) x(j)=x(j)-s(j)/s(4) end do x(3)=1.-x(1)-x(2) xe(3)=b b=b-s(3)/s(4) end subroutine

Page 64: Construcción de curvas de residuo C3OHH2OACC3

54

ANEXO B. CÓDIGO DEL PROGRAMA PARA CALCULAR CURVAS DE RESIDUO.

Este programa fue codificado en Fortran 90 ®

function lng(g,t,n,x,r) implicit none REAL::lng integer ::n,r REAL::g(n,n),t(n,n),x(n) INTEGER::i,j,k,l,m REAL::s1,s2,s3,s4,s5 s1=0 s2=0 s3=0 do i=1,n s1=s1+(t(i,r)*g(i,r)*x(i)) end do do i=1,n s2=s2+(g(i,r)*x(i)) end do s5=0 do j=1,n s3=0 s4=0 do k=1,n s3=s3+(g(k,j)*x(k)) end do do l=1,n s4=s4+(x(l)*t(l,j)*g(l,j)) end do s5=s5+(((x(j)*g(r,j))/s3)*(t(r,j)-(s4/s3))) end do lng=(s1/s2)+s5 return end function lng function psat(a,b,c,t) REAL::psat,a,b,c,t psat=10**(a-b/(t+c)) return end function psat program MCR3 implicit none INTEGER:: i,j,k,n,u,r REAL::x(3),xo(3),z(3),Kd(3),y(3) REAL::b(3,3),a(3,3),g(3,3),t(3,3) REAL::k1(3),k2(3),k3(3),ps(3)

Page 65: Construcción de curvas de residuo C3OHH2OACC3

55

REAL::Ti,phs,P,er,lng,psat REAL::tx,th,fx,fh,erv,d CHARACTER(LEN=1)::S S='s' OPEN(UNIT=10, FILE="MCR3.csv", STATUS="replace") OPEN(UNIT=25,FILE="datos.dat",STATUS="old",ACTION="read") OPEN(UNIT=24,FILE="antoine.dat",STATUS="old",ACTION="read") do i=1,3 do j=1,3 if (i==j) then b(i,j)=0 else PRINT*, "b(",i,",",j,") " READ(25,*) b(i,j) end if call system ("cls") end do end do a=0 do i=1,3 do j=1,3 if (a(j,i)/=0) then a(i,j)=a(j,i) end if if (i/=j.and.a(i,j)==0) then PRINT*, "a(",i,",",j,")= " READ(25,*) a(i,j) end if end do end do call system('cls') do i=1,3 PRINT*, "A(",i,")" READ(24,*)k1(i) PRINT*, "B(",i,")" READ(24,*)k2(i) PRINT*, "C(",i,")" READ(24,*)k3(i) end do call system ("cls") PRINT*, "P[mmHg]= " READ*, P do WHILE(S=='s'.or.S=='S') PRINT*, " ¿Numero de puntos? " READ*, r print*, " ¿Incremento? " READ*, d

Page 66: Construcción de curvas de residuo C3OHH2OACC3

56

do i=1,3 PRINT*,"x(",i,")= " READ*, z(i) end do WRITE(10,*)"" WRITE(10,50)z(2),',',z(3),',',z(1) do k=1,r tx=70 erv=1 u=0 do WHILE(erv>=0.01.and.u<20) do i=1,3 ps(i)=psat(k1(i),k2(i),k3(i),tx) end do do i=1,3 do j=1,3 t(i,j)=b(i,j)/(tx+273.15) g(i,j)=EXP(-1.0*a(i,j)*t(i,j)) end do end do x=(/0.,1.,0./) phs=0.3 er=1 n=0 do i=1,3 xo(i)=(z(i)-phs*x(i))/(1.-phs) end do if (xo(1)<0.or.xo(2)<0.or.xo(3)<0) then call system('pause') call system ('cls') GO TO 100 else do WHILE(er>0.1.and.n<50) do i=1,3 Kd(i)=(EXP(lng(g,t,3,x,i)))/(EXP(lng(g,t,3,xo,i))) end do call beta(phs,Kd,3,z) do i=1,3 x(i)=(z(i)/(phs+Kd(i)*(1.-phs))) end do er=0 do i=1,3 er=er+SQRT((((EXP(lng(g,t,3,x,i)))*x(i)-(EXP(lng(g,t,3,xo,i)))*xo(i)))**2) end do er=SQRT((er)**2) n=n+1 end do

Page 67: Construcción de curvas de residuo C3OHH2OACC3

57

end if fx=0 do i=1,3 fx=fx+xo(i)*EXP(lng(g,t,3,xo,i))*ps(i) end do fx=fx-P th=1.0001*tx do i=1,3 ps(i)=psat(k1(i),k2(i),k3(i),th) end do do i=1,3 do j=1,3 t(i,j)=b(i,j)/(th+273.15) g(i,j)=EXP(-1.0*a(i,j)*t(i,j)) end do end do x=(/0.,1.,0./) phs=0.3 er=1 n=0 do i=1,3 xo(i)=(z(i)-phs*x(i))/(1.-phs) end do if (xo(1)<0.or.xo(2)<0.or.xo(3)<0) then xo=z x=xo else do WHILE(er>0.1.and.n<50) do i=1,3 Kd(i)=(EXP(lng(g,t,3,x,i)))/(EXP(lng(g,t,3,xo,i))) end do call beta(phs,Kd,3,z) do i=1,3 x(i)=(z(i)/(phs+Kd(i)*(1.-phs))) end do er=0 do i=1,3 er=er+SQRT((((EXP(lng(g,t,3,x,i)))*x(i)-(EXP(lng(g,t,3,xo,i)))*xo(i)))**2) end do er=SQRT((er)**2) n=n+1 end do end if fh=0 do i=1,3 fh=fh+xo(i)*EXP(lng(g,t,3,xo,i))*ps(i) end do

Page 68: Construcción de curvas de residuo C3OHH2OACC3

58

fh=fh-P erv=sqrt(fx**2) Ti=tx tx=tx-((0.0001*tx*fx)/(fh-fx)) u=u+1 end do do i=1,3 y(i)=xo(i)*EXP(lng(g,t,3,xo,i))*psat(k1(i),k2(i),k3(i),Ti)/P z(i)=z(i)+(z(i)-y(i))*d end do !Fin el ELLV WRITE(10,50)z(2),',',z(3),',',z(1) end do call system("pause") call system("cls") 50 FORMAT(8(F8.4,A1),F8.4) 100 PRINT*, "¿Desea realizar otro calculo? S/N" READ*, S end do end program subroutine beta(b,k,n,z) implicit none INTEGER::i,j INTEGER,INTENT(IN)::n REAL,INTENT(IN)::z(n),k(n) REAL,INTENT(INOUT)::b REAL::db,df,f,er er=1 j=0 do WHILE(er>0.01) f=0 do i=1,3 f=f+(z(i)/(b+k(i)*(1.-b))) end do f=f-1. db=1.0001*b df=0 do i=1,3 df=df+(z(i)/(db+k(i)*(1.-db))) end do df=df-1. er=SQRT(((0.0001*b*f)/(df-f))**2) b=b-(1.0)*((0.0001*b*f)/(df-f)) j=j+1 end do end subroutine

Page 69: Construcción de curvas de residuo C3OHH2OACC3

59

Los ojos de Jehová velan por la ciencia… Proverbios 22:12a