Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.geol.msu.ru/deps/geochems/soft/ru/OptimA.doc
Дата изменения: Mon Dec 28 17:51:55 2015
Дата индексирования: Sun Apr 10 01:18:05 2016
Кодировка: koi8-r

OptimA: программа оптимизации свободных энергий Гиббса частиц водного
раствора по экспериментальным данным


Руководство пользователя






Назначение программы

Программа OptimA предназначена для уточнения и оценки точности
свободных энергий Гиббса небольшого числа частиц водного раствора по
экспериментальным данным (например, для определения констант
комплексообразования). Решение прямой термодинамической задачи расчёта
химических равновесий в водных растворах выполняется с помощью пакета HCh
для Windows (версия 4.2 и выше). В качестве источника данных программа
OptimA использует рабочую книгу программы MS Excel, в неё же записывает и
полученные результаты.

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




Подготовка исходных данных

Перед началом подготовки данных для программы OptimA необходимо с
помощью пакета HCh создать файл описания системы (файл типа System),
включающий водный раствор. Если выполнялись эксперименты по растворимости
твердой фазы, рекомендуется эту фазу задать как вполне подвижный компонент
(p.m.c.) - это ускорит расчёт и повысит его точность, позволив к тому же не
задавать количество этой фазы в системе. Рекомендуется также включать в
модель системы другие (неводные) фазы для контроля корректности модели и
интерпретации экспериментальных данных.

Исходные данные для программы готовятся с помощью программы MS Excel на
специально разработанной форме. Форма имеет название OptA_ex.xls и
представляет собой рабочую книгу Excel с одним рабочим листом. На рабочем
листе формы имеются комментарии, описывающие правила его заполнения. Ниже
перечислены основные моменты, на которые надо обратить внимание.

В начале формы вводятся: название системы; полный путь к базе данных
Unitherm, используемой для расчета равновесий; полное имя файла типа System
(включая путь); опции программы Gibbs, применяемые к расчёту всех
экспериментальных точек. Рекомендуется задавать опцию /s. Ряд опций может
понадобиться для задания различных режимов расчёта коэффициентов активности
частиц водного раствора (подробности см. в документации к программе Gibbs).
Опция /g может оказаться полезной, если требуется заменить какие-либо
энергии частиц (см. описание файла типа *.stg).

Внимание! Опция /g не действует на компоненты, представленные на рабочем
листе (вполне подвижные компоненты и оптимизируемые частицы водного
раствора).

Далее вводятся температура (в градусах Цельсия) и давление (в барах),
при которых выполнены все эксперименты.

Следующая строка задаёт количество вполне подвижных компонентов первого
типа. Вполне подвижные компоненты могут быть условно разделены на два типа
по признаку изменчивости их потенциалов - постоянные (потенциал которых
имеет одно и то же значение во всех экспериментах) и переменные (потенциал
которых имеет разные значения в различных экспериментальных точках).
Постоянные в.п.к. (вместе с их потенциалами) могут быть перечислены здесь,
в заголовке файла. После ключевого слова "P.m.c.:" надо указать число
в.п.к.-констант (эту величину нужно указывать обязательно; например, даже
если система не содержит в.п.к. вообще, здесь нужно явно ввести значение
0). Такое же количество последующих строк описывает каждый из в.п.к. этого
типа: название компонента (в точности так, как в файле System) и его
потенциал в kJ/mol. Для в.п.к.-газа задавать химический потенциал
необходимо, причём вычислять его следует по формуле [pic], где f -
парциальная летучесть газа. Для твёрдых в.п.к. здесь должно быть просто
[pic](T, P); его можно не задавать, если годится обычное значение,
рассчитываемое программой Unitherm.

Примечание: Остальные (переменные) в.п.к. системы, если они есть,
должны быть представлены (вместе со своми потенциалами) далее - в таблице,
описывающей отдельные экспериментальные точки (см. ниже).

Затем задаются частицы водного раствора, энергии которых могут быть
оптимизированы, а также начальные значения их энергий. Имена частиц должны
быть указаны в точности так, как они записаны в файле System. Количество
частиц не может быть нулевым. Количество одновременно оптимизируемых частиц
может быть от одного до восьми, но тестовых расчётов с числом частиц,
большим четырёх, не проводилось.

