Оглавление

# Философия ввода базовой информации

## Поле BASE

Почти всегда рабочий файл UNEX начинается с ввода основной информации, которая управляет работой программы. Для этого предназначена команда BASE с соответствующим полем. На примере BASE будут объяснены основные принципы составления большинства команд.

    Синтаксис команды:
    BASE=BASE,<BASE>,</BASE>

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

    <BASE>
    ..........
    ..........
    </BASE>

Поле BASE содержит управляющую ходом работы программы информацию, т.е. "ключи" и их значения. Вообще говоря, ни один из ключей не является обязательным и поле BASE можно вводить не всегда. Все зависит от типа работы, которую предстоит выпольнить программе. Есть два "условно обязательных" ключа, которые часто должны присутствовать:

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

Все остальные ключи НЕ обязательные (но часто полезные!).
Общий порядок составдения поля BASE такой: в начале строки указывается имя ключа, затем ставится пробел или символ "=" (можно комбинировать пробелы и "="), затем ставится значение ключа. Некоторые ключи требуют ввода строковых значений ("yes", "no", и др.), другие - целых чисел, третьи - чисел с плавающей точкой. Обычно ключи принимают только одно значение, но molecules и picfiles могут иметь сразу много значний. В любом случае можно указывать в одной строке много значений ключа, но использовано будет только первое, т.е. запись

    MaxIter=20 30 40

будет проинтерпретирована как запрос на максимум 20 итераций минимизации. Остальные числа будут проигнорированы. Такая форма записи иногда оказывается полезной, например, в случае временной настройки конкретного рабочего задания.
Следуя принципу максимальной автоматизации, программа требует минимальное количество инструкций в виде ключей. Если требуется "глубокое" вмешательство в работу программы, - нужно использовать дополнительные инструкции.
Иногда бывает необходимо чтобы UNEX в разных промежутках своей работы имела разные настройки. Это достигается с помощью многократного ввода необходимой управляющей информации. Вот пример части входного файла:

    BASE=BASE,<BASE1>,</BASE1>
    .......
    здесь идут рабочие команды, для которых MaxIter имеет значение 20
    .......
    BASE=BASE,<BASE2>,</BASE2>
    .......
    а здесь уже MaxIter имеет значение 30
    .......
    STOP

    <BASE1>
    ..........
    MaxIter=20
    ..........
    </BASE1>

    <BASE2>
    ..........
    MaxIter=30
    ..........
    </BASE2>

Ниже перечислен список всех ключей поля BASE.

- Базовые.

1. molecules
   имена учавствующих молекул. Здесь указываются молекулы (их имена), которые образуют модель системы. Если молекул несколько - то меделируется смесь молекул. Можно указывать несколько строк molecules. Это удобно если нужно моделировать много молекул.

           Примеры:
           molecules mol1
           molecules=mol1
           molecules=mol1,mol2,mol3
           molecules=mol1 mol2 mol3

   Внимание: для молекулы, указанной в инструкции molecules должно существовать свое информационное поле (см. ниже).
2. picfiles
   имена графических файлов. Программа понимает формат Intel TIFF (не используйте Motorola TIFF!). Файлы должны быть 8/16-битными, не сжатыми. Задаются также как и молекулы. Внимание: для имени файла, указанного в инструкции picfiles должно существовать свое информационное поле (см. ниже).

- Минимизация функционалов.

1. MaxIter
   максимальное количество допустимых итераций для минимизации функционалов методом найменьших квадратов. По умолчанию равно 20.
2. damp
   дамп-фактор процедуры МНК. Все добавки, получаемые решением МНК-системы уравнений умножаются на это число. Есть три варианта для damp:
   - damp=[число] (пример: damp=0.5) - постоянное значение.
   - damp=linear - дамп будет линейно увеличиваться вплоть до значения 1.0 на последней итерации минимизации.
   - damp=sigma - дамп-фактор будет увеличиваться сигмоидально до значения 1.0 на последней итерации минимизации; используется по умолчанию.
3. StopMaxDer
   StopDeltaMaxDer
   StopDeltaQs
   StopMaxAdd
   StopDeltaMaxAdd
   критерии останова минимизации, принимают значения чисел с плавающей точкой. См. секцию MINIMIZE.
4. MinOrthoParams
   Управление возможностью варьирования ортогональных параметров вместо обычных. 0-отключение (по умолчанию), 1-включение. Подробности - в разделе минимизации.
5. MinMethod
   С помощью этого ключа выбирается метод работы команды MINIMIZE. Может принимать значения:
   lsqgoldsec - комбинированный метод (МНК + метод золотого сечения, принят по умолчанию).
   goldsec - только метод золотого сечения.
   lsq - только МНК.
6. MinRobMaxIter
   Максимальное количество итериций Robust-минимизации. По умолчанию равно 10.
7. PrintScanResults
   управление выводом информации после работы команды SEARCH. Если в поле BASE стоит PrintScanResults=no то по окончании сканирования общая таблица значений функционала (или R-факторов) выводиться в лог не будет, если PrintScanResults=yes - то будет. По умолчанию PrintScanResults=yes.
8. ShowScanInfo
   - (yes/no) показывать/не_показывать процент работы команды SEARCH и скорость. По умолчанию ShowScanInfo=yes.
9. MaxDerErr
   максимальная ошибка численного вычисления производных. По умолчанию максимальная ошибка на порядок меньше чем критическое значение производных (смотрите критерии остановки минимизации).
10. MinDerErr
    минимальная ошибка численного вычисления производных. По умолчанию на три порядка меньше чем MaxDerErr.
11. SrchTime
    Процессорное время работы команды SEARCH в секундах. По умолчанию SrchTime=3600, т.е. один час.

- ГЭ стандарты.

1. std
   Используемый по умолчанию тип электронографического газового стандарта. Может быть std=CCl4 (если используемый газовый стандарт - тетрахлористый углерод) или std=C6H6 (если газовый стандарт - бензол). По умолчанию std=CCl4.
2. StdMaxIter
   Максимальное количество итераций в процедуре уточнения длины волны электронов по газовому стандарту. По умолчанию - 100.
3. StdSecRegNum
   Коэффициент регуляризации в процедуре уточнения секторной функции. По умолчанию - 0.001.
4. StdFindLambda
   1/0 - включает/выключает определение значений длин волн электронов на начальных этапах работы команды STANDART. По умолчанию включено.
5. StdVarLambda
   StdVarSector
   StdVarScale
   StdVarBgl
   Ключи принимают значения 1/0, которые соответственно включают/выключают варьирование соответствующих параметров (длин волн электронов, параметров секторной функции, масштабных множителей, параметров аддитивного фона) на последней стадии работы команды STANDART. По умолчанию все включено, кроме StdVarLambda.
6. StdSectorR0
   Максимальное расстояние (в мм.), на котором определена секторная функция. По умолчанию определяется автоматически.
7. StdPrintCorrs
   1/0 - включает/выключает вывод коэффициентов корреляций параметров на завершающей стандии команды STANDART. По умолчанию отключено.
