TC_Comb версия 1.1

 Выпущена новая версия 1.1 программы TC_Comb. Наиболее существенным шагом в развитии программы является значительно расширенная поддержка расчётов с участием флюидных компонентов (H2O и CO2) и кордиерита (для вычисления термодинамических свойств которого требуется указание активностей воды и углекислоты). С нею связана целая серия изменений.

  1.  В библиотеку клавиатурных макросов (файл Kbd.lib) добавлена плеяда макросов для задач с флюидными параметрами. Надо обязательно выбирать корректный макрос, когда в систему добавляются флюидные компоненты или кордиерит и требуется использовать активности или мольные доли H2O и|или CO2. При выборе ошибочного макроса THERMOCALC либо зацикливается на неправильных ответах (и принудительно завершается с ошибкой Timeout), либо работает неверно (что обычно видно по частоколу из красных линий на PT диаграмме с реакциями). Чтобы выяснить, что именно происходит, стоит перезапустить расчёт неудачного результата двойным щелчком по его записи в таблице результатов и изучить листинг сессии THERMOCALC.
     Один из клавиатурных макросов – «Cordierite (aH2O & aCO2)». Он предназначен для систем с кордиеритом, но без H2O и CO2 в списке компонентов: THERMOCALC в таких случаях требует указывать активности воды и углекислоты. Если надо решать кордиеритовую задачу с мольными долями H2O и CO2 (т.е. с упрощённой моделью бинарного флюида), то придётся ввести в список компонентов воду или углекислоту и выбрать соответствующий макрос. Однако, этот приём не сработает, если в системе не обнаружится реакций с флюидными компонентами: тогда использованный макрос, скорее всего, окажется некорректным.
    NB! Программа сама не проверяет корректность выбранных клавиатурных макросов!

  2.  Удалён режим Expert mode, т.к. с появлением новых возможностей сильно возросла роль выбора клавиатурных макросов. Однако, по умолчанию оставлен макрос Default (для стандартных расчётов без флюидных компонентов и кордиерита).

  3.  Решено не использовать в скрипт-файле THERMOCALC (tc-pt.txt) команды fluidpresent и setfluid: флюидные параметры теперь задаются только через клавиатурные макросы, т.к. в некоторых случаях эти команды работают некорректно. При их обнаружении в скрипт-файле TC_Comb превращает команды в комментарии.

  4.  В таблицу с результатами добавлены колонки для мольных долей и активностей воды и углекислоты. Программа берёт значения только из вывода THERMOCALC, поэтому иногда (например, при несоответствии макроса флюидным параметрам, указанным в настройках) могут быть ситуации, когда в настройках указано «Mole fractions» и написано «xH2O xCO2», а в таблице результатов значения появляются в колонках для активностей. Те флюидные параметры, которые указываются в настройках TC_Comb (окно Settings, вкладка Parameters), в настоящее время являются отчасти формальными: из них важны только сами числа, тогда как флажок Mole fractions служит лишь для проверки корректности величин.

  5.  Реализован расчёт активностей или мольных долей H2O и CO2, если физико-химическая система предполагает ввод этих данных (т.е. если в задаче есть флюидные компоненты и|или кордиерит и если выбран соответствующий клавиатурный макрос). Вычисления производятся в окне с результатами только для уже обработанных комбинаций анализов, т.е. когда уже получены PT параметры для некоторых произвольных флюидных параметров, указанных в настройках программы. Для расчёта флюидных параметров надо выбрать одну или несколько требуемых комбинаций в таблице результатов и нажать кнопку Recalculate при установленной галочке Calc fluid (однако, галочка будет заблокирована, если колонки для флюидных параметров для выбранной комбинации ещё не были заполнены). При вычислении активностей возможны три варианта расчётов, выбираемые в настройках TC_Comb (окно Settings, вкладка Parameters):

    • Fixed: aH2O – расчёт αCO2 при фиксированной (заданной) активности воды;
    • Fixed: aCO2 – расчёт αH2O при фиксированной (заданной) активности углекислоты;
    • Fixed: none – одновременный расчёт активностей как воды, так и углекислоты.

     Если в системе присутствует только один из компонентов, то программа сама выбирает требуемый вариант.
     Расчёт основан на известной процедуре, используемой при термобарометрических вычислениях с помощью THERMOCALC: поиске таких активностей или мольных долей H2O и|или CO2, при которых параметр «fit» (максимальное из тех отклонений энтальпий и активностей компонентов системы, нормализованных по их погрешностям, при которых все линии реакций пересекаются в одной точке) принимает минимальное значение.
     Стоит отметить, что эта методика отличается от той, что применяется при работе с программой TWQ Р. Бермана: там сначала решается термобарометрическая задача для «сухой» подсистемы (без реакций с участием флюидных компонентов), а затем активности (или мольные доли) H2O и CO2 находятся построением диаграмм в координатах [T|P]–[α|x][H2O|CO2] при фиксированном значении [P|T], найденном для «сухой» подсистемы.
     Для расчёта флюидных параметров TC_Comb запускает «долгую» сессию THERMOCALC, во время которой производится серия расчётов avPT для ряда значений активностей или мольных долей (более 100 при одновременном поиске активностей H2O и CO2). Затем программа производит анализ поведения величины fit и находит такие параметры, при которых она оказывается минимальной. Для минимизации решено использовать кубическую кривую Безье в качестве аппроксиманта, т.к. она имеет простую алгебраическую форму и с достаточной точностью описывает широкий диапазон форм простых кривых. Хотя в некоторых случаях у кривой Безье могут наблюдаться проблемы на краях диапазона a|x, она вполне хорошо описывает величины fit в окрестности минимума.
     Если в настройках программы (окно Settings, вкладка Parameters) выбрать опцию Write Fits.tvl, то программа строит и показывает диаграмму, демонстрирующую поведение величины fit2 при разных активностях или мольных долях. Эта диаграмма полезна для того, чтобы оценить обоснованность получаемых величин, т.к. обычно обнаруживается, что значения fit слабо меняются на довольно большом диапазоне активностей:

    aH2O fits

     Диаграммы fit2-αH2O, которые строятся при одновременном нахождении активностей H2O и CO2, анализировать сложнее, т.к. на них показывается серия кривых (для разных значений активности CO2):

    aH2O-aCO2 fits для RP13 (увеличено)

     В некоторых случаях величина fit оказывается постоянной на некотором диапазоне соотношений активностей воды и углекислоты. Например, это является особенностью задач с кордиеритом без участия H2O и CO2 в качестве компонентов системы: в данном случае число её свободных переменных должно увеличиваться на 1, т.к. ΔGP,T кордиерита зависит от αH2O (или αCO2) и отношения αH2O/αCO2. TC_Comb обнаруживает такое поведение, сообщая о нём и показывая соответствующий график взаимной зависимости активностей H2O и CO2:

    aH2O-aCO2 зависимость для минимального fit

     В задачах с кордиеритом активность CO2 «пробегает» весь диапазон значений (от 0 до 1) на некотором ограниченном отрезке активностей H2O. Обычно этот график представляет собой ломаную линию (вследствие ограниченной точности вывода результатов вычислений в THERMOCALC и пологости функции fit2 в окрестности её минимума).
     Вычисления стоит проводить при достаточно больших размерах PT окна, чтобы линии реакций по возможности не выходили за его пределы при крайних значениях активностей: уменьшение числа линейно независимых реакций драматически влияет на получаемые результаты, нарушая однородность массива данных. Поэтому TC_Comb отбрасывает вычисления, в которых число IR меньше максимального из всех встреченных при расчётах.

  6.  Если под таблицей с результатами установлена галочка Fluid from the table, то для повторных пересчётов берутся уже вычисленные флюидные параметры из таблицы (если они существуют), а не выбранные вручную в окне с настройками TC_Comb.

  7.  Значения [α|x][H2O|CO2] теперь отображаются на диаграммах.

  8.  В настройках программы (окно Settings) появилась новая вкладка TC and AX: теперь можно, не выходя из TC_Comb, перейти на другие версии THERMOCALC, AX, базы данных, а также изменить связанные с ними правила именования файлов.
     «Длинные» сессии THERMOCALC, используемые при вычислении флюидных параметров, занимают много времени и могут вызвать принудительные завершения программы по истечении времени, выделяемого для её выполнения. Увеличить этот лимит можно с помощью параметра Timeout, измеряемого в десятых долях секунды. Мне самому сейчас приходится использовать величину Timeout=70 sec×10.
     Кроме того, в ходе такой работы от THERMOCALC поступает внушительное количество текстовой информации, которое может превысить выделенный для неё объём памяти. При необходимости этот объём можно увеличить, изменив значение переменной TCBufSize в файле TC_Comb.ini (в настоящее время выбрано 700000 байт: это немного больше того максимума, который мне пока встретился).

  9.  В настройках программы появилась опция Use AX sd(a), с помощью которой можно брать погрешности активностей из вывода программы AX, включающие только аналитические ошибки (без учёта погрешностей моделей твёрдых растворов, рассчитываемых в THERMOCALC по умолчанию). Конечно же, для использования этих погрешностей надо, чтобы они были в таблице с анализами наряду со значениями активностей. Для этого требуется пересчитать в AX активности заново при установленной галочке Use AX sd(a).

  10.  В таблице анализов теперь можно редактировать колонку с активностями (последний пункт выпадающего меню таблицы, открываемого правой кнопкой мыши). Например, можно просто удалить лишние компоненты из отдельных анализов – или, лучше, поставить слитно перед их аббревиатурами знак «минус» (-): чтобы они в колонке остались, но в THERMOCALC не передавались.

  11.  В окне с результатами под таблицей добавлена кнопка Plot points. С её помощью строится диаграмма, на которую нанесены PT определения (в виде точек) для всех комбинаций, которые выбраны в таблице. До сих пор для построения такой диаграммы приходилось менять ряд настроек отображения результатов как в TC_Comb, так и в TriQuick. В окне Settings на вкладке Error ellipses – Points – Fill рекомендуется выбрать опцию Colorized fits: тогда точки будут раскрашиваться в соответствии со значениями параметра fit от минимального до максимального в текущей выборке комбинаций (жёлтые – красные – фиолетовые – синие – чёрные, с промежуточными градациями):

    Диаграмма со всеми определениями

     Для того, чтобы проверить принадлежность отдельных точек на диаграмме конкретным комбинациям анализов, надо открыть окно редактора в программе TriQuick (меню Window – Editor). Скажем, в приведённом примере наименьшие значения параметра fit получены по центру порфиробласта граната и центральным областям зёрен ортопироксена, биотита и плагиоклаза из матрицы породы, находящихся на некотором удалении от зерна граната. Большие значения fit относятся в основном к краевым зонам близко расположенных зёрен минералов. Судя по диаграммам с нанесёнными на них реакциями (по смещению некоторых линий равновесия; например, Grt-Bt и Grt-Opx геотермометров), заметные отклонения от равновесия свидетельствуют либо о процессах фракционирования на заключительных стадиях роста зёрен, либо о позднем перераспределении компонентов, что в обоих случаях приводило к дроблению более крупных примерно равновесных (в пределах используемого термодинамического описания системы) доменов породы на отдельные поддомены меньшего размера.
     При большом общем количестве комбинаций и большой максимальной величине параметра fit в таблице стоит попробовать выбрать не все комбинации сразу (клавишами Ctrl-A), а только некоторый их диапазон в области минимальных значений параметра fit, т.к. нередко определения с удовлетворительными значениями fit оказываются уже широко разбросанными по PT полю.
    NB! Стоит подчеркнуть, что использование комбинационного подхода без учёта значений fit и анализа их распределения в облаке PT результатов (равно как и без проверки расположения конкретных анализов на BSE изображениях, т.е. без текстурного контроля) сильно снижает достоверность термобарометрического исследования и приводит к неверным интерпретациям.

  12.  К таблице результатов добавлено маленькое независимое окно для быстрого выбора конкретных комбинаций анализов по их идентификаторам. Содержимое полей в нём меняется и при переходах между комбинациями в главной таблице результатов, так что теперь нет особой надобности разворачивать и пристально изучать колонку Analyses с номерами анализов.

  13.  На главное окно TC_Comb добавлена кнопка Image View для показа BSE изображений с нанесёнными на них точками анализов (как удобная альтернатива использованию отдельного вьюера). Изучение изображений необходимо для корректной интерпретации результатов термобарометрии.

  14.  Списки выбора компонентов (для их исключения и для фильтрации линий реакций) теперь можно сортировать как по алфавиту, так и по фазам (в порядке их следования в файле с анализами).

  15.  В списке реакций для инспектирования (кнопка Inspect reaction на окне с таблицей результатов) линейно независимые и сомнительные реакции показываются жирным шрифтом и соответствующими цветами. Этот список теперь можно сохранять в текстовый файл с помощью кнопки Save.

  16.  Оптимизирован формат файла с реакциями (*.rct): теперь туда не записываются пустые записи без реакций, так что задачи стали загружаться гораздо быстрее (что особенно заметно на задачах с большими количествами комбинаций). Новый формат полностью совместим со старым. Есть смысл после загрузки задач с rct-файлами старого образца сразу же пересохранять результаты.

  17.  Оптимизирован выбор множества комбинаций в таблице с результатами. До этого только сочетание клавиш Ctrl+A работало быстро, а при выборе с помощью [Shift|Ctrl]+[мышь|клавиатура] происходили сильные задержки (особенно при большом количестве выделяемых комбинаций).

  18.  Улучшена процедура обнаружения сомнительных линий реакций, теперь они должны появляться заметно реже.
    Однако, иногда могут быть и такие случаи, когда программа не обнаруживает действительно проблемные линии. Например, на этой диаграмме розовым цветом отмечена кривая реакции 2alm+2phl+6an+3q=2gr+2ann+3crd, имеющая странную форму и которая на диаграммах большинства других комбинаций имеет статус сомнительной, однако здесь не отмеченная в качестве проблемной (т.к. она прошла «Безье-тест»):

    Не обнаруженная сомнительная линия реакции

     На самом деле (судя по анализу диаграмм других комбинаций и текстовому выводу THERMOCALC), здесь крайняя левая точка (4.2 кбар, 200°C) относится ко второму, избыточному множеству корней решения уравнения ΔGr(P,T)=0, иногда пропускаемому программой THERMOCALC, и притом является единственной в этой «ветви». Вместе с тем, THERMOCALC не смог рассчитать точки для низкобарической части линии реакции. Действительная форма её кривой должна быть такой, как показана на диаграмме для другой комбинации анализов:

    Корректный вид сомнительной линии реакции

     Однако она здесь отмечена, как сомнительная, т.к. THERMOCALC не нашёл одно значение на нижней границе PT окна.
     В качестве типичного примера избыточных корней можно привести одну из диаграмм для известного образца RP13, на которой для реакции 4py+12an+12H2O+18cc=10gr+3ames+18CO2 THERMOCALC рассчитал две ветви (TC_Comb отметил их красным цветом, как сомнительные линии):

    Сомнительные линии реакции для RP13

  19.  TC_Comb теперь должен корректно работать с версиями THERMOCALC ниже 3.33 (по кр. мере частью из них): добавлен простой анализ строгого форматирования PT таблиц линий реакций, который испытал небольшие изменения (на версии 3.31 или 3.32).

 В связи с расширением поддержки вычислений с флюидными компонентами в TC_Comb появились и новые проблемы, которые пока что решить не удалось. Пока что самой существенной из них является часто возникающая невозможность расчёта полос погрешностей для систем с H2O, CO2 и кордиеритом, т.к. для каждой из обрабатываемых реакций программа задаёт минимальную необходимую подсистему, однако для всех них используется только один клавиатурный макрос – тот, что был изначально выбран пользователем. Возможно, в будущем эта проблема будет решена после реализации автоматического выбора подходящего клавиатурного макроса в зависимости от содержимого системы и настроек программы, относящихся к флюидным параметрам.