Примечание: можно не задавать начальные энергии частиц - в этом случае
будут использоваться значения, рассчитанные по данным из Unitherm.

Далее задаются выражения для координат X (при оптимизации не
используется, но может потребоваться при построении графиков) и Y -
параметра, измерявшегося в экспериментах. Здесь для обеих координат можно
написать либо "m(..)" - суммарная моляльность в растворе какого-либо
элемента, либо "a(.)" или "c(.)" - соответственно активность или
концентрация какой-либо частицы в водном растворе (название частицы в
скобках должно в точности совпадать с тем, как она представлена в файле
System). Концентрацией частицы по умолчанию считается моляльность, однако
можно задать и молярность; единица концентрации определяется таблицей
экспериментальных данных). В таблице данных (см. ниже) все соответствующие
величины должны быть представлены в логарифмической (десятичной) шкале.
Кроме того, для координаты X вместо указанных выше вариантов можно задать
ключевое слово "fixed" - это означает, что значения этой координаты не
будут вычисляться программой, но должны быть введены пользователем до
расчёта.

Перечисленные выше данные образуют «заголовок» файла данных. Далее
следует таблица с описанием экспериментальных данных. Заголовок должен
отделяться от таблицы пустой строкой.

Первая строка таблицы содержит названия граф. Большинство из названий
граф являются ключевыми словами и не должны изменяться пользователем.
Исключением являются графы, задающие составы химической системы. Ниже
приводится описание всех граф таблицы данных.

Первая графа - "Sample" - должна содержать идентификационное
обозначение каждой экспериментальной точки. Здесь можно вводить любые
символы, но есть одно ограничение: обозначение точки не может быть пустым
(пустая ячейка в этой графе используется для определения конца таблицы
экспериментальных данных).

Непосредственно за графой "Sample" должны следовать графы, задающие
потенциалы в.п.к. системы, не перечисленных в заголовке файла. Названия
этих граф должны представлять имена в.п.к. (точно так, как в файле System),
хотя порядок их следования может быть произвольным. Для всех в.п.к. из
данной таблицы указываются их потенциалы в каждой экспериментальной точке.
Правила представления этих потенциалов в таблице те же, что и для
«постоянных» в.п.к. (см. выше).

Следующие графы задают составы химической системы. Ни количество этих
граф, ни их названия заранее не определены - они определяются
пользователем. Названия этих граф должны содержать химические формулы
веществ, с помощью которых в экспериментах задавались составы системы.
Программа OptimA предполагает, что все эти вещества добавляются к 1 кг
воды, следовательно, в этих графах следует приводить моляльности веществ.
Если в каком-то опыте некоторое вещество не добавлялось совсем,
соответствующую ячейку можно оставить пустой - программа воспримет её как
0. Количество граф, задающих состав системы, программа определяет по
положению первой из следующих обязательных граф - графы весов измерений.