8. StdPrintResSec
   1/0 - включает/выключает вывод начального приближения к секторной функции, полученного по индексу разрешения. По умолчанию выключено.
9. StdPrintFinBgl
   1/0 - включает/выключает вывод полученной кривой аддитивного фона после работы команды STANDART. По умолчанию выключено.
10. StdBglPolPow
    Степень полиномов, используемых для аппроксимации функций аддитивного фона во время работы команды STANDART. По умолчанию равняется 4.
11. StdScaVecNorm
    StdLamVecNorm
    StdSecVecNorm
    StdBglVecNorm
    Критические значения длин векторов смещений групп соответствующих параметров при работе команды STANDART.

- ГЭ кривые радиального распределения.

1. FurType
   способ расчета кривой радиального распределения. Может принимать три значения: old, classic и modern. По умолчанию используется classic. Подробности в разделе команды FUR.
2. FurMultR
   ключ, определяющий будет ли Фурье-кривая умножаться на r. Если FurMultR=0 - то не будет умножаться, если FurMultR=1 - то будет умножаться. По умолчанию FurMultR=1.
3. FurRfrom
   FurRto
   минимальное и максимальное значание r, для которых будет вычислена кривая радиального распределения.
4. FurDamp
   Коэффициент в экспоненциальной функции, на которую умножаются кривые sM(s) перед Фурье-преобразованием. По умолчанию вычисляется из соотношения exp(-FurDamp*Smax*Smax) = 0.1.
5. FurDivGf
   Ключ, который включает/выключает (1/0) деление кривых sM(s) на g-функцию терма с максимальным вкладом перед Фурье-преобразованием. По умолчанию FurDivGf=1.
6. FurTermDif
   При работе команды PRINT=GRAPHTERMS,mol_name определяет предельное допустимое различие между вырожденными термами, чтобы вычислить их вклады. По умолчанию этот ключ принимает отрицательное значение, что выключает поиск вырожденных термов.

- ГЭ g-функции.

1. GFsmin
   минимальное значение аргумента s для которого будет рассчитаны g-функции.
2. GFsmax
   максимальное значение аргумента s для которого будет рассчитаны g-функции.
3. GFstep
   шаг по s с которым будут вычисляться g-функции.

- ГЭ линии фона.

1. GedBglApproxType
   тип аппроксимации электронографического фона. Может быть spline (аппроксимация фона кубическим сплайном), polynom (аппроксимация полиномом), chebpolynom (аппроксимация ортогональным полиномом Чебышева). По умолчанию фон аппроксимируется сплайном.
2. Nibgl
   Количество точек перегиба в сплайне, аппроксимируещем разностную кривую sM(s) при работе команды IBGL. По умолчанию равно 5. Чем короче длина кривой, с которой имеет дело команда IBGL, тем меньше должно быть это число.

- Получение ГЭ кривых интенсивности.

1. IntScanIter
   максимальное количество итераций на последней ключевой стадии процесса извлечения кривой интенсивности из дифракционной картины. По умолчанию равно 50.
2. ImgIntVecNorm
   ImgCenVecNorm
   ImgBglVecNorm
   ImgSecVecNorm
   Критические значения длин векторов смещений групп параметров при первичной обработке.
3. WriteAsymBglImg
   WriteCurveImg
   WriteWeightsImg
   Три ключа определяют, будут ли записываться файлы с изображениями асимметричного аддитивного фона, кривой интенсивности и весами точек соответственно при первичной обработке дифракционных картин по команде IMAGE=INTSCAN. 0-отключение, 1-включение. По умолчанию: WriteAsymBglImg=0, WriteCurveImg=1, WriteWeightsImg=0.
4. ImgPrintIntR
   определяет вывод полученной по команде IMAGE=INTSCAN интенсивности в зависимости от обобщенного электронографического параметра s (ImgPrintIntR=0, принято по умолчанию) или от расстояния (в миллиметрах) до центра фотопластинки (ImgPrintIntR=1). Ключ полезен при работе с дифракционными картинами кристаллических материалов для измерения расстояний от центра картины до колец.
5. ImgPrintBlc
   определяет вывод типа кривой, полученной по команде IMAGE=INTSCAN интенсивности: 0 - кривая интенсивности (по умолчанию); 1 - кривая плотностей почернения.
6. ImgPrintIntCorrs
   ImgPrintAllCorrs
   принимает значения 1 или 0 и определяет выводить(1) или нет(0) матрицу коэффициентов корреляций между оцениваемыми точками интенсивности по команде IMAGE=INTSCAN. По умолчанию ImgPrintIntCorrs=0.
7. IntScanRobNum
   число, равное по умолчанию 4.685, контролирующее процесс отбрасывания грубых промахов во время проведения команды IMAGE=INTSCAN.

- Калибровка сканера.

1. MoveWedArea
   ключ, отвечающий за то, будет ли варьироваться форма и расположение областей клина во время процесса калибровки по команде WEDGE=AUTO... или WEDGE=MANUAL... Принимает значения "yes" и "no". По умолчанию - "yes".

- Остальные.

1. jobname
   имя задания. Ни на что не влияет. Сделано для порядка, для случая серии параллельных расчетов.
2. coolchar
   ключ для включения/выключения крутящихся символов на консоли. (1 - включено, 0 - выключено.) Иногда это полезно. По умолчанию равен нулю.
3. AngleUnits
   определение формата задаваемых в программе геометрических углов.
   AngleUnits=degree (углы задаются в градусах).
   AngleUnits=radian (углы задаются в радианах).
   По умолчанию углы задаются в градусах.
4. PotEUnits
   еденицы энергии, используемые при вводе параметров потенциальной функции.
   PotEUnits=au - атомные еденицы
   PotEUnits=kcal - ккал/моль
   PotEUnits=kJ - кДж/моль
   По умолчанию используется кДж/моль.
5. Temperature
   температура в кельвинах. Этот ключа влияет на результаты ГЭ структурного анализа в рамках динамической модели и на результаты расчета термодинамических функций. Значение по умолчанию - 298.15 K.
6. Pressure
   Значение давления в атмосферах. Влияет на расчет термодинамических функций. Значение по умолчанию - 0.986923267 атм.
7. Wplot
   ширина псевдографиков (количество символов в ширину).
   Hplot
   высота псевдографиков (количество символов в высоту).
8. CpuNum
   служит для принудительного задания количества используемых UNEX процессоров. По умолчанию UNEX по возможности использует все процессоры системы. Это можно изменить, задав соответствующее число с помощью данного ключа.
9. PrintMainInertXYZ
   ключ управляет тем, будут выводится декартовые координаты молекул в системе главных осей инерции (PrintMainInertXYZ=1) или в другой произвольной системе (PrintMainInertXYZ=0) в зависимости от z-матрицы. По умолчанию PrintMainInertXYZ=0.
10. MainInertOrient
    Определяет ориентацию молекулы в системе главных осей инерции. Принимает значения xyz,xzy,yxz,yzx,zxy,zyx. По умолчанию MainInertOrient=zyx.
