Внутренние координаты
В GAMESS (US) существует два способа задачи внутренних координат:
В группе
$DATA– весьма ограниченный, но полезный для задачи начальных координат системы.В группе
$ZMAT– более гибкий и функциональный, но неподходящий для задачи начальных координат.
Важно
Использование внутренних координат в расчёте определяется параметром NZVAR в группе $CONTRL
Данный параметр задаёт число используемых внутренних координат. Для линейных молекул оно равно \(3N-5\),
а для нелинейных – \(3N-6\), где \(N\) – число атомов молекулы. При использовании декартовых координат оно равно нулю.
Задача внутренних координат в группе $DATA
При выборе значения COORD=ZMT или COORD=ZMTMPC в группе $CONTRL начальные координаты системы вводятся через
внутренние координаты, записанные в форме Z-матрицы.
Z-матрица представляет собой набор внутренних координат системы. Её вид для значений
COORD=ZMT и COORD=ZMTMPC несколько отличается; ниже приведено описание её построения для значения
COORD=ZMT, после которого рассмотрены отличия COORD=ZMTMPC от неё.
Рассмотрим Z-матрицу на примере молекулы этилового спирта:
$DATA
Ethanol
C1
C
C 1 1.5000000000
O 1 1.5000000000 2 109.5000000000
H 3 1.0000000000 1 109.5000000000 2 180.0000000000 0
H 1 1.0000000000 3 109.5000000000 2 120.0000000000 0
H 1 1.0000000000 3 109.5000000000 2 -120.0000000000 0
H 2 1.0000000000 1 109.5000000000 3 180.0000000000 0
H 2 1.0000000000 1 109.5000000000 7 109.5000000000 1
H 2 1.0000000000 1 109.5000000000 7 109.5000000000 -1
$END
Внимание
Ввод начальных координат системы с помощью значений COORD=ZMT и COORD=ZMTMPC возможен только для
точечной группы симметрии \(C_{1}\). Ввод базисного набора
после каждого атома или в виде отдельных групп также недоступен.
Первые три атома являются реперными (опорными):
Первый атом задаёт начало координат.
Второй атом вместе с первым задаёт ось.
Третий атом вместе с предыдущими двумя задаёт плоскость.
Таким образом, возникает сферическая система координат, которая однозначно определяет местоположение всех остальных атомов системы.
Задача их осуществляется следующим образом:
Первый атом автоматически помещается в начало координат, для его задачи достаточно указать символ атома:
C
Примечание
Символ атома можно сопровождать натуральным числом (например, порядковым номером), записанным к нему вплотную:
C1
Второй атом задаёт ось, для его задачи необходимо ввести значения в следующем порядке:
Символ задаваемого атома.
Порядковый номер атома, до которого указывается расстояние.
Расстояние до этого атома.
В итоге получаем:
C 1 1.5000000000
Или:
C2 C1 1.5000000000
Примечание
Третий атом задаёт плоскость, поэтому он обязятельно не должен лежать на одной прямой с другими реперными атомами.
Три задаче третьего атома значения указываются в следующем порядке:
Символ задаваемого атома.
Номер атома до которого указывается расстояние.
Расстояние до этого атома.
Номер атома, задающего ось.
Величина плоского угла, образованного двумя указанными ранее атомами и задаваемым атомом при вершине.
В итоговая запись выглядит следующим образом:
O 1 1.5000000000 2 109.5000000000
Или:
O3 C1 1.5000000000 C2 109.5000000000
При задаче последующих атомов значения записываются в следующем порядке:
Символ задаваемого атома.
Номер атома, до которого задаётся расстояние.
Расстояние до этого атома.
Номер атома, задающего ось.
Величина плоского угла, образованного двумя указанными ранее атомами и задаваемым атомом при вершине.
Номер атома, задающего плоскость или вторую ось.
Величина второго угла (двугранного или плоского).
Тип второго угла.
Последнее значение определяет геометрический смысл второго угла:
если оно равно
0, то данный угол считается двугранным (изменяется от \(-180^{∘}\) до \(180^{∘}\)), тогда мы получаем классическую сферическую систему координат.если оно равно
1или-1, то этот угол считается вторым плоским углом (изменяется от \(0^{∘}\) до \(180^{∘}\)).
Данная система координат однозначно определяет местоположение атома вплоть до перемены знака, поэтому существует
два значения: 1 и -1, определяющие с какой стороны находится атом:
Здесь восьмой и девятый атомы заданы следующим образом:
H8 C2 1.0000000000 C1 109.5000000000 H7 109.5000000000 1
H9 C2 1.0000000000 C1 109.5000000000 H7 109.5000000000 -1
Запись же остальных атомов производится в виде:
H 3 1.0000000000 1 109.5000000000 2 180.0000000000 0
Или:
H4 O3 1.0000000000 C1 109.5000000000 C2 180.0000000000 0
Примечание
В последнем столбце значение 0 установлено по умолчанию, так что его запись можно опустить.
Предупреждение
Так как в группе $DATA Z-матрица используется для задачи координат системы,
то при задаче нового атома допустимо ссылаться только на атомы, уже заданные в матрице выше.
Важно
В Z-матрице вместо длин и величин углов можно использовать переменные, после всех координат через пустую строку указав их значения:
$DATA
Ethanol
C1
C
C 1 BL1
O 1 BL1 2 VA1
H 3 BL2 1 VA1 2 DA1 0
H 1 BL2 3 VA1 2 DA2 0
H 1 BL2 3 VA1 2 DA3 0
H 2 BL2 1 VA1 3 DA1 0
H 2 BL2 1 VA1 7 VA1 1
H 2 BL2 1 VA1 7 VA1 -1
BL1=1.500000
BL2=1.000000
VA1=109.5000
DA1=180.0000
DA2=120.0000
DA3=-120.0000
$END
Примечание
При указании значений переменных можно опустить знак «=», заменив его пробелом.
Помимо символов элементов, по которым определяются сорта атомов, существует ещё два равноправных специальных символа
X и BQ, задающих фиктивные атомы, которые участвуют только при построении геометрии системы.
Подсказка
В приложении собрана более подробная информация о фиктивных атомах.
Отличия ввода при COORD=ZMTMPC в группе $CONTRL:
Рассмотрим вид Z-матрицы на примере молекулы этанола:
$DATA
Ethanol
C1
C 0.0000000000 0 0.0000000000 0 0.0000000000 0 0 0 0
C 1.5000000000 1 0.0000000000 0 0.0000000000 0 1 0 0
O 1.5000000000 1 109.5000000000 1 0.0000000000 0 1 2 0
H 1.0000000000 1 109.5000000000 1 180.0000000000 1 3 1 2
H 1.0000000000 1 109.5000000000 1 120.0000000000 1 1 3 2
H 1.0000000000 1 109.5000000000 1 -120.0000000000 1 1 3 2
H 1.0000000000 1 109.5000000000 1 180.0000000000 1 2 1 3
H 1.0000000000 1 109.5000000000 1 60.0000000000 1 2 1 3
H 1.0000000000 1 109.5000000000 1 -60.0000000000 1 2 1 3
$END
Значения записываются в следующем порядке:
Символ задаваемого атома.
Расстояние.
Флаг оптимизации расстояния.
Величина плоского угла.
Флаг оптимизации плоского угла.
Величина двугранного угла.
Флаг оптимизации двугранного угла.
Номер атома, до которого задаётся расстояние.
Номер атома, задающего ось.
Номер атома, задающего плоскость.
Флаг оптимизации, вообще говоря, определяет, является ли при оптимизации величина постоянной (когда равен 0),
изменяемой (когда равен 1) или используется при расчёте внутренней координаты реакции (когда равен -1).
Однако в GAMESS (US) данные функции не поддерживаются.
Это вызвано тем, что формат ввода COORD=ZMTMPC был внедрён в GAMESS (US) из
программы MOPAC, чтобы можно было легко переносить оттуда координаты атомов частиц.
Но вышеперечисленные возможности не были реализованы в группе $DATA (они присутствуют в GAMESS (US) и
гибко настраиваются в группах $ZMAT, $STATPT, $IRC и $OPTFMO).
Поэтому данным флагам может быть установлено любое (но обязательно целое) значение.
Внимание
В отличие от Z-матрицы при значении COORD=ZMT в группе $CONTRL здесь отсутствует возможность использования
второго плоского угла вместо двугранного.
У реперных атомов из-за недостатка координат на место координат ставятся нули, однако их запись можно опустить.
Важно
Формат ввода COORD=ZMTMPC используется только для задачи координат, далее по ходу расчёта он переводится в COORD=ZMT
(или COORD=UNIQUE, если NZVAR=0 в группе $CONTRL).
Подсказка
Помимо форматов ввода COORD=ZMT и COORD=ZMTMPC, внутренние координаты также использует формат ввода COORD=HINT.
Сводная информация по нему собрана в приложении.
Задача внутренних координат в группе $ZMAT
Задача вручную
Группа $ZMAT позволяет задавать внутреннюю систему координат, отличную от системы координат, которая вводится
в группе $DATA при значениях COORD=ZMT или COORD=ZMTMPC в группе $CONTRL. В таком случае данные из группы $DATA
используются только для построения молекулы вне зависимости от значения параметра COORD в группе $CONTRL. Также данная
группа позволяет использовать другие виды внутренних координат помимо межъядерных расстояний, плоских и двугранных углов.
Для работы внутренней системы координат число координат должно быть равно значению параметра NZVAR в группе $CONTRL.
Данные координаты задаются в виде неупорядоченного массива (Z-матрицы) с помощью параметра IZMAT. Координаты вводятся следующим способом:
сначала записывается значение, определяющее тип координаты, а затем – номера атомов, задающих эту координату.
После этого записывается следующая координата и так далее.
Ниже перечислены все доступные типы внутренних координат порядок их задачи.
Примечание
Ниже в описаниях и на диаграммах атомы, определяющие координату, обозначены по порядку символами: \(I\), \(J\), \(K\), \(L\), \(M\) и \(N\). Фиктивные атомы обозначены как \(A\) и \(B\). Сами координаты обозначены как \(x\) и \(y\).
Горизонтальная плоскость изображена синим цветом, две вертикальные плоскости – чёрным. Остальные плоскости изображены красным.
Атомы, отрезки и углы изображены в цветах плоскостей, в которых (или параллельно которым) они лежат. Если они лежат на пересечении плоскостей, то они изображены чёрным цветом. Если же они не лежат ни в одной из изображённых плоскостей – то зелёным.
Длина отрезка \(IJ\):
Значение
1.Номер атома \(I\).
Номер атома \(J\).
Плоский угол \(IJK\):
Значение
2.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Угол между плоскостями \(IJK\) и \(JKL\):
Значение
3.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Номер атома \(L\).
Угол между отрезком \(IJ\) и плоскостью \(JKL\):
Значение
4.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Номер атома \(L\).
«Линейный изгиб» \(IJK\):
Значение
5.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Также необходимо в группе $LIBE определить значения параметра APTS. Данный параметр задаёт массив декартовых координат
фиктивных атомов (APTS(1)= \(x_{1}\), \(y_{1}\), \(z_{1}\), \(x_{2}\), \(y_{2}\), \(z_{2}\), \(...\)),
которые используются для этого типа координат. На каждый линейный изгиб приходится один фиктивный атом \(A\),
он определяет две плоскости (\(IJA\) и перпендикулярную ей, проходящую через отрезок \(IJ\)),
на которые будет проецироваться угол \(IJK\).
Внимание
Каждый линейный изгиб считается за две внутренние координаты и, как следствие, уменьшает требуемое значение параметра NZVAR
в группе $CONTRL на единицу.
Угол между плоскостями \(IJK\) и \(KLM\):
Значение
6.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Номер атома \(L\).
Номер атома \(M\).
Угол между плоскостями \(AKL\) и \(KLB\), где \(A\) – это середина отрезка \(IJ\), а \(B\) – середина отрезка \(MN\):
Значение
7.Номер атома \(I\).
Номер атома \(J\).
Номер атома \(K\).
Номер атома \(L\).
Номер атома \(M\).
Номер атома \(N\).
Таким образом, например, внутренние координаты молекулы этанола, приведённые при рассмотрении формата ввода COORD=ZMT
в группе $CONTRL, могут быть представлены следующим образом:
$ZMAT
IZMAT(1)=
1,1,2,
1,1,3,
2,1,3,2,
1,3,4,
2,3,4,1,
3,3,4,1,2,
1,1,5,
2,1,5,3,
3,1,5,3,2,
1,1,6,
2,1,6,3,
3,1,6,3,2,
1,2,7,
2,2,7,1,
3,2,7,1,3,
1,2,8,
2,2,8,1,
2,2,8,7,
1,2,9,
2,2,9,1,
2,2,9,7
$END
Примечание
Порядок записи внутренних координат не имеет значения.
Задача автоматически и полуавтоматически
Стоит отметить, что от выбора внутренних координат сильно зависит затратность расчёта. Например, при неудачно выбранной системе внутренних координат оптимизация геометрии системы может быть затруднительной. Наиболее это заметно на циклических и полициклических молекулах, где использование внутренних координат может приводить к разрыву циклов, «вылету» атомов из молекулы и тому подобному.
Такое поведение системы определяется связностью координат, то есть тем, как сильно изменение одной координаты влияет на величины других. Чем ниже связность координат, тем быстрее и проще расчёт.
Наименее связанными координатами являются ортогональные координаты: такие координаты которые меняются независимо друг от друга.
Декартовые координаты, в частности, являются ортогональными, однако они имеют другие недостатки, усложняющие расчёт. Во-первых, их больше, чем внутренних (в общем случае, \(3N\) против \(3N-6\)), а во-вторых, зависимость многих параметров системы от декартовых координат часто сложнее, чем от внутренних.
Снизить связность внутренних координат можно с помощью линейных преобразований. Более того, в результате линейных преобразований можно получить систему ортогональных координат. Частными случаями таких координат являются естественные и делокализованные внутренние координаты.
Естественные внутренние координаты – это координаты, полученные с помощью линейных преобразований внутренних координат 1, 2 и 3 типов (для последних двух выбор линейных комбинаций основывается на точечных группах симметрии в локальном приближении).
Делокализованные внутренние координаты – это координаты, полученные с помощью линейных преобразований
внутренних координат 1, 2 и 3 типов, в том числе избыточных (то есть, тех, что выходят за число, определённое
параметром NZVAR в группе $CONTRL).
Примечание
Вообще говоря, делокализованные координаты могут содержать и координаты других типов, но в GAMESS (US) они строятся только из координат 1, 2 и 3 типов.
И естественные, и делокализованные координаты являются ортогональными, и как следствие, использование их одинаково эффективно.
В GAMESS (US) присутствует возможность «ручного» ввода естественных координат (если точнее, то с помощью
параметров IJS и SIJ можно задать матрицу отображения, размерностью \(X×M\), где \(X\) и \(M\) – это,
соответственно, количество исходных внутренних координат и количество конечных естесственных координат), однако
существует гораздо более удобный автоматический способ ввода делокализованных координат.
Флаг DLC при установке значения DLC=.TRUE. запрашивает набор внутренних координат 1, 2 и 3 типов
(в том числе избыточных) для построения распределённых внутренних координат (по умолчанию DLC=.FALSE.).
Флаг AUTO при установке значения AUTO=.TRUE. автоматически генерирует набор внутренних координат 1, 2 и 3 типов
(в том числе избыточных). По умолчанию AUTO=.FALSE..
Таким образом, для подключения делокализованных внутренних координат достаточно во входной файл вставить строку:
$ZMAT DLC=.TRUE. AUTO=.TRUE. $END
Иногда при автоматической генерации может нехватить нескольких внутренних координат до \(3N-6\), в таком случае
их можно добавить параметром NONVDW. Данный параметр задаёт массив пар атомов, которые должны быть принудительно
соединены. Таким образом, к набору координат добавляется расстояние между атомами, а также соответствующие ему
плоские и двугранные углы.
Если сгенерилось \(3N-12\) координат, то это означает, что не была учтена одна связь, соединяющая две части системы; если же их сгенерилось \(3N-9\), то это означает, что одна из несоединённых частей системы – это одинокий атом, (симметричен и не имеет вращательных степеней свободы, поэтому теряется только 3, а не 6 координат).
Генерацию делокализованных координат можно настроить c помошью следующих параметров:
Параметр IXZMAT задаёт массив дополнительных координат, которые добавляются в набор, созданный флагом AUTO.
Параметр IRZMAT задаёт массив координат, которые вычёркиваются из набора, созданного флагом AUTO.
Параметр IFZMAT задаёт массив координат, которые «замораживаются», то есть фиксируются и не изменяются в процессе
расчёта. Параметр IFZMAT используется для «заморозки» только для координат 1, 2 и 3 типов, заданных через параметр
IZMAT или сгенерированных флагом AUTO. Для «заморозки» координат, заданных в группе $DATA или естественных
внутренних координат используется параметр IFREEZ в группе $STATPT.
Структура значений данных аналогична структуре значений параметра IZMAT.
Примечание
Для функционирования параметра IFZMAT обязательна установка параметра FVALUE. Данный параметр задаёт
массив величин, к которым привязываются значения координат, заданных параметром IFZMAT.