Тройная фазовая диаграмма Флори-Хаггинса с нейтральным компонентом

Я ищу в литературе фазовую диаграмму Флори-Хаггинса со следующими компонентами: полимер, растворитель и третий компонент, который не взаимодействует с другими компонентами (только энтропийные эффекты). Должно быть, это было сделано, но я не могу найти особый случай, когда третий компонент не взаимодействует. Меня интересует энтропийный эффект третьего компонента.

Спасибо за любую помощь.

Бест, Джейд

Ответы (1)

Введение

В этом ответе я сначала решаю более простую проблему смеси с тремя типами молекул одинакового размера. Это имеет отношение к исходному вопросу, поскольку третий компонент не взаимодействует напрямую с другими, но его введение изменяет фазовую диаграмму за счет энтропийных эффектов.

Маленькие молекулы

Возьмем свободную энергию Флори-Хаггинса вида

Ф к Б Т "=" х ф А ф Б + ф А п ф А + ф Б п ф Б + ф С п ф С

Здесь молекулы типов А, В имеют энтальпийное взаимодействие между собой, характеризуемое параметром Флори-Хаггинса х , а компонента С появляется только в энтропии смешения -члена. Следует отметить, что существующая свободная энергия может быть получена с помощью модели Изинга с тремя состояниями (Поттса) с помощью приближения среднего поля Брэгга-Вильямса. Обсуждение здесь качественное, но для более количественных теорий следует использовать полуэмпирические уравнения состояния или, если уравнения исходят из игрушечных моделей, более продвинутые аппроксимативные методы. Квазихимическое приближение (Бете) Гуггенхайма приходит на ум как, возможно, самый простой из таких методов, и его можно оценить численно с относительно небольшими дополнительными усилиями.

Принимая противоположную точку зрения, можно было бы попытаться сделать упрощающие приближения к свободной энергии, так как даже для данного простого случая ее минимумы не могут быть оценены без использования численных методов. (Ландау) ф 4 Теория, в которой вы Тейлор расширяете свободную энергию по параметру порядка до четвертого порядка, пожалуй, самое популярное приближение. Нечетные степени выпадают в разложении из-за симметрии системы, и, таким образом, ф 4 - это первая степень полинома, в которой на самом деле может быть две фазы.

На самом деле заняться решением рассматриваемого дела. можно предположить ф С константа, а затем написать

Ф к Б Т "=" х ф А ( с ф А ) + ф А п ф А + ( с ф А ) п ( с ф А ) + ф С п ф С
где для удобства обозначений я написал с "=" 1 ф С . Единственное, что тогда действительно отличается от двухкомпонентного случая, это то, что критическое значение параметра FH равно х "=" 2 / с скорее, чем 2 . Сейчас явно в холдинге ф С постоянна, мы предположили, что линии связи должны быть такими, чтобы компонент С находился в одинаковой пропорции в двух фазах. Это действительно так из-за симметрии системы.

Я нарисовал тройную фазовую диаграмму ниже для х "=" 3 (горизонтальные связи).Фазовая диаграмма

Общий случай

Для полимеров свободная энергия Флори-Хаггинса несколько сложнее:

Ф к Б Т "=" х ф А ф Б + ф А п ф А + ф Б Н п ф Б + ф С п ф С

где Н - размер полимера (часто делаются приближения, где Н 1 ). Это простое добавление значительно меняет поведение системы, поскольку симметрия между А и В в этом случае принципиально нарушается.

Анализ также намного более сложен (по крайней мере, моя численная реализация), чем случай с малыми молекулами, по двум причинам: система не идеально симметрична, поэтому она не разделяется по фазе на два разных минимума свободной энергии однородно смешанной системы. Скорее нужно найти точки с одинаковым химическим потенциалом, а затем найти ту, которая дает желаемый состав с наименьшей свободной энергией. Во-вторых, соединительные линии не обязательно должны быть горизонтальными, поэтому есть еще одно измерение, которое следует минимизировать.