11. SymTol
    Коэффициент чувствительности процедуры определения элементов симметрии молекул. По умолчанию равен 1.0. Меньше - жесче требования к геометрии молекулы.

## Ввод основной информации о молекулах

Для каждой молекулы в файле организуется свое поле, в котором указаны индивидуальные характеристики молекулы. Теги начала и конца этого поля конструируются из имени молекулы так: <имя_молекулы>, </имя_молекулы>. Это поле может содержать в виде ключ=значение следующую информацию о молекуле:

1. formula
   брутто-формула молекулы. Например если это хлороформ и в поле BASE мы назвали его mol1, то индивидуальное поле для этой молекулы будет таким:

       <mol1>
       formula CHCl3
       </mol1>

2. amount
   Если у вас несколько молекул, то важно указывать их мольное содержание в смеси в долях еденицы с помощью ключа amount, так как по умолчанию содержание каждой молекулы равно еденице. При этом нужно помнить что суммарное содержание всех молекул не может быть больше еденицы. Содержание последней молекулы в смеси является зависимым числом! Для последней в списке molecules (в поле BASE) молекулы amount можно не указывать - его значение вычислится автоматически.
3. varx
   Если вы захотите варьировать содержание молекулы в смеси, то потребуется указать номер группы, в которой будет варьироваться соответствующий параметр. Это делается с помощью ключа varx. Будте внимательны: номер группы должен быть отличным от номеров групп структурных параметров, так как варьировать концентрации и геометрические параметры (или амплитуды) в одной группе запрещено! Всего в системе из N молекул можно варьировать N-1 концентраций, так что не указывайте всем молекулам varx параметр отличный от нуля. Пример полей системы, где моделируется равновесие двух конформеров:

       <conf1>
       formula C4O4H6
       amount 0.3
       varx 1
       </conf1>
       <conf2>
       formula C4O4H6
       amount 0.7
       </conf2>

4. sing
   Если вводится псевдоконформер, то нет смысла использовать ключи amount и varx. Но если есть необходимость задать вырожденность базовому псевдоконформеру, то нужно использовать ключ sing:

       <mol0>
         formula C4O4H6
         sing 2
       </mol0>

5. gedmodel
   используемая для этой молекулы модель газовой электронографии. По умолчанию static (статическая модель). Можно поставить dynamic, что означает динамическая модель. При этом молекулы, которые задаются в списке psconfs (см. ниже) являются "базовыми псевдоконформерами", для которых необходим ввод геометрии, амплитуд, ж-функций.
6. psconfs
   список имен "базовых псевдоконформеров" данной молекулы. Этот ключ аналогичен ключу molecules в поле BASE с тем отличием что psconfs задает молекулы с одинаковой топологией, являющиеся "псевдоконформерами" молекулы, которой принадлежит данное поле. Имеет смысл только в динамической модели газовой электронографии.
7. pcnum
   общее количество псевдоконформеров для этой молекулы в динамической модели. Это число не может быть меньше чем количество базовых псевдоконформеров. Если это число больше чем количество базовых псевдоконформеров, то будут организованы дополнительные псевдоконформеры. При этом будет проведена аппроксимация всех параметров базовых псевдоконформеров полиномами (в координатах: нежесткая_координата-параметр) и вычисление параметров добавочных псевдоконформеров по этим зависимостям. Всю информацию об этих полиномах можно найти в логах. Значения нежесткой координаты у добавочных псевдоконформеров автоматически будут выбраны так, чтобы они равноплотно располагались между базовыми псевдоконформерами. В логе это отражается таким образом:

       Init geometry of additional pseudoconformers...
       PS=> [0.00].....[1.05]..[1.57]....[2.44]....[3.14]

   Здесь в квадратных скобках указаны значения (здесь в радианах) нежесткой координаты базовых псевдоконформеров (в этом примере их пять). Точки между ними - отображения добавочных псевдоконформеров. Внимание: если используются добавочные псевдоконформеры, то всегда нужно контролировать плотность их распределения на потенциальной кривой.
8. allsing
   вырожденности всех псевдоконформеров молекулы. Это способ задания вырожденности для всех (включая добавочные) псевдоконформеров. (После этого, вырожденности базовых псевдоконформеров можно менять ключем sing в полях соответствующих молекул).
9. PotType
   тип потенциальной функции, который будет использоваться в динамической модели. Принимает значения "Fur1" и "Spline".
10. PotCoefNum
    количество членов (включая свободный член) в потенциальной функции динамической модели данной молекулы. Не играет роли при использовании сплайнов в качестве потенциальных функций.
11. DynRelaxPln
    количество коеффициентов в релаксационных полиномах (полиномы для интерполяции параметров базовых псевдоконформеров и вычисления по ним соответствующих параметров добавочных псевдоконформеров) динамической модели. Т.е. степень полиномов будет DynRelaxPln-1. По умолчанию DynRelaxPln=5.
12. isotopmols
    Список молекул, являющихся изотопомерами по отношению к данной молекуле. У каждой молекулы в этом списке должно быть свое поле. isotopmols в основном используется в том случае, если требуется исследовать геометрию молекулы по ее вращательным постоянным и/или вращательным постоянным ее изотопомеров. В этом случае, в поле каждого изотопомера указываются экспериментальные вращательные постоянные (ExpRotA), их ошибки, поправки, и т.д.
13. ExpRotA
    ExpRotB
    ExpRotC
    Экспериментальные вращательные постоянные (обычно для нулевого колебательного уровня, но не обязательно) этой молекулы.
14. ErrRotA
    ErrRotB
    ErrRotC
    Ошибки соответствующих экспериментальных вращательных постоянных.
15. DeRotA
    DeRotB
    DeRotC
    Поправки (B(e)-B(v)) к экспериментальным вращательным постоянным (обычно на равновесную геометрию, но не обязательно).
16. SpinMult
    Спиновая мультиплетность молекулы. По умолчанию 1.

## Ввод файлов изображений

Ввод файлов изображений осуществляется по такой же схеме что и ввод молекул. Т.е. каждому файлу соответствует свое поле, теги которого выглядят так: <имя_файла>, </имя_файла>. Уклоняться от такой формы нельзя. В случае структурного анализа, ввод молекул и наличие поля для каждой молекулы обязательно. Но в случае ввода файлов изображений, присутствие полей этих изображений не всегда обязательно, т.к. часть информации берется из анализа самих файлов. Например при калибровке сканеров, вводимый файл изображения клина не обязан содержать свое личное поле (по крайней мере пока). Наоборот, при процедуре извлечения кривой интенсивности рассеяния из изображения дифракционной картины, такое поле желательно (или даже обязательно, иначе без него программа использует значения некоторых важных величин принятых по умолчанию), так как может содержать некоторое количество важной управляющей информации. Ниже приведены ключи имеющие смысл в поле, принадлежащем файлу изображения.

