|
freq4parts
Usage: freq4parts [-l=min,max] part1_part2... filename
Dependencies: perl
Принадлежности колебания той или иной части молекулы.
Молекула делится на части и вычисляется, насколько колебание изменяет каждую
часть. Численным критерием является величина с размеренностью момента инерции:
RMS = sum(M*(r-r0)**2), где M - атомная масса, (r-r0) - смещение атома в
результате колебания (bohr), суммирование по всем атомам данной части молекулы.
filename - файл, в котором д.б. равновесная геометрия и колебания в виде
смещений атомов по x,y,z.
Автоматически распознаются форматы: freq-файл molden'а и пока все.
Файлы в таком формате могут быть созданы квантово-химическим
визуализатором molden (Write--Molden format), либо из расчета
Природой скриптом pri2mol.
part1 - номера атомов части молекулы через запятую, можно с интервалами
через дефис, например 2-5,7-9 то же самое что 2,3,4,5,7,8,9
Части разделяются подчерком или пробелом (в последнем случае с
кавычками "1-5 6-10").
part2 - то же самое для второй части молекулы и т.д.
-l=min,max Пределы RMS для статистики. По умолчанию -l=0.1,0.9
-n Нормировать ли RMS частей на RMS целой молекулы
В результате выдается табличка со следующими колонками:
Vibr - номер колебания
Freq - частота колебания
Intens - интенсивность колебания (если есть в файле)
Whole_vibr - величина RMS для целой молекулы
Part 1 - величина RMS для части 1
Part 2 - величина RMS для части 2
....
freq4parts -help дает более подробное описание.
Написание этой программы инициировано обсуждением на chemport'е:
http://www.chemport.ru/forum/viewtopic.php?f=11&t=49893,
там есть пример с разъяснениями.
Некоторые замечания.
Алгоритм вычисления величины RMS такой: берется часть равновесной
геометрии (атомов, заданных декартовыми координатами), перемещается в центр
масс. На нее накладывается колебание (смещения атомов по x,y,z, тоже на
всякий случай перенесенные в их "центр масс"). Новая геометрия максимально
совмещается с равновесной (критерий - минимальная RMS между ними). Эта RMS
и будет характеризовать размах колебания атомов данной части.
В квантово-химических программых (по крайней мере в GAMESS)
колебания нормированы на 1 ед. величины RMS. Поэтому для целой молекулы в
случае "нормальных" колебаний RMS между равновесной и новой геометриями
равно 1 (или близко к тому, хотя и не всегда). А для трансляций/вращений,
молекула перемещается как целое, и RMS получается, естественно, 0. Если для
одной части RMS близко к 0, а для другой - к ~1, то значит, первая часть в
колебания перемещается как целое, а вторая искажается. В случае нулей для
всех частей (и 1 для целой молекулы) фрагиенты колеблются друг относительно
друга как целые.
Молекулу не обязательно разбивать на две непересекающиеся части. Можно
указать только одну часть, или три и больше (например, указать атомы
карбонильной группы, чтобы найти ее характеристическое колебание (зачем
только это могло бы понадобиться? Разве что для автоматизации)).
Можно давать в качестве параметров несколько файлов, но для всех них
разбиение на части будет одно и то же.
Последняя модификация: Tue Mar 24 09:41:15 2015
Download
Source
|