En esta sección se presentan los diagramas de fases comunes para sustancias puras. Como son:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [4]:
%load_ext fortranmagic # activating magic
In [ ]:
In [ ]:
En esta sección se presenta el desarrollo y manipulación de las ecuaciones para establecer un algortimo que permita calcular los puntos del diagrama de fases para una sustancia pura utilizando ecuaciones de estado para modelar el comportamiento de fases.
Se inicia con el cálculo de la envolvente de fases de uns sustancia pura.
$$ n \left(\frac{\partial ln \hat\phi_i}{\partial n_j}\right)_{T,P} = n \left(\frac{\partial ln \hat\phi_j}{\partial n_j}\right)_{T,P} = n \left(\frac{\partial^2 F} {\partial n_j \partial n_i} \right)_{T,V} + 1 + \frac{n}{RT} + \frac{ \left(\frac{\partial P} {\partial n_j}\right)_{T,V} \left(\frac{\partial P} {\partial n_i}\right)_{T,V} } {\left(\frac{\partial P} {\partial V} \right)_{T,n}}$$Relación entre derivadas de la fugacidad y el coeficiente de fugacidad
$$ \left(\frac{\partial ln\hat f_i }{\partial n_i}\right)_{T,P} = \left(\frac{\partial \hat \phi_i}{\partial n_i}\right)_{T,P} + \left(\frac{\delta_{ij}}{n} - \frac{1}{n} \right)$$_Note:
In [1]:
J_x = \begin{bmatrix}
T \left( \frac {\left(\frac{\partial P_{x} }{\partial T}\right)} {P_l} - \frac {\left(\frac{\partial P_{y} }{\partial T}\right)} {P_v} \right) &
-V_l \left( \frac {\left(\frac{\partial P_{x} }{\partial V}\right)} {P_l} \right) &
-V_v \left( \frac {\left(\frac{\partial P_{y} }{\partial V}\right)} {P_y} \right) \\
\left(\frac{\partial f_{ix} } {\partial T} \right) - \left(\frac{\partial f_{iy} } {\partial T} \right) & V_l \left(\frac{\partial f_{ix} } {\partial V} \right) & V_v \left(\frac{\partial f_{iy} } {\partial V_{y}} \right) & \\
0 & 0 & 0 &
\end{bmatrix}$$
In [ ]:
Finalmente, el termino $ \frac{\partial ln \hat \phi_i^v}{\partial y_k} $
Donde $J_F$ es la matriz jacobiana de la función vectorial $F$, $Λ$ es el vector de variables del sistema $F=0$, $S_{Spec}$ es el valor asignado a una de las variables del vector $Λ$, $\frac{dΛ}{ dS_{Spec}}$ es la derivada, manteniendo la condición $F=0$, del vector de variables con respecto al parámetro $S_{spec}$. Observe que si $S_{spec}=Λ_i$, entonces $\frac{dΛi} {dS_{Spec}} =1$. El vector $\frac{dΛ}{ dS_{Spec}}$ es llamado “vector de sensitividades”.
$\frac{\partial F} {\partial S_{Spec}}$ es la derivada parcial del vector de funciones $F$ con respecto la variable $S_{spec}$.
En la ecuación A.3-1 la matriz jacobiana $J_F$ debe ser valuada en un punto ya convergido que es solución del sistema de ecuaciones $F=0$. Observe en los distintos sistemas de ecuaciones presentados en el capítulo 3, que sólo una componente del vector $F$ depende explícitamente de $S_{spec}$. Por tanto, las componentes del vector $\frac{\partial F} {\partial S_{Spec}}$ son todas iguales a cero, excepto la que depende de $S_{spec}$, en esta tesis el valor de dicha componente es siempre $“-1”$.
Conocidos $J_F$ y $\frac{\partial F} {\partial S_{Spec}}$ es posible calcular todas las componentes del vector $\frac{dΛ}{ dS_{Spec}}$ .
Con dΛ dSSpec conocido es posible predecir los valores de todas las variables del vector Λ para el siguiente punto de la “hiper-línea que se está calculando, aplicando la siguiente ecuación:
$$ A_{next point}^0 = A _{conve. pont} + \left(\frac{dA}{dS_{Spec}}\right) \Delta S_{Spec} $$Aquí Λ0 next point corresponde al valor inicial del vector Λ para el próximo punto a ser calculado. Λconv. point es el valor del vector Λ en el punto ya convergido.
Por otra parte, el vector de sensitividades dΛ dSSpec provee información sobre la próxima variable que debe ser especificada en el próximo punto a ser calculado. La variable a especificar corresponderá a la componente del vector dΛ dSSpec de mayor valor absoluto. Supongamos que la variable especificada para el punto convergido fue la presión P, es decir en el punto convergido Sspec = P. Luego al calcular el vector de sensitividades para el punto convergido usando A.3-1, supongamos que se determina que la componente de mayor valor absoluto de dicho vector es la correspondiente a dT dP , esto implica que en el próximo punto a ser calculado la variable que se debe especificar ya no es P sino T. Esto es Sspec = T. Cuando existe un cambio de variables especificadas como el caso del ejemplo anterior, el vector de sensitividades se normaliza dividiendo todas las componentes del vector por la de mayor valor absoluto, en el caso anterior se deberían dividir todas las componentes por dT dP . Finalmente se aplica A.3-2 para encontrar los valores de Λ0 next point
La variable ∆SSpec se computa en esta tesis de la siguiente manera:
In [ ]:
Donde ∆SSpec _Old es el paso que se dio en la variable que se especifico para obtener el punto convergido. “N” es una constante impuesta por el usuario, e ITER es el número de iteraciones requeridas para el punto convergido. Note que para calcular ∆SSpec se utiliza la componente de dΛ dSSpec de mayor valor absoluto,
max Λ dSSpec d , antes de que el vector dΛ dSSpec haya sido normalizado.
[1] key
[#] E.L. Allgower, K. Georg, Introduction to Numerical Continuation Methods, SIAM. Classics in Applied Mathematics, Philadelphia, 2003.
[#] M. Cismondi, M.L. Michelsen, Global phase equilibrium calculations: Critical lines, critical end points and liquid-liquid-vapour equilibrium in binary mixtures, Journal of Supercritical Fluids, 39 (2007) 287-295.
[#] M. Cismondi, M.L. Michelsen, M.S. Zabaloy, Automated generation of phase diagrams for binary systems with azeotropic behavior, Industrial and Engineering Chemistry Research, 47 (2008) 9728-9743.