1. XResolution
   YResolution
   Разрешение изображения в файле в пикселях-на-дюйм. (X) - разрешение в ширину (поперек движения каретки сканера), (Y) - разрешение в высоту (вдоль движения каретки сканера). Вообще говоря, эта информация часто присутствует в самом TIFF-файле и программа может их использовать, поэтому эти ключи в общем случае не обязательны, но:
   1. Иногда такой информации нет в файле (это зависит от программы, в которой сохраняли TIFF-файл).
   2. Иногда присутствующая в файле информация не соответствует действительности.
      - Значения разрешений неправильные по смыслу.
      - Значения разрешений соответствуют тем числам, которые были выставлены на сканере (например 300dpi, 600dpi или др.), но реально сканер выдает немного другое значение в силу механических неточностей движения каретки, неравномерности считывающей матрицы и др.
   Собственно, калибровка сканера нужна в том числе для получения истинных значений разрешения сканера в обоих направлениях (X,Y). Причем следует иметь в виду, что отклонение от истинного разрешения может меняться от режима к режиму. Это значит, что если сканер используется в нескольких режимах (300dpi, 600dpi..), то нужно калибровать сканер во всех этих режимах! В силу всего вышесказанного, рекомендуется во всех случаях, где важно разрешение, указывать его явно с помощью ключей XResolution и YResolution.
2. Xc
   Yc
   Стартовые значения координат центра дифракционной картины в пикселях. Эти ключи используются в процессе исзвлечения кривой интенсивности рассеяния из изображения дифракционной картины.
3. fog
   Значение вуали на изображении дифракционной картины. По умолчанию равно 0.02.
4. NozToPlate
   Значение расстояния сопло-пластинка для данной дифракционной картины.
5. IntRfr
   IntRto
   Значение наименьшего и наибольшего расстояний (в миллиметрах) до центра дифракционной картины. Дифракционная картина внутри этого диапазона будет использована для извлечения кривой интенсивности.
6. IntStep
   Шаг по s в обратных ангстремах (или по r в мм.), с которым будет получена кривая интенсивности из дифракционной картины.
7. IntStepType
   Тип шага:
   sconst - постоянный шаг по s. (По умолчанию.)
   rconst - постоянный шаг по r.
8. IntLambda
   Значение длины волны электронов, которые образовали данную дифракционную картину. Для стандарта можно использовать принятое по умолчанию значение 0.05.
9. MinT
   MaxT
   Целые числа, означающие минимальное и максимальное значения пропускания. Эти два ключа задают интервал значений допустимых пропусканий пикселей. Пиксели, значения пропусканий которых выпадают из этого интервала, обрабатываться программой не будут. Эти ключи влияют на процесс извлечения кривой интенсивности из изображения дифракционной картины, а также на процесс получения гистограммы изображения. По умолчанию эти два ключа не работают, т.е. с изображения берется максимум возможных пикселей.
10. IntVarCentre
    IntVarSecCentre
    IntVarAsymBgl
    Это группа ключей, предназначенная для управления процессом извлечения кривых интенсивности с изображений дифракционных картин. Ключи принимают значения 1/0, что соответствует состояниям включить/выключить. Ключи соответственно обозначают варьирование: центра диф. картины, центра сектора, аддитивного несимметричного фона. По умолчанию все включено. Если IntVarCentre=0, то и центр сектора варьироваться не будет! Если поставить IntVarSecCentre=0, то центр дифракционной картины может варьироваться (если IntVarCentre не установлено в ноль), но центр сектора будет все время совпадать с центром дифракционной картины.
11. BitsPerPixel
    Битность изображения. Может быть 8 или 16.
12. ImgNbglX
    ImgNbglY
    Количество точек аддитивного несимметричного фона вдоль осей X и Y.
13. rXs
    rYs
    Стартовые значения координат центра вращения сектора в мм.
14. MaxBgl
    Максимальное допустимое значение аддитивного фона на дифракционной картине в процентах от средней плотности почернения. По умолчанию 10.0.

## Ввод геометрии молекул

В UNEX геометрию молекул можно задавать с помощью z-матриц. Для этого нужно использовать команду ZMATRIX:

    ZMATRIX=имя_молекулы,формат,тег_начала,тег_конца

например вот так:

    ZMATRIX=mol1,FREEZM,<ZMAT>,</ZMAT>

Формат FREEZM является достаточно гибким, чтобы можно было z-матрицы переносить из других программ без особых проблем. При этом, положение атомов в пространстве может быть задано независимыми внутренними параметрами (длины связей, валентные и торсионные углы), декартовыми координатами или смесью независимых внутренних параметров и декартовых коорданат одновременно.
В z-матрице в общем случае есть два раздела: тело z-матрицы и ее параметры. Элементы строки z-матрицы разделяются пробелами, запятыми или символами табуляции. Одна и та же переменная (параметр) может использоваться много раз. Строки z-матрицы в самом общем случае такие:
номер атома, символ атом, масса атома, 1-ый опорный атом, 1-ый параметр, 2-ой опорный атом, 2-ой параметр, 3-ий опорный атом, 3-ий параметр, тип
Смысл всех параметров очевиднен. Номер атома, массу и тип всегда указывать не обязательно, а только когда это нужно. В качестве параметров, можно непосредственно указывать их численные значения (в таком случае их нельзя будет варьировать) или имена.
Последний параметр указывает на тип строки:

- 0 - тройка геометрических параметров - связь, валентный угол, торсионный угол. Этот тип строки используется по умолчанию, поэтому 0 указывать не обязательно.
- 1(-1) - связь, валентный угол, валентный угол. Вариантов расположения атома два, поэтому параметр знаковый: 1,-1.
- 2(-2) - связь, связь, валентный угол. +,- соответствуют конфигурации.
- 3(-3) - связь, связь, связь. Тоже +,- соответствуют конфигурации.
- 4 - связь, связь, торсионный угол. Знак параметра не имеет значения, т.к. конфигурация контролируется торсионным углом.

Если положение атома задается декартовыми координатами, то строка в общем случае выглядит так:
номер атома, символ атом, масса атома, 1-ый параметр, 2-ой параметр, 3-ий параметр
Здесь параметры - это декартовы координаты данного атома. При этом, для задания положения одного и того же атома, нельзя использовать одновременно и декартовы координаты и внутренние параметры.
Вторая часть z-матрицы - часть переменных (параметров) - состоит в общем случае из трех колонок: имя переменной, значение, группа. Значения длин валентных связей не могут быть отрицательными и равняться нулю. Значения валентных углов должны принимать значения в диапизоне от 0 до 180 градусов включительно. При этом, использование крайних значения 0 и 180 допустимо только в отдельных случаях. Значения торсионных углов могут быть любыми. Размерность значений углов (градусы или радианы) задается ключем AngleUnits в поле BASE.
Знак торсионного угла определяется следующим правилом. Если смотреть вдоль центральной связи и расположить самый дальний атом вертикально вверх, то положительный торсионный угол будет соответствовать направлению самого ближнего атома против часовой стрелки, отрицательный угол - по часовой стрелке.
Номер группы параметра - целое число - указывает в составе какой группы будет варьироваться данная переменная. Если число группы равно нулю или вообще отсутствует, то данный геометрический параметр варьироваться не будет. Нельзя объединять в одну группу:

- длины связей и углы (валентные или торсионные)
- декартовы координаты и длины связей
- декартовы координаты и углы

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

1. Простейший пример построения z-матрицы молекулы, состоящей из цепочки четырех атомов (рис. 1)
   Это простейший пример z-матрицы. Первые три атома задаются особым образом, четвертый - общим способом. Для задания первого атома не нужны параметры, положение второго атома определяется длиной связи H-O, положение третьего атома определяется длиной связи O-O и валентным углом H-O-O. Четвертый атом определяется тройкой параметров: длиной связи, валентным и торсионным углом.
   Рис. 1. Структура молекулы H2O2. Изображены используемые внутренние параметры.
   Соответствующая z-матрица выглядит сдедующим образом:

       H
       O  1  0.960
       O  2  1.480  1  120.0
       H  3  0.960  2  120.0  1  120.0

   В этом варианте z-матрицы все параметры указаны сразу в явном виде. Во многих задачах удобнее использовать другой ее вариант:

       H
       O  1  Roh
       O  2  Roo  1  Aooh
       H  3  Roh  2  Aooh  1  Fhh

       Roh=0.960
       Roo=1.480
       Aooh=120.0
       Fhh=120.0

2. Нетрадиционный способ задания положения третьего атома (рис. 2)
   Обычно (см. пример 1) положение третьего атома задается длиной связи со вторым атомом и валентным углом с первым. Здесь показан пример нетрадиционного задания положения третьего атома, когда используется расстояние до первого атома и угол 3-1-2.
   Рис. 2. Структура молекулы H2O. Изображены используемые внутренние параметры.

       H
       O  1  Roh
       H  1  Rhh  2  Ahho

       Roh=0.960
       Rhh=1.663
       Ahho=30.0

3. Задание положения третьего атома с помощью двух расстояний (рис. 3)
   Иногда, например в случае трехчленных циклов, бывает удобно задавать положение трех первых атомов только с помощью длин связей. Для указания, что третий атом определяется двумя длинами связей, в конце соответствующей строки стоит ее тип - 3.
   Рис. 3. Молекула С3H6. Изображены используемые внутренние параметры.

       C
       C  1  Rcc
       C  1  Rcc  2  Rcc     3

       Rcc=1.508

4. Задание положения атома с помощью расстояния и двух валентных углов (рис. 4)
   Часто полезно задавать положение атома этим способом. Для этого, в конце соответствующих строк ставять тип +1 или -1. Пример построения молекулы тетрахлористого углерода с сохранением симметрии Td:
   Рис. 4. Молекула СCl4.

       Cl
       C    1  R1
       Cl   2  R1      1  A1
       Cl   2  R1      1  A1      3  A1      -1
       Cl   2  R1      1  A1      3  A1       1

            R1          1.7724
            A1        109.4712

   Видно, что положения последних двух атомов хлора определяется одинаковыми параметрами, за исключением знаков типа.
5. Задание положения атома с помощью двух расстояний и валентного угла (рис. 5)
   Такой способ задания положения атома требует указания типа +2 или -2, что соответствует конфигурации атома. Параметр Anco соответствует углу 3-4-5
   Рис. 5. Пятичленный цикл.
   Соответствующая z-матрица выглядит так:

       C
       C 1 Rcc
       O 2 Rco  1 Acco
       C 3 Rco  2 Acoc 1 F1
       N 1 Rcn  4 Rcn  3 Anco   2

        Rcc     1.51
        Rco     1.53
        Rcn     1.40
        Acco  106.0
        Acoc  108.0
        Anco   90.0
        F1      0.0

6. Задание положения атома с помощью двух расстояний и торсионного угла (рис. 6)
   Этот способ полезен например для описания геометрии пятичленного цикла в конформации "конверт" с симметрией Cs. В этом примере для задания атома азота используется строка с типом 4. При этом, параметр F2 соответствует двугранному углу 3-4-1-5.
   Рис. 6. Пятичленный цикл с симметрией Cs.
   Z-матрица выглядит так:

       C
       C 1 Rcc
       C 2 Rcc2 1 Accc
       C 3 Rcc  2 Accc 1 F1
       N 1 Rcn  4 Rcn  3 F2  4

        Rcc   1.5152
        Rcc2  1.53
        Rcn   1.40
        Accc  106.0
        F1    0.0
        F2    90.0

7. Задание положения атома с помощью трех расстояний (рис. 7)
   Этот способ особенно полезен при задании геометрии молекул каркасного типа. Здесь приведен пример описания геометрии тетраэдра P4 с помощью только одного параметра r(P-P). Тип строки: +3 или -3. При этом, для задания третьего атома также используется нетрадиционный способ, по двум расстояниям.
   Рис. 7. Кластер P4 симметрии Td.
   Z-матрица выглядит так:

       P
       P 1 Rpp
       P 1 Rpp  2 Rpp           3
       P 1 Rpp  2 Rpp  3 Rpp   -3

        Rpp     1.60

8. Z-матрица, где все параметры - декартовы координаты (рис. 8)
   Z-матрица, состоящая только из декартовых координат - это частный случай общего формата UNEXZM. Приведем пример построения фрагмента кубана с симметрией Oh. Обратите внимание, что перед именем параметра в теле z-матрицы может стоять знак минус.
   Рис. 8. Кластер С8 симметрии Oh.
   Z-матрица выглядит так:

       C   xx   yy   zz
       C  -xx   yy   zz
       C   xx  -yy   zz
       C   xx   yy  -zz
       C  -xx  -yy   zz
       C  -xx   yy  -zz
       C   xx  -yy  -zz
       C  -xx  -yy  -zz

        xx = 0.8
        yy = 0.8
        zz = 0.8

9. Z-матрица, где используются как внутренние параметры, так и декартовы координаты (рис. 9)
   На основе предыдущего примера можно построить z-матрицу молекулы кубана, а которой используется сместь внутренних и декартовых координат.
   Рис. 9. Молекула кубана.
   Z-матрица:

       C   xx   yy   zz
       C  -xx   yy   zz
       C   xx  -yy   zz
       C   xx   yy  -zz
       C  -xx  -yy   zz
       C  -xx   yy  -zz
       C   xx  -yy  -zz
       C  -xx  -yy  -zz
       H 2 Rch 3 Rch 4 Rch  -3
       H 1 Rch 6 Rch 7 Rch   3
       H 3 Rch 4 Rch 8 Rch   3
       H 1 Rch 5 Rch 7 Rch  -3
       H 2 Rch 4 Rch 8 Rch  -3
       H 5 Rch 6 Rch 7 Rch  -3
       H 2 Rch 3 Rch 8 Rch   3
       H 1 Rch 5 Rch 6 Rch   3

        xx = 0.8
        yy = 0.8
        zz = 0.8
        Rch = 2.4