В графе "Weight" для каждой точки следует указать «вес»
соответствующего измерения, который характеризует его точность, а именно:
вес измерения есть величина, обратная дисперсии измерения. Например, если в
опыте измерялось значение pH (т.е. в заголовке файла для параметра "Y axis"
было задано "a(H+)"), а среднеквадратическая погрешность определения pH
составляла 0.01 логарифмической единицы, то вес такого измерения будет
равен 1/0.012 = 10000. Если в опыте измерялся валовый состав какого-либо
элемента ("Y axis: m(..)") со среднеквадратической погрешностью 3 %, то вес
такого измерения будет равен 1/(0.03/2.303)2 ( 6000 (здесь мы перевели
относительную ошибку состава в абсолютную ошибку его десятичного
логарифма). Правильность задания весов измерений имеет большое значение: во-
первых, относительные значения весов влияют на величину оптимизированных
параметров, во-вторых, от их абсолютных значений зависят рассчитанные
величины доверительных интервалов для этих параметров. Кроме того,
используя веса измерений, можно временно исключать из обработки некоторые
экспериментальные точки, не убирая их из таблицы данных - для этого
достаточно ввести веса некоторых точек, равные нулю (или просто очистить
соответствующие ячейки весов).

Графа "d, kg/l" (все буквы в нижнем регистре) является необязательной и
по умолчанию отсутствует в таблице экспериментальных данных. Если эта графа
задана, она должна содержать плотности водных растворов в каждой
экспериментальной точке. Эти данные используется программой OptimA только в
одном случае - если хотя бы одна из координат X или Y является
концентрацией частицы. Если эта графа присутствует, то программа принимает
за единицы концентрации молярность, если нет - моляльность.

Графа "X" должна обязательно заполняться пользователем для всех точек,
если в заголовке файла данных было указано "X axis: fixed". В остальных
случаях заполнять эту графу необязательно, так как программа OptimA
заполнит её сама после расчёта равновесия, используя заданное для оси X
выражение ("a(...)", "c(...)" или "m(..)").

Графа "Y (exp)" должна обязательно заполняться пользователем - она
содержит результаты измерений. Здесь должны быть заданы либо логарифмы
активности одной из частиц, либо логарифмы валового состава одного из
химических элементов (в соответствии со значением параметра "Y axis" в
заголовке файла).

Остальные графы таблицы не заполняются пользователем - они
предназначены для вывода результатов: графа "Y (calc)" будет содержать
значения, аналогичные измеренным, но рассчитанные программой по полученным
ею значениям свободных энергий, а графа "error" - разности между
измеренными и рассчитанными значениями Y. Дополнительная графа "extras"
предназначена для индикации возможной гетерогенности раствора, полученного
при расчёте - в ней будет указано количество неводных фаз, сосуществующих с
водным раствором в равновесной модели.


Запуск и завершение программы OptimA



Программа OptimA может использовать в качестве файла входной информации
непосредственно рабочую книгу Excel, в которой эти данные подготовлены.
Однако это возможно в том случае, если версия Вашей программы Excel не ниже
97. Если Вы используете Office 95 или более раннюю версию, экспортируйте
Ваш рабочий лист с исходной информаций как tab-delimited текстовый файл и
передавайте его программе OptimA в качестве входного файла. Работа в таком
режиме возможна, но не очень удобна. Поэтому в дальнейшем при описании
работы с программой будет предполагаться, что Вы передаете ей в качестве
исходного файла рабочую книгу Excel.

Вы можете запускать программу OptimA независимо от программы Excel.
Окно программы OptimA содержит всего два элемента управления: поле имени
файла исходных данных (как было указано выше, это может быть либо текстовый
файл с расширением *.txt, либо рабочая книга Excel с расширением *.xls) и
кнопку "Start Optimization". Рабочая директория (папка), в которой
находится файл с указанным именем, в поле имени файла не отображается -
подразумевается, что она определена при выполнении команды Browse,
использованной при заполнении данного поля или запомнена программой в
предыдущей сессии. Поэтому при необходимости сменить рабочую директорию
рекомендуется не вводить имя исходного файла вручную, а воспользоваться
кнопкой Browse, которая позволит сменить не только имя входного файла, но и
рабочую директорию.

Реакция программы OptimA на нажатие кнопки "Start Optimization" зависит
от содержимого поля имени файла исходных данных. Если это поле пусто, а
программа Excel в данный момент не запущена, программа никак не реагирует
на нажатие этой кнопки. Если имя исходного файла не задано, но в памяти
компьютера есть работающая программа Excel, то OptimA сама заполняет это
поле именем активной в данной момент рабочей книги Excel (и запоминает её
директорию как рабочую), но расчётов не начинает, требуя тем самым
подтверждения установки (т. е. повторного нажатия этой кнопки). В случае,
когда при нажатии кнопки "Start Optimization" поле имени исходного файла не
пусто, действия программы зависят от типа заданного файла. Расчеты
начинаются, только если файл исходных данных имеет расширение .txt или
.xls, в противном случае выдаётся сообщение об ошибке.

Примечание 1: Если в качестве имени входного файла указана рабочая
книга Excel, но сама программа Excel в данный момент не загружена, то
программа OptimA сама загружает Excel перед началом расчётов, и использует
первый рабочий лист заданной рабочей книги.

Примечание 2: Если Вы хотите работать с произвольным рабочим листом (не
первым) Excel-файла, то единственная возможность сделать это заключается в
следующей последовательности действий: 1) открываете в Excel требуемую
рабочую книгу и требуемый рабочий лист; 2) запускаете программу OptimA
(если она еще не запущена) и очищаете в ней поле имени входного файла (если
это поле не пусто); 3) дважды нажимаете кнопку "Start Optimization".

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

