Полезное.


Вывод различных данных в лог.
Во время выполнения тех или иных заданий, программа UNEX всегда выводит в лог некоторую информацию о задании и ходе его выолнения. Тем не менее, часто этой информации не достаточно и требуется указать программе вывести в лог дополнительную информацию. Для вывода текстовой информации используется команда PRINT, для вывода псевдографической информации - команда PLOT.

Команда PRINT используется для вывода любых типов информации. Общий вид команды:
PRINT=инструкции...
Инструкции - это в общем случае задание типа выводимой информации и часто имени носителя информации. Ниже приведен список инструкций, которые следует ставить сразу после "PRINT=".
  1. XYZ,mol_name
    Вывод декартовых координат молекулы mol_name в выходной файл. Если в модели учавствует много молекул, то можно вместо имени молекулы mol_name поставить "all" - тогда будут выданы координаты всех молекул по очереди.
  2. VIBR,mol_name
    Вывод колебательной информации: амплитуд, колебательных поправок, констант асимметрии, номеров групп. Если mol_name="all" то вывод для всех молекул.
  3. RSORTU,mol_name
    Вывод отсортированных амплитуд межъядерных колебаний в порядке возрастания межъядерного расстояния. Полезная команда для разбиения амплитуд на группы для варьирования. Таблица выводится в формате FREEU и поэтому готова для использования в функции AMPLITUDES=mol,FREEU,<AMPL>,</AMPL> Т.е. можно из лога скопировать сортированную таблицу и вставить во входной рабочий файл.
  4. PARAMS,mol_name
    Вывод геометрической информации о молекуле в виде таблицы независимых геометрических параметров которые были использованы при построении входной z-матрицы. Таблица состоит из трех колонок: имя параметра, его значение (Ra для связей) и группа этого параметра. Заголовок таблицы содержит имя молекулы, ее процентное содержание (в скобках после имени).
  5. BOND,mol_name,n1,n2
    Вывод Ra, Rg значений межатомного расстояния (n1,n2 - номера атомов) в молекуле mol_name. Если была проведена минимизация, то в скобках выводится стандартное отклонение.
  6. ANGLE,mol_name,n1,n2,n3
    Вывод альфа-значения угла n1-n2-n3. Если была проведена минимизация, то в скобках выводится стандартное отклонение. Значение угла и ошибки выводится в градусах или радианах в зависимости от значения ключа AngleUnits в поле BASE (по умолчанию - градусы).
  7. TORSION,mol_name,n1,n2,n3,n4
    Вывод альфа-значения угла n1-n2-n3-n4. Если была проведена минимизация, то в скобках выводится стандартное отклонение. Значение угла и ошибки выводится в градусах или радианах в зависимости от значения ключа AngleUnits в поле BASE (по умолчанию - градусы).
  8. POTENTIAL,mol_name
    Вывод информации о потенциальной функции молекулы mol_name.
  9. INFO
    Вывод основной информации о текущих настройках программы. Это полезная команда когда нужно удостовериться что программа правильно интерпретировала все указания из поля BASE. Также, используя эту команду можно посмотреть настройки по умолчанию.
  10. GF,mol_name
    Вывод g-функцй молекулы mol_name в лог.
  11. IAT,mol_name
    Вывод функции атомного рассеяния молекулы mol_name в лог.
  12. COMPINFO
    Вывод информации об операционной системе, установленном оборудовании и математических особенностях компьютера. Определение математических особенностей выполняется по алгоритму:
    Cody, W.J. 1988, ACM Transactions on Mathematical Software, vol. 14, pp. 303-311.
    Мат. особенности включают в себя:
  13. STDPARAMS
    Вывод информации о параметрах газовых стандартов.
  14. TERMS,mol_name
    Вывод таблицы термов молекулы mol_name. Выводится: пара атомов, r_a - расстояние, среднеквадратичная амплитуда, колебательная поправка, константа асимметрии. Термы отсортированы в порядке возрастания r_a.
  15. INT,BGL,SMS,TSMS,DSMS
    Вывод кривых интенсивности, фона, экспериментальной sM(s), теоретической sM(s), разностной кривой. Слова INT,BGL,SMS,TSMS,DSMS можно комбинировать любым образом, например: команды PRINT=INT,BGL и PRINT=BGL,INT равнозначны и выведут в файл таблицы интенсивностей и соответствующих им линий фона.
  16. ALLGEOM,mol_name
    Вывод таблицы всех внутренних параметров молекулы mol_name.
  17. FURTERMS,mol_name
    Расчет вкладов термов молекулы mol_name в дифракционную картину и вывод соответствующей таблицы. Команда полезна при построении кривых радиального распределения для оценки и представления на графиках соответствия термов пикам Фурье-кривых.
  18. PRINT=MATRIXF2C,mol
    Команда для вывода квадратичного силового поля молекулы в форме треугольной матрицы, нарезанной полосами.
  19. PRINT=SHRINKF2C,mol
    Команда для вывода квадратичного силового поля молекулы в виде, удобном для ввода в программу Shrink.
  20. PRINT=F3CGAUSS,mol
    Команда для вывода кубического силового поля молекулы в виде, удобном для ввода в программу Shrink.
  21. PRINT=SYMMETRY,mol
    Команда для вывода всех элементов симметрии и точечной группы молекулы.
  22. PRINT=ROTCONSTS,mol
    Вывод теоретических и экспериментальных вращательных постоянных, поправок, ошибок и разниц.