Комментарии

Hi Dmitry,

First of all thanks for your work and support.
I´m having problems with TC_Comb when calculating activities with AX.
After running AX the activities column does not automatically appear in TC table. This might be easy to figure out but when I try to make changes after this the program just crashes.
Do you have any ideas why this is happening?

Аватар пользователя DimaDD

Hi Jackeline,
Sorry for late responce!
I have encountered similar behavior (...the activities column does not automatically appear in TC table) only when working with two copies of AX installed in different directories. If another AX copy has just been chosen, AX offers the previous directory with old (incorrect) input file Comb.txt. As I understand, Windows remembers the last directory in the standard AX window for loading of files. So, AX creates output files in the same old directory and TC can not find them. Therefore, it's necessary to check/change path to Comb.txt in AX after selection of another copy of the program.

Hi Dmitry,

Thanks for your response. The problem is solved. I used to have two copies of AX indeed.

Hi Dmitry,
I seem to be having a fairly simple problem, but I can't seem to figure it out. I have downloaded thermocalc 3.33 and have set the TC prefs file for TC_Comb to tc-prefs.txt. However, when I try to save the imported table as a TAB file an error message pops up saying "Error: scriptfile not set in tc-prefs.txt!." I haven't changed the scriptfile that was set with the download, what should the scriptfile be set to for TC_Comb to work?

