Новосибирский институт органической химии им. Н.Н. Ворожцова СО РАН Лаборатория изучения механизмов органических реакций |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Как я делаю анимацииЧтобы получить анимацию химической реакции, сначала нужно рассчитать ее поверхность потенциальной энергии (ППЭ) (точнее, ее сечение по координате реакции). Простейший путь это сделать -- пустить сканирование но подходящему геометрическому параметру (длина связи, валентный угол, диэдральный угол), связанному с координатой реакции. Но, во-первых, такой подходящий параметр далеко не всегда можно найти, во-вторых, при сканировании ППЭ часто получаются рывки геометрии. Как правило, чтобы получить красивую, без рывков анимацию, нужно найти переходное состояние реакции и спуститься с него по IRC (Intrinsic Reaction Coordinate). Для этого требуется множество расчетов. Их последовательность прекрасно изложена на сайте qchem.ru на примере конформационного анализа гидроксиламина (NH2-OH)
Итак, получили IRC в ту и другую сторону, имеем файлы в формате xyz каждой из
ветвей. Теперь их надо объединить. Для этого одну из ветвей IRC нужно сделать в
обратном направлении с помощью reverse. Если ПС
симметрично, то считать IRC можно только в одну сторону. Но потом перед
объединением нужно дополнительно сделать reflect и
renum. Пошагово:# 1. mldn file.xyz #Геометрию 480х480, кнопка с фотоаппаратом, кнопка Movie, снова кнопка с фотоаппаратом rm mol001.gif # 2. molgeom -G file.xyz | mldn-gif -p 5 # 3. convert -loop 0 -delay 10 \ -fill 'rgb(0,0,132)' -draw 'color 0,0 replace' \ Gmol*.gif file480x480.gif # 3'. gifsicle --delay 5 --loopcount=0 \ --optimize=2 \ --colors 16 --dither \ --change-color 0,0,0 0,0,132 \ Gmol*.gif > file480x480.gif #Gmol*.gif `/usr/bin/ls -r Gmol*.gif` > file480x480.gif # Туда и обратно # Изменить задержку на все кадры gifsicle -b -d 10 file480x480.gif # Поставить задержки 1.5 с на 5-й и 43-й кадры и 2 с на 1-й и последний gifsicle -b file480x480.gif -d 150 "#5" "#43" -d 200 "#0" "#-1" # 4. rm mol*.gif Gmol*.gif #В molden'е геометрию 98x98, .... rm mol001.gif # 5. #Стереть 1-й gif convert -loop 0 -delay 10 \ -fill 'rgb(0,0,132)' -draw 'color 0,0 replace' \ mol*.gif file98x98.gif # 5'. #Стереть 1-й gif gifsicle --delay 10 --loopcount=0 --optimize=2 --change-color 0,0,0 0,0,132 \ mol*.gif > file98x98.gif |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||