Введение в TDLIB: объект фазовые равновесия

Файлы доступны в архиве http://evgenii.rudnyi.ru/soft/tdlib00+.tar.gz.

Когда мольные энергии Гиббса фаз готовы, можно рассчитать фазовые равновесия посредством объекта PhaseEquilibrium. В документации (doc/00tdlib.pdf) ему посвящен раздел 3.4.7 на стр. 46-53. В настоящем разделе я кратко опишу объект PhaseEquilibrium на примере расчета ликвидуса в двухкомпонентном системе А-В.

В качестве примера я использую статью

Dmitri V. Malakhov, Thevika Balakumar
Undulate phase boundaries on binary T-x diagrams
Computer Coupling of Phase Diagrams and Thermochemistry 32 (2008) 89-93
http://dx.doi.org/10.1016/j.calphad.2007.08.002

См. также главу 7.1 в диссертации

Thevika Balakumar
THERMODYNAMIC OPTIMIZATION UNDER TOPOLOGICAL CONSTRAINTS
http://mse.mcmaster.ca/faculty/malakhov/GraduateStudents/Theses/TB_Thesis.pdf

В статье обсуждаются возможность существования точки перегиба на кривой ликвидуса и показывается, что точка перегиба возможна даже в случае идеального раствора. Ниже я покажу как с TDLIB можно построить рис. 2 из статьи (или рис. 70 в диссертации).

С точки зрения математики объект PhaseEquilibrium позволяет описать систему нелинейных уравнений 2.26 (см. документацию) и решить ее. Файлы к примеру находятся в ex/regular_ab/malakhov08.

Мольные энергии Гиббса фаз описаны в ex/regular_ab/malakhov08/sys.mod, где L — это идеальный двухкомпонентный раствор A-B и A — это фаза А в кристаллическом состоянии. Предполагается, что твердые растворы отсутствуют и А — это точечная фаза. В файле задается два параметра, температура плавления и энтропия плавления. Переменная R=1 в глобальных переменных задает, что энтропия выражена в безразмерных единицах (S/R).  Энтальпия плавления рассчитывается как Del_Hm = Tm Del_Sm.

Энергия Гиббса расплава А принята за нуль и таким образом энергия Гиббса твердого А задается как энергия Гиббса реакции затвердевания

А_l = A_s

которая в приближении Del_Cp = 0 выражается как

Del_G(T) = -(Del_Hm - T Del_Sm)

Система уравнений 2.26 (см. документацию) при постоянном давлении в нашем случае сводится к одному алгеабрическому уравнению

Gm(As, T) = mu(Al, T, x2)

из которого при заданной мольной доли в расплаве можно вычислить температуру плавления (или из тепрературы плавления мольную долю расплава).

Объект PhaseEquilibrium находится в файле ex/regular_ab/malakhov08/alg.mod и выглядит следующим образом:

<PhaseEquilibrium id=A_L>
  <phases>
    <phase IDREF=L></phase>
    <phase IDREF=A></phase>
  </phases>
  <state status=constraint> x(L,B) </state>
  <state status=unknown> T </state>
</PhaseEquilibrium>

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

$ assess -m sys alg

позволяет вывести описание объекта в стандартном виде и узнать, какие решения по умолчанию были приняты. TDLIB проинтерпретировала ввод выше как

<PhaseEquilibrium id=A_L
  debug=0
  SaveSolution=0
  ThrowException=1>
  <phases>
    <phase IDREF=L></phase>
    <phase IDREF=A></phase>
  </phases>
  <state status=dependent> x(L,A) </state>
  <state status=constraint> x(L,B) </state>
  <state status=unknown> T </state>
  <state status=HardConstraint value=1> p </state>
</PhaseEquilibrium>

Файл ex/regular_ab/malakhov08/out.mod организует цикл по мольной доле и выдает рассчитанные точки ликвидуса в формате gnuplot. Две команды

$ assess sys alg out -o 1
$ wgnuplot 1.pd -

позволяют построить рисунок ex/regular_ab/malakhov08/1.png, где показана линия ликвидуса в случае энтропии плавления, равной единице.

Следует отметить, что рассчитанная кривая включает в себя как стабильные так и метастабильные равновесия A-L. Например если мы включим в расчет твердый B, то ликвидус A-L ниже температуры эвтектики будет метастабильным по отношению к чистым твердым A и B.

Для построения семейства кривых требуется вручную менять значения энтропии плавления (см. пример Введение в TDLIB: регулярный раствор). С другой стороны, это также можно организовать путем показанным в ex/regular_ab/malakhov08/fig2.mod. Команды

assess fig2 -o out
gnuplot plot

дают рисунок в формате png (ex/regular_ab/malakhov08/fig2.png), который показывает, как линия ликвидуса зависит от энтропии плавления.

В документации в разделе 3.4.7 на стр. 46-53 можно найти другие примеры и дополнительные возможности объекта PhaseEquilibrium.

Предыдущее

Расчет фазовых диаграмм с TDLIB
Введение в TDLIB: чистые вещества
Введение в TDLIB: регулярный раствор

Следующее

Уравнивание химических реакций в TDLIB
Программа VCS из книги Smith&Missen


Comments are closed.