Diagrama de fase ternario de Flory-Huggins con un componente neutro

Estoy buscando en la literatura el diagrama de fase de Flory-Huggins con los siguientes componentes: polímero, solvente y un tercer componente que no interactúa con los otros componentes (solo efectos de entropía). Debe haberse hecho, pero no puedo encontrar el caso especial en el que el tercer componente no interactúa. Estoy interesado en el efecto de entropía del tercer componente.

Gracias por cualquier ayuda.

Mejor, Jd

Respuestas (1)

Introducción

En esta respuesta, primero abordé el problema más simple de una mezcla con tres tipos de moléculas de tamaño idéntico. Esto tiene relevancia para la pregunta original en el sentido de que el tercer componente no interactúa directamente con los demás, pero su introducción cambia el diagrama de fase a través de efectos entrópicos.

Moléculas pequeñas

Tome la energía libre de Flory-Huggins de la forma

F k B T = x φ A φ B + φ A en φ A + φ B en φ B + φ C en φ C

Aquí los tipos de moléculas A, B tienen una interacción entálpica entre ellos caracterizada por el parámetro de Flory-Huggins x , y el componente C solo aparece en la entropía del término de mezcla. En ese sentido, la energía libre actual se puede obtener mediante un modelo Ising de tres estados (Potts) a través de la aproximación del campo medio de Bragg-Williams. La discusión aquí es cualitativa, pero para teorías más cuantitativas se deben usar ecuaciones de estado semiempíricas, o si las ecuaciones provienen de modelos de juguete, métodos aproximados más avanzados. La aproximación cuasiquímica de (Bethe) Guggenheim viene a la mente como quizás el más simple de tales métodos, y puede evaluarse numéricamente con relativamente poco esfuerzo adicional.

Tomando el punto de vista opuesto, uno podría intentar hacer aproximaciones simplificadoras a la energía libre, ya que incluso para el presente caso simple, sus mínimos no pueden evaluarse sin el uso de métodos numéricos. El (Landau) φ 4 La teoría, donde Taylor expande la energía libre con el parámetro de orden al cuarto orden, es quizás la aproximación más popular. Las potencias impares desaparecen en la expansión debido a la simetría del sistema y, por lo tanto, φ 4 es el primer polinomio de grado donde en realidad puedes tener dos fases.

Para realmente ir a resolver el caso en cuestión. uno podría asumir φ C constante y luego escribir

F k B T = x φ A ( C φ A ) + φ A en φ A + ( C φ A ) en ( C φ A ) + φ C en φ C
donde por conveniencia notacional escribí C = 1 φ C . Lo único que es realmente diferente del caso de dos componentes es que el valor crítico para el parámetro FH es x = 2 / C en vez de 2 . Ahora obviamente en la celebración φ C constante, hemos supuesto que las líneas de enlace deben ser tales que el componente C esté en la misma proporción en las dos fases. De hecho, este es el caso debido a la simetría del sistema.

He graficado el diagrama de fase ternario a continuación para x = 3 (líneas de unión horizontales).Diagrama de fases

Caso general

Para los polímeros, la energía libre de Flory-Huggins es un poco más complicada,

F k B T = x φ A φ B + φ A en φ A + φ B norte en φ B + φ C en φ C

dónde norte es el tamaño del polímero (a menudo se hacen aproximaciones donde norte 1 ). Esta simple adición cambia considerablemente el comportamiento del sistema, ya que la simetría entre A y B se rompe fundamentalmente.

El análisis también es mucho más complicado (al menos mi implementación numérica lo es) que el caso de las moléculas pequeñas por dos razones: el sistema no es perfectamente simétrico, por lo que no se separa en fases en dos mínimos de energía libre diferentes del sistema uniformemente mezclado. Más bien, uno tiene que encontrar los puntos con el mismo potencial químico y luego encontrar el que produce la composición deseada con la energía libre más baja. En segundo lugar, las líneas de unión no necesitan ser horizontales, por lo que hay otra dimensión con respecto a la cual minimizar.

He proporcionado mi código en el Apéndice A , con el que he producido el siguiente gráfico con norte = 2 , x = 3 . Para su pregunta, supongo que el aspecto más importante de esto es que las líneas de enlace no son horizontales.Diagrama de fases

Apéndice A: Caso general