Другой возможный способ вывода информации - псевдографика. Выполняется командой "PLOT=". Это полезная функция когда нужно быстро визуально оценить результаты в графической форме. Размеры псевдографической области можно контролировать с помощью ключей Wplot и Hplot в поле BASE.
Вариантов использования команды PLOT пока не много:
  1. POTENTIAL,mol_name
    Вывод в графической форме потенциальной функции молекулы mol_name (в динамической модели), и начальных энергий базовых псевдоконформеров.
  2. SMS
    Вывод графиков экспериментальных кривых sM(s).


Дополнительная работа с файлами изображений.
При использовании "сканерной" методики первичной обработки экспериментального электронографического материала очень важно всестороннее изучение сканера как метрологического прибора. Команда "IMAGE=" служит не только для извлечения кривых интенсивности рассеяния, но и для сравнения серий изображений, для получения гистограмм изображений.

Сравнение изображений выполнятеся командой:
IMAGE=COMPARE,файл1,файл2,файл3.... 
Где файл1,файл2,файл3.... - имена файлов с изображениями, которые нужно сравнить.
Пример:
IMAGE=COMPARE,f1.tif,f2.tif,f3.tif,f4.tif 
Эта команда полезна для проверки воспроизводимости сканера. Изображение дифракционной картины без перемещения сканируется несколько раз. Затем полученные файлы сравниваются и делается вывод о том, насколько хорошо сканер воспроизводит результаты сканирования. При работе команды IMAGE=COMPARE, UNEX выдает два графических файла формата TIFF: average.tif (содержит усредненную картину) и sigma.tif (содержит картину среднеквадратичных отклонений).

Другая полезная команда для работы с изображениями:
IMAGE=HISTOGRAM,файл1,файл2,файл3.... 
Эта команда обрабатывает последовательно файлы (файл1,файл2,файл3....) и выводит в лог гистограммы изображений этих файлов. При этом не важно количество и порядок задания файлов, все они будут обработаны последовательно и независимо.

Особо важно использовать эту команда для визуальной оценки качества дифракционной картины. В этом случае нужно для файлов изображений заводить свои поля и задавать в них ключи MinT и MaxT. Например:
<f1.tif>
MinT=7
MaxT=180
</f1.tif>
Тогда программа "отбросит" точки, не попадающие в интервал MinT-MaxT, оставшуюся часть изображения "растянет" для заполнения всего доступного диапазона пропусканий T и сформирует новый файл с именем transfmd.tif, который будет содержать преобразованное таким образом изображение. На этом изображении обычно более четко видны "грубые выбросы": плохие точки, грязь и т.д. Интервал MinT-MaxT выбирается на основании гистограммы: это диапазон в котором находится основная масса точек.

Автоматическая разбивка амплитуд на группы.
Выполняется командой:
AUTOGROUP=AMPLITUDES
Перед применением этой команды уже должны быть вычислены g-функции. Используйте команду осторожно.

Другие полезные команды.
К другим полезным командам можно отнести SET, SPESR, STOP.

Команда SET занимается установкой значений параметров (геометрических) системы. В общем случае геометрия задается из z-матрицы. Переменные z-матрицы затем могут варьироваться и принимать какие-либо значения. С помощью этой команды можно вынудить программу принять нужное значения для какого либо параметра. Варианты команды для установления значений длин связей, валентных и торсионных углов, приведены ниже:
  1. SET=BOND,mol_name,i,j,value
    Установление расстояния между атомами i-j молекулы mol_name в значение value. Важно, чтобы это расстояние было независимым геометрическим параметром.
  2. SET=ANGLE,mol_name,i,j,k,value
    Аналогично предыдущему варианту. Помните о ключе AngleUnits в поле BASE: если все значения углов вводятся в программу в радианах (AngleUnits=radian), то в этой команде тоже!
  3. SET=TORSION,mol_name,i,j,k,l,value
    Аналогично ANGLE.

Команда SPESR выполняет принудительное вычисление декартовых координат по желанию пользователя. Синтаксис:
SPESR=mol_name 
Геометрия молекулы должна быть инициализирована до этой команды. Иногда эта команда полезна в связке с командой SET, т.к. в последней только устанавливается значение какого-либо параметра без последующего вычисления декартовых координат.

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