Когда программа OptimA выполняет расчёты, поле имени исходного файла и
кнопка Browse заблокированы, а кнопка "Start Optimization" заменена строкой
состояния, в которой отображается ход итерационного процесса (напр., номер
итерации, текущая среднеквадратическая ошибка, и т. д.). Вы можете в любой
момент прекратить вычисления, нажав с помощью мыши кнопку Close (в верхнем
правом углу окна). Будьте внимательны - если программа не выполняет
расчётов, нажатие этой кнопки приводит к закрытию программы.

Оптимизация свободных энергий заданных частиц выполняется программой
итеративно, то есть методом последовательных приближений. За ходом итераций
можно следить по строке состояния. Если файлом исходных данных является
текстовый файл, то строка состояния - единственный источник информации о
ходе процесса. Если же исходным файлом является рабочая книга Excel, то все
промежуточные результаты, получаемые по ходу расчётов, отображаются в
реальном времени на соответствующем рабочем листе этой книги. При остановке
расчётов пользователем (кнопкой Close) текущее (достигнутое) содержимое
рабочей книги Excel сохраняется. При работе с текстовым файлом программа
выдает дополнительный запрос о необходимости записи промежуточных
результатов в этот файл.

После успешного окончания расчётов исходный Excel-файл уже содержит все
результаты. Если же в качестве входного использовался текстовый файл,
программа дополняет его результатами вычислений и завершает работу. В обоих
случаях после завершения расчетов программа OptimA возвращается в исходное
состояние и может быть использована для решения следующей задачи.





Результаты расчётов

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

Каждая итерация характеризуется своим (текущим) набором значений
свободных энергий оптимизируемых частиц. Эти значения в начале каждой
итерации записываются в графу "Result" (за исключением "нулевой" итерации,
когда вычисляется состояние системы в "начальный" момент - в этом случае
энергии частиц берутся из графы "Initial"). На каждой итерации для текущих
значений свободных энергий во всех экспериментальных точках вычисляется
равновесный состав химической системы, из которых, в свою очередь,
вычисляются значения "Y (calc)" и, если требуется, "X"; затем вычисляется
невязка (разность между экспериментальным и рассчитанным значением Y). Эти
данные немедленно заносятся в соответствующие ячейки таблицы
экспериментальных данных. Кроме того, каждый равновесный состав проверяется
на гомогенность. Если помимо водного раствора при "рассчитанном" равновесии
присутствуют дополнительные фазы, то, для сведения пользователя, число
таких фаз заносится в графу "extras".

Полученные невязки используются для вычисления взвешенной суммы
квадратов отклонений - минимизация этой величины и является целью работы
программы OptimA. Средневзвешенное отклонение (среднеквадратическая
ошибка), характеризующее текущий набор свободных энергий Гиббса
оптимизируемых частиц, приводится в строке "Mean err." непосредственно под
столбцом текущих энергий.

Примечание: Если до начала оптимизации пользователь поместит на рабочий
лист график, содержащий экспериментальные и расчетные точки (т. е. график
типа XY, использующий столбцы "X", "Y (exp)" и "Y(calc)"), то по ходу
итераций он сможет наблюдать процесс оптимизации в графическом
представлении.