El siguiente truco de código "Python" hace el trabajo. Tiene algunos problemas numéricos cuando los argumentos en los logaritmos se acercan a cero y demás. Esto probablemente podría aliviarse con expansiones de Taylor cerca de las fronteras. Tal como está, el código no tiene comentarios y es terriblemente feo. Si tengo tiempo, lo limpiaré y explicaré de dónde vienen algunos de los horribles polinomios, etc. (manejar los bordes del dominio es un desastre). No confíes en las respuestas que te escupe, todavía tengo que verificar correctamente que funciona, pero pensé que tal vez quieras echarle un vistazo al código, por disfuncional que sea, más temprano que tarde.

from scipy.optimize import *
# Size of polymer
N = 1.
# chi parameter
w = 3.

# function defs
def freeenfun(x, w):
  phia = x[0]; phib = x[1]; phic = 1.-phia-phib
  return w*phia*phib + phia*log(phia) + phib/N*log(phib) + phic*log(phic)
def freeender(x, w):
  phia = x[0]; phib = x[1]; phic = 1.-phia-phib
  fda  = w*phib + log(phia/phic)
  fdb  = w*phia + log(phib)/N + 1./N - log(phic) - 1.
  return fda, fdb
def freeenderdir(t, x, y, w, lvl):
  phia = x[0] + t*cos(y); phib = x[1] + t*sin(y); phic = 1.-phia-phib
  fda, fdb = freeender(array([phia, phib]), w)
  fddir = fda*cos(y) + fdb*sin(y)
  return fddir - lvl
def freeenfun2(t, x, y, w):
  phia = x[0] + t*cos(y); phib = x[1] + t*sin(y); phic = 1.-phia-phib
  return freeenfun(array([phia, phib]), w)
def frompatophi(t, x, y):
  phia = x[0] + t*cos(y); phib = x[1] + t*sin(y); phic = 1.-phia-phib
  return phia, phib, phic

def getonepair(y, x, w): 
  y = y[0]
  a = cos(y)
  b = sin(y)
  bpol = roots(array([ (2*a**2*b**3 + 2*a**3*b**2)*w*N,
  ((4*a**2*b**2 + 2*a**3*b)*w*x[1] + (2*a*b**3 + 4*a**2*b**2)*w*x[0] - 2*a**2*b**2*w - a*b**3 - a**2*b**2)*N + a*b**3 + a**2*b**2,
  (2*a**2*b*w*x[1]**2 + ((4*a*b**2 + 4*a**2*b)*w*x[0] - 2*a**2*b*w - a*b**2)*x[1] + 2*a*b**2*w*x[0]**2 + (-2*a*b**2*w - b**3 - 2*a*b**2)*x[0] - a**2*b)*N + a*b**2*x[1] + (b**3 + 2*a*b**2)*x[0] - a*b**2,
  ((2*a*b*w*x[0] + a**2)*x[1]**2 + (2*a*b*w*x[0]**2 + (-2*a*b*w - b**2 - 2*a*b)*x[0] - a**2)*x[1])*N + b**2*x[0]*x[1] + b**2*x[0]**2 - b**2*x[0] ]))[1:]
  if any(iscomplex(bpol)):
    return array([nan, nan])
  lowerb = min(bpol)
  upperb = max(bpol)
  fdmax = freeenderdir(lowerb, x, y, w, 0)
  fdmin = freeenderdir(upperb, x, y, w, 0)
  hh = x[0]*tan(pi-y)
  ww = x[1]*tan(y-pi/2)
  if hh + x[1] < 1.:
    tmax = sqrt(x[0]**2 + hh**2)
  else:
    tmax = sin(pi/4.)/sin(3.*pi/4.-y)*(1-x[1]-x[0])
  if ww + x[0] < 1.:
    tmin = -sqrt(x[1]**2 + ww**2)
  else:
    tmin = -sin(pi/4.)/sin(y-3.*pi/4.)*(1-x[0]-x[1])
  def getonepair2(fd):
    ma = brentq(freeenderdir, tmin+1e-12, lowerb, args=(x, y, w, fd))
    mb = brentq(freeenderdir, upperb, tmax-1e-12, args=(x, y, w, fd))
    return array([ma, mb])
  def minfd(fd):
    onepair = getonepair2(fd)
    ypai0 = freeenfun2(onepair[0], x, y, w)
    ypai1 = freeenfun2(onepair[1], x, y, w)
    numd = (ypai1-ypai0)/diff(onepair)
    return (freeenderdir(onepair[0], x, y, w, 0) - numd)**2
  minres = minimize(minfd, (fdmax+fdmin)/2.)#, method='SLSQP', bounds=((fdmin, fdmax),))
  return getonepair2(minres.x)