10. Использование мнимых атомов в Z-матрицах (рис. 10)
    Для задания геометрии симметричных молекул полезно использовать мнимые атомы. Здесь в качестве примера представлена молекула аммиака. Обратите внимание, что перед именем торсионного угла может стоять знак минус.
    Рис. 10. Молекула аммиака. Показаны используемые параметры.
    Z-матрица:

        X
        N 1 1.0
        H 2 Rnh  1  Ahnx
        H 2 Rnh  1  Ahnx  3   Dx
        H 2 Rnh  1  Ahnx  3  -Dx

        Rnh=1.1
        Ahnx=110.0
        Dx=120.0

В некоторых случаях, для выполнения поставленной задачи, в программу достаточно ввести геометрию молекулы в виде декартовых координат. Тогда используется команда MOLXYZ с синтаксисом:

    MOLXYZ=mol,XYZUNEX,<xyz>,</xyz>

Соответствующее поле выглядит например так:

    <xyz>
          O     15.994910      1.606242     -0.764580      0.143150
          C     12.000000      0.348018     -0.688340     -0.304925
          C     12.000000     -0.348084      0.688410     -0.304794
          O     15.994910     -1.606235      0.764563      0.143488
          C     12.000000     -2.286545     -0.368003      0.721964
          C     12.000000      2.286694      0.367851      0.721731
          O     15.994910     -0.203977     -1.652125     -0.783203
          O     15.994910      0.203837      1.652274     -0.782999
          H      1.007830     -3.166236      0.053556      1.209183
          H      1.007830     -2.575074     -1.074599     -0.056665
          H      1.007830     -1.662698     -0.874253      1.464125
          H      1.007830      3.166443     -0.053842      1.208730
          H      1.007830      2.575135      1.074582     -0.056805
          H      1.007830      1.662995      0.873990      1.464092
    </xyz>

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

## Ввод среднеквадратичных амплитуд колебаний и колебательных поправок

Для ввода амплитуд и колебательных поправок в программу существует команда AMPLITUDES. Ее синтаксис такой же как и у основной части команд, предназначенных для ввода информации в программу:

    AMPLITUDES=имя_молекулы,формат,тег_начала,тег_конца

Формата два: FREEU и SHRINKU.

    Пример формата FREEU:
    <AMPLITUDES>
    ;
    ;A1  A2     Comment       U        Corr         A       G
    ;
    C2   Cl1    1.7925     0.05485     0.00      0.00000    3
    C2   Cl3    1.7925     0.05485     0.00      0.00000    3
    ..........................................................
    ..........................................................
    </AMPLITUDES>

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

    <AMPLITUDES>
    ;
    ;A1  A2     Comment       U        Corr         A       G
    ;
    C2   Cl1    1.7925     0.05485     0.00      0.00000
    C2   Cl3    1.7925     0.05485     0.00      0.00000
    ..........................................................
    ..........................................................
    </AMPLITUDES>

Если константы асимметричности нулевые, то их тоже можно не указывать, при этом номер группы может присутствовать:

    <AMPLITUDES>
    ;
    ;A1  A2     Comment       U        Corr         A       G
    ;
    C2   Cl1    1.7925     0.05485     0.01
    C2   Cl3    1.7925     0.05485     0.01                 3
    ..........................................................
    ..........................................................
    </AMPLITUDES>

Если колебательная поправка нулевая и константа асимметричности нулевая, то оба числа можно опустить:

    <AMPLITUDES>
    ;
    ;A1  A2     Comment       U        Corr         A       G
    ;
    C2   Cl1    1.7925     0.05485
    C2   Cl3    1.7925     0.05485                          3
    ..........................................................
    ..........................................................
    </AMPLITUDES>

Но если колебательна поправка нулевая а константа асимметричности НЕ нулевая, то тогда нужно явно прописывать оба числа:

    <AMPLITUDES>
    ;
    ;A1  A2     Comment       U        Corr         A       G
    ;
    C2   Cl1    1.7925     0.05485     0.00      2.00000    3
    C2   Cl3    1.7925     0.05485     0.00      2.00000
    ..........................................................
    ..........................................................
    </AMPLITUDES>

Формат SHRINKU полезен когда нужно использовать расчитанные программой shrink.exe амплитуды колебаний. Для этого достаточно просто скопировать из выходного файла shrink.exe набор амплитуд и поместить их в поле обозначенное соответствующими тегами.
Пример формата SHRINKU:

    <AMPLITUDES>
    ;    Amplitudes and corrections at 0300 K, second (harmonic)
    ;    approximation, local centrifugal distortions included;
    ;     are deviations from equilibrium distances
    ;
    ;       Atoms   Distance  Amplitude <dr(loc)> <dr(har)>      K
    ;
       1  C2   Cl1    1.7925     0.05485    0.0009    0.0000    0.00082   1
       2  C2   Cl3    1.7925     0.05485    0.0009    0.0000    0.00082   2
    .........................................................................
    .........................................................................
    </AMPLITUDES>

Здесь в каждой строке указаны: номер пары, пара атомов, расстояние между ними, амплитуда, число_не_имеющее_значение_для_нас, число_не_имеющее_значение_для_нас, колебательная поправка, номер группы. Внимание: программа shrink.exe в последнем столбике выдает целое цисло равное номеру пары атомов. Эти числа не имеют смысла номеров групп, поэтому их нужно исправлять. Также их можно просто убрать, что равносильно нулевым группам.
Оба формата задают группы амплитуд одинаковым способом - целое число в конце строки. Формат FREEU, кроме того, позволяет задавать константы асимметрии. Если по какой-либо причине номера атомов во входной таблице амплитуд не соответствуют нумерации z-матрицы (нумерация z-матрицы считается главной), то есть возможность проводить перенумерацию "на лету" с помощью команды RENUM в поле амплитуд. Например:

    RENUM=1-2,2-3

означает что атомы в таблице с номерами 1 и 2 будут автоматически перенумерованы в номера 2 и 3 соответственно. Команду RENUM лучше всего ставить перед началом таблицы (но внутри поля!), т.е. например:

    <AMPL>
    RENUM=1-2,2-3
       1  B1   C2   1.5803     0.0529    0.0010    0.0000    0.00077
       2  B1   C3   1.5803     0.0529    0.0014    0.0000    0.00039
    ................................................................
    ................................................................
    </AMPL>

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

## Ввод полной информации о электронографических термах молекулы

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

    GEDTERMS=mol,GTRM,<gtrm>,</gtrm>