Момент окончания итераций программа определяет сама (пользователь не
может влиять на решение этого вопроса в процессе вычислений). Если
программа решила, что итерационный процесс можно прекратить, она переходит
к расчёту доверительных интервалов для найденных значений параметров.
Вычисленные значения доверительных интервалов (на 5%-м уровне) приводятся в
столбце "±" справа от столбца "Result". Доверительные интервалы имеют ту же
размерность, что и свободные энергии и невязки, то есть kJ/mol.

Примечание: Если Вы рассматриваете рабочий лист Excel с результатами
расчётов по программе OptimA, выполненными ранее, но не помните, были ли
эти расчеты доведены до конца или перед Вами промежуточный результат (т. е.
расчет был прерван нажатием кнопки Close), посмотрите на столбец
доверительных интервалов: наличие последних - верный признак того, что
расчёты закончились успешно.

Текстовые файлы с результатами работы программы OptimA содержат те же
результаты, что и рабочая книга Excel. Вообще, такие файлы рекомендуется не
рассматривать непосредственно, а открывать с помощью Excel как "tab-
delimited" файлы - в этом случае внешний вид результатов будет одинаков для
обоих типов файлов, что облегчает их интерпретацию и дальнейшее
использование.





Дополнительные возможности

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

Одной из принятых мер является регуляризация нормальной системы
уравнений, используемой в методе наименьших квадратов. Регуляризация делает
итерационный процесс более устойчивым, однако платой за эту устойчивость
может оказаться преждевременное окончание итераций. Программа использует
переменное значение параметра регуляризации, зависящее от максимального по
модулю значения невязки и номера итерации. Пользователь не может влиять на
величину этого параметра, но знать о его существовании полезно.

При плохой сходимости итерационного процесса, обусловленного высокой
коррелированностью параметров, можно применить так называемый метод
релаксации, в котором оптимизация параметров (или групп параметров)
производится поочередно. Для этого можно воспользоваться следующим
свойством программы OptimA: если в начале процесса оптимизации (то есть на
момент нажатия кнопки "Start Optimization") в столбце "Result" уже
присутствуют некоторые значения, то эти значения будут зафиксированы, то
есть соответствующие параметры исключаются из оптимизационного процесса.

Примечание 1: Если какой-то параметр исключён из набора оптимизируемых,
то и величина доверительного интервала для него также не рассчитывается.
Поэтому отсутствие в листинге доверительных интервалов для некоторых
параметров говорит о том, что данные параметры не оптимизировались в данном
расчёте.

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

Вычисленные программой OptimA доверительные интервалы для значений
оптимизированных параметров могут использоваться не только как
характеристики их точности, но и в некоторых случаях служить индикатором
неадекватности термодинамической модели. Например, если для свободной
энергии некоторой частицы получен доверительный интервал, значительно
превышающий доверительные интервалы для энергий других частиц данного
набора, то это, возможно, говорит о том, что данная частица является лишней
в данной модели водного раствора. Эту гипотезу можно легко проверить: нужно
удалить подозрительную частицу из системы и повторить оптимизацию без неё.
Как правило, оказывается, что удаление такой частицы из модели раствора не
оказывает заметного влияния ни на общее качество описания всего набора
экспериментальных данных, ни на оптимизированные значения оставшихся
параметров.

Выше предполагалось, что при оптимизации значений параметров не
используется никакой априорной информации о степени их влияния на функцию
отклика. Этот режим работы программы OptimA принят по умолчанию. Однако,
если известно (или предполагается), что некоторый параметр слабо влияет на
значение целевой функции (косвенным признаком такой "слабости" может
служить, например, медленная или неуверенная сходимость одной из величин
при условии, что остальные уже давно "стабилизировались"), то сходимость
всего процесса часто можно улучшить, задав априорное значение
доверительного интервала для этого параметра. Программа OptimA перед
началом оптимизации всегда просматривает столбец "±" и, если в нём есть
какие-либо значения, использует их при дальнейших расчётах как
характеристику "ожидаемой точности" соответствующих переменных. Высокие
значения априорных доверительных интервалов позволяют программе снизить
требования по условиям сходимости для соответствующих параметров, что даёт
возможность нормально завершить расчёт даже в таких системах, для которых в
обычном режиме полная сходимость никогда не достигается. В результате
такого расчёта будут получены новые (апостериорные) величины доверительных
интервалов, которые можно затем сравнить с априорными величинами и принять
решение о методах дальнейшего исследования.

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