Я предоставил свой код в Приложении A , с помощью которого я создал график ниже с Н "=" 2 , х "=" 3 . Что касается вашего вопроса, я полагаю, что наиболее важным аспектом этого является то, что линии связи действительно не горизонтальны.Фазовая диаграмма

Приложение A: Общий случай

Следующий хак кода "Python" делает свою работу. У него есть некоторые числовые проблемы, когда аргументы в логарифмах приближаются к нулю и тому подобное. Это, вероятно, может быть смягчено расширением Тейлора вблизи границ. В нынешнем виде код раскомментирован и ужасно уродлив. Если у меня будет время, я почищу его и объясню, откуда берутся некоторые ужасные полиномы и т. д. (обработка границ домена — беспорядок). Не верьте ответам, которые он выплевывает на вас, мне еще предстоит должным образом убедиться, что он работает, но я подумал, что вы, возможно, захотите взглянуть на код, каким бы нефункциональным он ни был, как можно раньше.

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='')

Приложение B: Построение троичных осей

Это фрагмент кода, который я использую для своих графиков.

\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}
Спасибо Амлрг. Меня также интересовал состав фаз, причем один из компонентов является полимером. Не могли бы вы сказать мне, что вы используете для троичных графиков?
Может быть, я должен быть более точным. Когда я строю фазовую диаграмму полимер + плохой растворитель + невзаимодействующий компонент, фаза системы разделяется на две фазы из-за отталкивания растворителя-полимера. Но что меня интригует, так это то, что концентрация невзаимодействующего компонента в двух фазах различна. Я ищу документы, в которых обсуждается этот вопрос.
@Jd Если под композицией вы имеете в виду линии связи, система здесь полностью симметрична относительно A, B, поэтому линии связи горизонтальны. Я использую LaTeX для (почти всех) своих потребностей в графике, в частности пакет pgfplots.sourceforge.net . Я вычислил фазовую диаграмму с помощью простого кода Python, который минимизирует свободную энергию. Я могу добавить это в пост через пару дней (сейчас нет доступа к моему компьютеру).
@амлрг. У вас симметричные линии связи, потому что вы не учитываете полимерный корпус.
@Jd Вы должны получить негоризонтальные линии связи, как вы описываете, если система полимер-вода несимметрична. Я думаю, что эта асимметрия может быть вызвана тем, что молекулы имеют разные размеры (и, очевидно, пилимеры больше, чем вода), что добавило бы постоянный множитель к одному из членов логарифма. Опять же, я объясню это более подробно, когда получу доступ к компьютеру, если только кто-нибудь не опередит меня в этом.
Под полимером-водой вы имеете в виду полимер-растворитель? (В терминологии, которую я использовал выше)
@Jd Да, действительно, я имел в виду полимерный растворитель.
@Jd Я не уверен, что вы получите уведомление о моем редактировании. Так или иначе, теперь я значительно расширил основное дело и занялся полимерным случаем (это при условии, что код работает).
Спасибо за такое участие. На самом деле я уже вычислил фазовую диаграмму, как я сказал в одном из предыдущих постов. Как и вы, я нахожу эти не горизонтальные линии. Итак, моя цель сейчас — понять, почему линии не горизонтальны. Мне это противоречит. Вот как я об этом думаю: В мысленном эксперименте я добавляю только полимеры и растворитель. Они разделяются по фазам из-за их отталкивающего взаимодействия. Теперь я поставил третий компонент, который не взаимодействует с другими видами. Моя интуиция подсказывает мне, что третий компонент должен занимать две фазы с одинаковой концентрацией. Что неправильно.
Ответ заключается в энтропийном вкладе, но мне не удается получить интуитивное представление о том, что заставляет богатую полимером фазу вытеснять третий компонент. Вот почему я искал в литературе некоторые статьи, посвященные этому «выталкивающему эффекту».
.@amlrg Нет предложения?
.@amlrg Нет предложения?