Соответствующее поле выглядит например так:

    <gtrm>
    ;
    ;A1  A2      r_a          U        Corr         A       G_r    G_u
    ;
    C2   Cl1    1.7625     0.05485     0.00      2.00000     3      5
    C2   Cl3    1.7625     0.05485     0.00      2.00000     3      5
    C2   Cl4    1.7625     0.05485     0.00      2.00000     3      5
    C2   Cl5    1.7625     0.05485     0.00      2.00000     3      5
    Cl1  Cl3    2.8871     0.06844     0.00      0.00000     4      6
    Cl1  Cl4    2.8871     0.06844     0.00      0.00000     4      6
    Cl1  Cl5    2.8871     0.06844     0.00      0.00000     4      6
    Cl3  Cl4    2.8871     0.06844     0.00      0.00000     4      6
    Cl3  Cl5    2.8871     0.06844     0.00      0.00000     4      6
    Cl4  Cl5    2.8871     0.06844     0.00      0.00000     4      6
    </gtrm>

В комментариях, которые находятся в этом поле, уже есть вся необходимая информация. Но перечислим содержимое поля еще раз. Слева на право в каждой строке указаны: пара атомов, r_a расстояние, среднеквадратичная амплитуда, колебательная поправка, константа ассимметрии, МНК-группа в которой будет варьироваться r_a расстояние, МНК-группа в которой будет варьироваться амплитуда.
В этом поле, также как и в полях ввода амплитуд, работает команда RENUM.

## Ввод электронографических g-функций

В программе UNEX g-функции расчитываются автоматически. Для этого нужно использовать команду GF=, например:

    GF=mol1,AUTO,0.0500

Последнее число (здесь 0.0500) - длина волны электронов.
Расчет g-функций выполняется с помощью двумерного (U & s) интерполирования кубическими сплайнами, основанного на таблицах работы [2]. Эти таблицы охватывают диапазоны U=10-90 кВ и s=0-60 А. Но программа может вычислять значения g-функций выходящие за эти границы путем экстаполяций.

## Ввод кривых интенсивности рассеяния электронов, sM(s)

Все кривые интенсивности и соответствующие им кривые фона, теоретические и экспериментальные кривые sM(s), разностные кривые располагаются в категориях под определенными номерами. Категории тоже нумеруются. Например, кривая 1-2 это: вторая кривая из первой категории. Самый естественный для электронографии способ разбиения кривых на категори - по принципу расстояния сопло-пластинка. В каждой категории, отвечающей определенному расстоянию сопло- пластинка, может быть (и обычно бывает) несколько кривых. Однако это далеко не единственный способ разбиения кривых на группы. Можно распологать в разных категориях разные версии кривых, полученных разными способами: усреднением кривых полной интенсивности, усреднением кривых sM(s), по-разному полученные кривые из дифракционной картины и т.д.
Ввод кривых полной интенсивности осуществляется с помощью команды INT. Пример:

    INT=INT,<INT>,</INT>

Теги могут быть любыми.
Правила составления поля интенсивностей:

1. Все интенсивности начинаются словом INTi, где i - номер категории интенсивности, например номер расстояния сопло-пластинка.
2. Интенсивностей, начинающихся с INTi где i одно и то же, может быть сколько угодно.
3. Интенсивности состоят минимум из двух столбцов - s и I, где s - обобщенная электронографическая координата, I - значение интенсивности в ней. Третий столбец, не обязательный, - ошибка измерения интенсивности.

Далее все кривые (sM(s), Bgl) унаследуют те же номера и категории что были у интенсивностей из который эти кривые получены.
В одной строке с обозначением INTi можно указывать дополнительную информацию о данной интенсивности:

- Scale - значение Scale-множителя кривой sM(s) полученной из этой интенсивности, число с плавающей точкой.
- VarSc - номер группы (целое число), указывающее программе варьировать (больше нуля) или не варьировать (0) Scale кривой sM(s) полученной из этой интенсивности. Если VarSc не указано, то UNEX сама присвоит отличный от нуля номер группы для данного Scale.
- Lam - значение длины волны электронов при которой получана эта интенсивность, число с плавающей точкой, важно для работы со стандартами и при проведении линии аддитивного фона.
- NtoP - значение расстояния сопло-пластика (в мм), число с плавающей точкой, важно для работы со стандартами и при проведении линии аддитивного фона.
- StoP - значение расстояния сектор-пластика (в мм), число с плавающей точкой, важно для работы со стандартами и при проведении линии аддитивного фона.
- Std - тип газового стандарта (CCl4 или C6H6). Имеет смысл при работе с командой STANDART.

Вот пример поля интенсивностей, в котом задается две кривые в первой категории и по одной кривой для второй и третьей категории:

    <INT>
    INT1
     3.000000 0.854927
     3.200000 0.853378
     .................
     .................
    INT1
     3.000000 0.854927
     3.200000 0.853378
     .................
     .................
    INT2
     3.000000 0.854927
     3.200000 0.853378
     .................
     .................
    INT3
     3.000000 0.854927
     3.200000 0.853378
     .................
     .................
    </INT>

А здесь приведен пример задания значения масштабного множителя Scale для кривой и запрещение его варьирования с помощью ключа VarSc:

    <INT>
    INT1 Scale=0.85 VarSc=0
     3.000000 0.854927
     3.200000 0.853378
     .................
     .................
    </INT>

Ввод экспериментальных кривых sM(s) нужен если они были вычислены где-то вне программы. Это делается с помощью команды SMS. При этом, кривые полной интенсивности должны быть считаны до использования команды SMS. Количество точек в вводимой экспериментальной sM(s) должно совпадать с количеством точек соответствующей кривой интенсивности. Пример:

    SMS=2-1,<SMS_S>,</SMS_S>

Этой командой будет осуществлен ввод экспериментальной кривой sM(s), находящейся в пределах тегов <SMS_S> и </SMS_S>, на место первой кривой из второй категории. В кривой интенсивности 2-1 должно быть такое же количество точек, что и в вводимой кривой sM(s).

## Ввод потенциальных функций внутренних движений молекул

В динамической модели исследуемой молекулы требуется вводить кривые потенциальной энергии. Это делается с помощью команды POTENTIAL:

    POTENTIAL=mol_name,Format,<POT>,</POT>

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

    POTENTIAL=mol_name,PTL1,<POT>,</POT>

    <POT>
    POTCOEFG=2-22,3-33
      0.0  -456.92874
     60.0  -456.92808
     90.0  -456.92746
    140.0  -456.92899
    180.0  -456.92958
    </POT>

Здесь: mol_name - имя молекулы, <POT>, </POT> - теги нача и конца поля, POTCOEFG - команда, работающая только в пределах этого поля, указывающая номера групп для коэффициентов потенциальной функции. В данном случае группе второго коэффициента присвоен номер 22, а третьему - 33. Если команда POTCOEFG не указана, то группы всех коэффициентов потенциальной функции будут нулевыми и эти коэффициенты варьироваться не будут. Тип используемой потенциальной функции контролируется ключем PotType в поле молекулы. (Потенциальные функции, заданные в виде сплайна, варьировать нельзя. Поэтому, в таком случае POTCOEFG использовать также нельзя.) Далее идут два столбца чисел: значение нежесткой координаты базового псевдоконформера (в градусах) и энергия этого псевдоконформера в атомных еденицах. Используемые еденицы измерения углов и энергий зависят от ключей PotEUnits и AngleUnits в поле BASE.
FUNC
Ввод параметров потенциальной функции в явном виде.

    POTENTIAL=mol_name,FUNC,<POT>,</POT>

    <POT>
    PotType=Fourier1
    V0= 5.27107956178952e-01          0
    V1=-4.04548935680963e-01         22
    V2= 1.06676610189607e+00         33
    V3=-1.22559020497989e-01          0
    V4=-2.16296094277178e-01          0
    </POT>