Литература

Если необходимо сослаться на эту программу, можно воспользоваться
следующей ссылкой:

Shvarov Yu.V. A suite of programs, OptimA, OptimB, OptimC, and OptimS
compatible with the Unitherm database, for deriving the thermodynamic
properties of aqueous species from solubility, potentiometry and
spectroscopy measurements // Applied Geochemistry, 2015, v. 55, p. 17-27.



Приложение 1. Сообщения об ошибках

|Сообщение об ошибке |Комментарий |
|Ошибки, возникающие при чтении файла данных |
|Incorrect file type |Файл исходных данных не является ни текстовым, ни|
| |рабочей книгой Excel. Подготовьте правильный файл|
|Could not open the file|При попытке открыть входной файл произошла |
| |ошибка. Проверьте, не занят ли файл другим |
| |процессом |
|Unexpected error (short|Похоже, что файл не содержит всех необходимых |
|file?) |данных. Проверьте исходный файл |
|Database not found |В файле данных неправильно указан путь к базе |
| |данных |
|System file not found |Требуемый System файл не найден в указанной |
| |директории |
|Incorrect keyword |Ключевое слово отсутствует или написано |
| |неправильно. Проверьте правильность написания |
| |ключевых слов, используя в качестве образца файл |
| |OptA_ex.xls |
|No mandatory data |Отсутствуют обязательные данные (ячейка пуста). |
| |Проверьте исходный файл |
|No aqueous solution |Файл System не содержит водного раствора. Что Вы |
| |хотите оптимизировать? |
|T/P/D out of range |Температура, давление или плотность воды имеет |
| |значение, выходящее за пределы приложимости |
| |модели HKF. Проверьте и исправьте температуру |
| |и/или давление или добавьте опцию /ie (на свой |
| |страх и риск) |
|Incorrect number of |Количество в.п.к., указанное в файле данных не |
|p.m.c. |совпадает с их количеством в файле System |
|P.m.c. name is |Название вполне подвижного компонента не указано |
|incorrect or absent |или указано неверно. Укажите названия всех в.п.к.|
| |так (и в том порядке), как они указаны в файле |
| |System |
|P.m.c. appears twice |Название вполне подвижного компонента указано |
| |дважды. Проверьте, не задан ли один и тот же |
| |в.п.к. как постоянный и переменный (в разных |
| |частях файла данных) |
|P.m.c. potential is |Указанное в файле значение не является |
|invalid |потенциалом (числом). Исправьте значение |
|Potentials of gases are|Не задано значение потенциала в.п.к.-газа. Это |
|mandatory |обязательный параметр, так как он включает |
| |летучесть данного газа, которая не имеет значения|
| |по умолчанию |
|Could not calculate |Произошла ошибка при вычислении потенциала в.п.к.|
|potential |Проверьте правильность задания в.п.к. и T-P |
| |условий или задайте потенциал явно |
|Incorrect number of |Количество частиц, подлежащих оптимизации, меньше|
|species |1 или больше 8 |
|Species not found in |Частица не найдена в базе данных. Возможно, вы |
|the database |задали не ту базу данных |
|Species is not an |Среди частиц, подлежащих оптимизации, найдена не |
|aqueous |водная частица. Исключите её |
|Species not found in |Среди частиц, подлежащих оптимизации, найдена |
|System file |частица, отсутствующая в файле System. Возможно, |
| |Вы указали не тот System файл |
|Duplicated species |Какая-то частица встретилась дважды в списке |
|found |частиц, подлежащих оптимизации. Удалите одну их |
| |них |
|Could not calculate |Ошибка вычисления начальной энергии частицы. |
|initial energy |Проверьте T-P условия или задайте Initial явно |
|Incorrect axis |Одна из осей (X или Y) задана неверно. Вы можете |
|definition |задать либо активность частицы, присутствующей в |
| |растворе, либо валовую моляльность химического |
| |элемента |
|Invalid formula of a |Обнаружена ошибка в химической формуле вещества, |
|substance |задающего состав водного раствора (системы). |
| |Исправьте формулу; проверьте, есть ли в таблице |
| |графа "Weight" |
|Incorrect data column |Название графы в таблице экспериментальных данных|
| |не соответствует требуемому. Проверьте |
| |правильность написания названий граф |
|Composition value is |Обнаружено отрицательное количество вещества, |
|invalid |задающего состав системы. Исправьте ошибку |
|Weight value is invalid|Обнаружен отрицательный вес экспериментальной |
| |точки. Исправьте ошибку |
|Fixed X value not |Обнаружена пустая ячейка в графе "X", хотя в |
|defined |заголовке файла задано "X axis: fixed". Заполните|
| |все ячейки графы X |
|Fixed X value is |В графе "X" (fixed) задано не числовое значение. |
|invalid |Исправьте |
|Y (exp) value not |Обнаружена пустая ячейка в графе "Y (exp)". |
|defined |Заполните ее |
|Y (exp) value is |В графе "Y (exp)" задано не числовое значение. |
|invalid |Исправьте |
|Ошибки, возникающие при расчетах |
|Could not determine the|Программа не может определить направление поиска |
|direction |оптимума. Попробуйте другое начальное приближение|
|Invalid value |При вычислении значения "X" или "Y" произошла |
| |ошибка. Возможно, это произошло при |
| |логарифмировании. Проверьте, не могла ли |
| |вычисляемая величина (активность или валовая |
| |концентрация) обратиться в нуль |
|Could not invert |Гессиан целевой функции вырожден. Попробуйте |
|Hessian |изменить модель или сократить число |
| |оптимизируемых частиц |
|Could not estimate |Программа не может оценить дисперсии ошибок |
|intervals |определения параметров из-за малой изменчивости |
| |целевой функции. Возможно, частицы выбраны |
| |неудачно |
|Could not write to file|Системная ошибка при записи результатов в файл. |
|(disk access error?) |Проверьте, не защищен ли файл от записи и не |
| |занят ли он другим процессом |
|Error while |Системная ошибка при записи результатов в файл. |
|writing results to the |Номер ошибки указан в сообщении |
|file | |