Аватар пользователя DimaDD

Hello,
TC file with the program preferences (tc-prefs.txt) should contain the line with a reference to the existing scriptfile, for example

calcmode 2
scriptfile PT  % this line points to tc-PT.txt
dataset 55   % if you wish to use dataset tc-ds55.txt
setpagewidth 200
dontwrap yes
strictsyntax no
autooverwrite yes
*


The prefix "tc-" (required by current versions of THERMOCALC) is specified in TC_Comb.ini. Corresponding scriptfile (tc-PT.txt in this case) should be like this:

calctype 3
setPwindow 1.0 10.0
setTwindow 400 1500
setPinterval 1.0
setTinterval 100
setexcess
allphases yes
doallr yes
setlinear 1
axfile ax
dataok yes
usedefsda yes
*


TC_Comb then will change some parameters in these files.

The easiest (if not the best) way is to delete/rename file with prefs, TC_Comb will create default files in this case: tc-prefs.txt (containing reference to tc-PT.txt) and tc-PT.txt as well.

Hello Dmitry!
First of all, thank you very much for your softwares! They surely make thermobarometry something easier :)

I'm having troubles trying to use TC_Comb... when everything is set up and I click on "Thermocalc" button, the program simply stops responding. This happened to me before with PTQuick, but somehow it stopped and I don't remember if I did something to fix this issue... I'm using Windows 10, maybe it's a problem with the OS?