Здесь в поле указан тип потециальной функции (Fourier1) и значения параметров с соответствующими номерами групп. Размерность параметров подчиняется ключу PotEUnits.

## Ввод секторной функции

Сектор - важное устройство в электронографическом эксперименте. Он располагается по пути рассеяния электронов на малом расстоянии от фотопластинки и вращается с высокой скоростью. Это нужно для "выравнивания" слишком быстро затухающей при больших углах рассеяния интенсивности. Такой эффект достигается за счет лепестковой формы сектора: в зависимости от расстояния до центра вращения, сектор пропускает разные "порции" электронов, близко к центру вырез лепестка маленький, далеко от центра - значительно больше. Функция, описывающая угол раскрытия сектора (что соответствует т.н. "пропускающей способности") в зависимости от расстояния до центра сектора, называется секторной. Часто такая функция близка к кубической, иногда - к квадратичной. Удобно работать с так называемой приведенной секторной функцией - результатом деления полной секторной функции на r^3 (или реже r^2).
Если в электронографическом эксперименте использовался сектор, то знание секторной функции существенно улучшает качество результатов первичной обработки экспериментального материала и последующего структурного анализа, т.к. знание секторной функции дает возможность значительно более надежно отделять аддитивный фон от общей интенсивности рассеяния электронов.
Ввод секторной функции осуществляется командой SECTOR. Ее синтаксис:

    SECTOR=формат,тег_начала,тег_конца

Форматов существует два:

- TOTAL - ввод полной секторной функции.
- R3DIV - ввод приведенной (на r^3) секторной функции.

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

    SECTOR=R3DIV,<SEC>,</SEC>

    <SEC>
    15.0   1.0
    20.0   1.0
    25.0   1.0
    30.0   1.0
    35.0   1.0
    40.0   1.0
    45.0   1.0
    50.0   1.0
    55.0   1.0
    60.0   1.0
    65.0   1.0
    70.0   1.0
    </SEC>

## Ввод калибровочной кривой

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

    WEDGE=INPUT,<WED>,</WED>

Соответствующее поле выглядит так:

    <WED>
          0.050        0.019
          0.200        0.106
          0.330        0.188
          0.460        0.269
          0.610        0.358
          0.770        0.461
          0.920        0.549
          1.060        0.632
          1.190        0.711
          1.330        0.798
          1.480        0.888
          1.630        0.983
          1.770        1.084
          1.930        1.176
          2.070        1.260
          2.200        1.365
          2.360        1.476
    </WED>

Здесь в первом столбике находятся истинные значения плотностей почернения, а во втором - соответствующие приборные значения плотностей почернения.

## Ввод силовых полей молекул

Ввод квадратичного силового поля в декартовых координатах из архивной части выходного файла программы Gaussian выполяняется с помощью команды:

    F2C=mol,ARCHGAUSSIAN,<F2C>,</F2C>

Типичный вид архивной части Gaussian:

    <F2C>
     1|1|UNPC-UNK|Freq|RB3LYP|CC-pVTZ|C1Cl4|PCUSER|25-Jan-2005|1||#P B3LYP/
     CC-PVTZ FREQ=CUBIC||test||0,1|Cl|C,1,R1|Cl,2,R1,1,A1|Cl,2,R1,1,A1,3,A1
     ,-1|Cl,2,R1,1,A1,3,A1,1||R1=1.78522605|A1=109.47122063||Version=x86-Wi
     n32-G03RevB.03|State=1-A1|HF=-1879.0243149|RMSD=7.770e-009|RMSF=8.445e
     -008|Dipole=0.,0.,0.|DipoleDeriv=-0.115451,0.,0.,0.,-0.115451,0.,0.,0.
     ,-0.7922386,1.3641876,0.,0.,0.,1.3641876,0.,0.,0.,1.3641876,-0.71704,0
     .,-0.2126938,0.,-0.115451,0.,-0.2126938,0.,-0.1906496,-0.2658483,0.260
     4957,0.1063469,0.2604957,-0.5666427,-0.1841982,0.1063469,-0.1841982,-0
     .1906496,-0.2658483,-0.2604957,0.1063469,-0.2604957,-0.5666427,0.18419
     82,0.1063469,0.1841982,-0.1906496|Polar=59.4555786,0.,59.4555786,0.,0.
     ,59.4555786|PolarDeriv=-0.0725286,0.,0.0725291,-5.5331598,0.,0.,0.,0.0
     725289,-0.0000001,0.,-5.5331598,0.,-1.4644274,0.,-1.4644275,0.,0.,-16.
     830143,-2.5749254,-0.0000005,2.5749251,-1.8207471,0.0000004,0.0000002,
     -0.0000002,2.5749244,0.,0.,-1.8207465,0.0000003,-1.8207458,0.0000006,-
     1.8207472,0.0000005,-0.0000004,3.641493,15.4145349,0.,1.4048518,3.1258
     796,0.,1.8095754,0.,5.2408894,0.0000001,0.,1.7760057,0.,1.7696354,0.,0
     .4197614,5.645613,0.,4.3969353,-6.3843034,5.302557,-2.0253901,2.113474
     2,-0.5845125,-0.9047878,1.9804509,-3.9434089,12.5855649,-0.5845125,2.7
     884112,1.5671381,0.7572302,-0.5845125,1.4321671,-2.8228065,4.8892442,4
     .3969357,-6.3843035,-5.302557,-2.0253901,2.1134741,0.5845125,-0.904787
     8,-1.9804508,-3.9434089,-12.5855649,0.5845125,2.7884111,-1.5671382,0.7
     572301,0.5845125,1.432167,-2.8228065,-4.8892443,4.3969356|PG=TD [O(C1)
     ,4C3(Cl1)]|NImag=0||0.03553796,0.,0.03553796,0.,0.,0.18003713,-0.03046
     744,0.,0.,0.21769238,0.,-0.03046744,0.,0.,0.21769238,0.,0.,-0.10233441
     ......................................................................
     ......................................................................
     446,0.09892169,-0.02873208,-0.00036049,-0.00095384,0.00427507,0.000456
     44,-0.00101393,0.00771281,-0.06994754,-0.10850785,-0.01358820,-0.02353
     545,0.02294649,-0.01682833,-0.02914750,-0.00229783,0.00816961,0.005387
     11,0.00024060,0.00058056,0.00976865,0.00024060,0.02166653,0.03752752,-
     0.02112392||@
    </F2C>

Аналогичный ввод кубического силового поля выполняется по команде:

    F3C=mol,ARCHGAUSSIAN,<F3C>,</F3C>