Приложение 2. Математические детали


Программа вычисляет свободные энергии Гиббса заданных частиц водного
раствора, минимизируя сумму квадратов отклонений экспериментально
измеренной характеристики водного раствора от её значений, полученных
расчётом равновесного состава этого раствора во всех экспериментах,
выполненных при одних и тех же значениях температуры и давления:

[pic] (j = 1, ., n),

где [pic]- измеренные значения параметра водного раствора, [pic]-
рассчитанные значения того же параметра, wj - веса измерений (эти величины
должны быть обратны дисперсиям измерений yj), ? - вектор оптимизируемых
параметров (свободных энергий частиц), k - размерность вектора ? (число
оптимизируемых энергий), n - число экспериментальных точек.

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

Оптимизируемые параметры (i - свободные энергии частиц водного раствора
- всегда представляются в kJ/mol. В этих же единицах выражаются и
доверительные интервалы для найденных значений энергий частиц.

Метод наименьших квадратов применяется итеративно для определения
величин ??i в линейном разложении целевой функции в окрестности текущей
точки (:

[pic] (i = 1, ., k),

где частные производные целевой функции по оптимизируемым параметрам имеют
вид

[pic] (j = 1, ., n).

Так как аналитического выражения для функции y(() не существует, то в
программе необходимые частные производные [pic] берутся численно.
Итерационный процесс заканчивается, когда для приращений всех параметров
выполняется [pic]J/mol.

Доверительная область для совокупности оптимизированных параметров
[pic]вычисляется из условия [pic], где ( - уровень значимости (в программе
он принят равным 5%). Это условие аппроксимируется квадратичным
приближением [pic], где H - гессиан функции S2 в точке оптимальности,
оцениваемый в программе численно. Таким образом, доверительные интервалы
параметров (i определяются выражением [pic], где [pic]- диагональный
элемент матрицы, обратной гессиану H.