Thank you in advance!

Аватар пользователя DimaDD

Dear Pedro,
Yes, it's quite possible that TC_Comb is incompatible with Windows 10, as it launchs THERMOCALC by a non-standard way (in so-called "debug mode"): this mode allows to catch, process and bypass errors like "division by zero", "floating point overflow", etc. which may be very annoying in THERMOCALC due to permanent system messages like "Unknown software exception (00X) occured at location 00Y, click OK to terminate the program" or something like this. It was possible to use TC_Comb+THERMOCALC tandem in previous OS versions (Win7, Win8) with THERMOCALC running in compatibility mode, but I don't know yet what to do in the case of Win10 (not tested by myself) because I don't have this OS on my computers (and almost all my colleagues avoids it). I cannot exlude also that my TC launching procedure has some mistakes which were not critical in old Windows versions but became serious now.
I'm planning to test programs under Win10 (and will try to find solutions) in closest future, I'll report about results as soon as possible.

I've tested using the program un-checking the "Batch mode" box and it's working, but all the changes must be done manually in the program window. I'll try using it again with another PC (without Windows 10) later today

Аватар пользователя DimaDD

Yes, I use that non-standard method only with the "Batch mode" checked. I'll add the option to TC_Comb.ini for launching THERMOCALC by the standard method in the batch mode, with those frequent system error messages which appear e.g. if only 2 linearly independent reactions occur in specified PT window.