def minang(x, w): 
  def minfun(y):
    onepair = getonepair(y, x, w)
    a = -onepair[0]/(onepair[1]-onepair[0])
    ff = (1-a)*freeenfun2(onepair[0], x, y, w) + a*freeenfun2(onepair[1], x, y, w)
    return ff
  minres = minimize(minfun, 135./180*pi)
  return minres.x, getonepair(minres.x, x, w)

aa = linspace(0.2, 0.4999, 256)
phia = ones((2, len(aa)))*0
phib = zeros_like(phia)
phic = zeros_like(phia)
for i in range(len(aa)):
  x = array([1, 1])*aa[i]; 
  y, tt = minang(x, w)
  phia[:, i], phib[:, i], phic[:, i] = frompatophi(tt, x, y)

kk = vstack((phia[0, :], phib[0, :], phic[0, :], phia[1, :], phib[1, :], phic[1, :])).transpose()
kk = kk[-isnan(kk[:, 0]), :]
savetxt('tern.dat', kk, header='A_a A_b A_c B_a B_b C_c', comments='')

Apéndice B: Trazado de ejes ternarios

Este es el fragmento de código que uso para mis gráficos.

\documentclass[class=minimal,border=0pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{ternary}
\begin{document}
\begin{tikzpicture}
\begin{ternaryaxis}[
    ylabel=A,
    zlabel=B,
    xlabel=C
]
    \addplot3[smooth,
        tieline={each nth tie=10},
        fill=blue!10,
    ]
    table [y=A_a,z=A_b,x=A_c] {tern.dat};
\end{ternaryaxis}
\end{tikzpicture}

\end{document}
Gracias Amlrg. También me interesaban las composiciones de las fases, y un componente era un polímero. ¿Podría decirme qué usa para las tramas ternarias?
Tal vez debería ser más preciso. Cuando trazo el diagrama de fase de polímero + solvente pobre + componente que no interactúa, la fase del sistema se separa en dos fases debido a la repulsión solvente-polímero. Pero lo que me intriga es que la concentración del componente que no interactúa es diferente en las dos fases. Estoy buscando documentos que discutan este punto.
@Jd Si por composición te refieres a líneas de enlace, el sistema aquí es completamente simétrico wrt A, B, por lo que las líneas de enlace son horizontales. Uso LaTeX para (casi todas) mis necesidades de trazado, en particular el paquete pgfplots.sourceforge.net . Calculé el diagrama de fase con un código Python simple que minimiza la energía libre. Puedo agregar esto a la publicación en un par de días (ahora no tengo acceso a mi computadora).
@amlrg. Obtuviste líneas de unión simétricas porque no consideras el caso del polímero
@Jd Debería obtener líneas de unión no horizontales, como describe, si el sistema de polímero y agua no es simétrico. Creo que esta asimetría puede ser causada si las moléculas son de diferentes tamaños (y obviamente los polímeros son más grandes que el agua), lo que agregaría un multiplicador constante a uno de los términos logarítmicos. Nuevamente, explicaré esto con más detalle cuando tenga acceso a una computadora, a menos que alguien más se me adelante.
¿Por polímero-agua te refieres a polímero-solvente? (En la terminología que usé arriba)
@Jd Sí, de hecho, el solvente de polímero es lo que quise decir.
@Jd No estoy seguro si recibe una notificación de mi edición. De todos modos, ahora he ampliado considerablemente el asunto principal y he manejado el caso del polímero (esto, suponiendo que el código funcione).
Gracias por tanta implicación. De hecho, ya calculé el diagrama de fase, como dije en una publicación anterior. Igual que tú, encuentro esas líneas no horizontales. Así que mi objetivo ahora es entender por qué las líneas no son horizontales. Es contra intuitivo para mí. Así es como lo pienso: en un experimento mental puse solo polímeros y solvente. Se separan en fases debido a su interacción repulsiva. Ahora, pongo un tercer componente, que no interactúa con otras especies. Mi intuición me dice que el tercer componente debe ocupar las dos fases con la misma concentración. Cuál está mal.
La respuesta radica en la contribución entrópica, pero no logro obtener una comprensión intuitiva de lo que hace que la fase rica en polímeros expulse el tercer componente. Es por eso que estaba buscando algunos artículos en la literatura que discutieran este "efecto de expulsión".
.@amlrg ¿Ninguna sugerencia?
.@amlrg ¿Ninguna sugerencia?