P.S. Ooops, there are some other tricky techniques implemented in batch mode but not used for the standard operations with TC (input/output redirections). I'm interesting also is TC working at double-clicking items in the table with results? I've used the third type of this procedure there (intermediate between "batch" and "standard" modes).

Hello again Dmitry!

Is it possible to plot multiple analysis from TC Comb on TriQuick with their error ellipses?

Аватар пользователя DimaDD

Dear Pedro,

Yes, it's possible, there are many ways to do this:

The simplest way is to use the "Append mode" checkbox in the TriQuick "Settings" window, tab "Overlays", then just click on required lines in the table with results. Or save required diagrams in TriQuick as named TVL-files (instead default "Temp.tvl") while working with TC_Comb (TriQuick: Settings - Overlays - Save TVL-files) and then load them (... - Load TVL-files) with the "Append mode" checked. Then save compiled diagram as a separate TVL file or use buttons at the bottom of diagram window for copying picture to the clipboard or saving to a file (e.g. as wmf/emf vector graphics) for editing in advanced editors of vector graphics.

You can even compile diagrams manually: TVL files have a simple text format, so that you can open them in any simple text editor (like Notepad) and delete/copy/paste any objects (which are separated by empty lines). Objects with error ellipses looks like:

Ellipse=B;7E
#FF0000 1 0 #FFFC88 7
44 1.2 0.390 2 95
800 7.5


and objects with avPT points:

Marker=B;7E
0 6 #000000 0 0 #FFFF00 0
1
800 7.5


where "Ellipse" and "Marker" are the object types, "7E" - descriptions of objects (=ID of result for TC_Comb).

Moreover, TriQuick has the "Editor" window where you can also perform many operations, incl. deleting/copying/pasting/moving objects in the tree of objects (as well as changing their appearance). So you can load multiple TVL files to TriQuick with "Append mode" unchecked (they will appear as separate frames in this case) and copy/paste objects between frames (=TVL files). Make selected frames/objects (un)visible by the "Show" checkbox in the "Editor" window.

Unfortunately, TriQuick is based on the old Windows graphics engine where transparency is not supported :-(, therefore usually I use advanced vector editors (like CorelDraw) to make nice diagrams with semi-transparent error ellipses.

Hi Dmitry!

I'm really happy that TC Comb now works with Windows 10! I tried some "test drive" analysis today and got this note on the Results table:

"FP operation error at Rct"

Is there a problem? The results seem ok considering both the whole table and individual analysis. I have added some components to the calculations (q san H2O) and wrote an avPT.kbd of my own as the ones within the program were making the program crash for some reason.

Аватар пользователя DimaDD

Hi Pedro!

You can select calc-mode "Reactions" in TC_Comb main window and double-click any problematic row in the table with results: TC_Comb will repeat calculations and show Thermocalc output in the separate window (without analysis), this may help to understand what happens.

I think that the most probable reason of this message is inconsistent Rct.kbd - the second required macro-file, used in "Reactions" mode to draw curves. It's also important that you have to write Rct.kbd for repeating of 2 similar calculations in a single session: one for "Calc T at P = Y" and another for "Calc T at P = N" to provide enough PT-points.

Though, it's interesting that all other macros crush Thermocalc. What version of Thermocalc do you use and what minerals present in the system? Do you have cordierite (AFAIK, the only mineral which always require H2O and CO2 activities)?