dn2010 (dn2010) wrote,
dn2010
dn2010

Category:

Считаем колебательные спектры (часть 1).

Итак, нам понадобятся:
ghemical: http://www.bioinformatics.org/ghemical/ghemical/index.html (версия под win32: http://www.bioinformatics.org/ghemical/download/release20080731/ghemical-2.98b-win32-tester.zip, скачивается, распаковывается и в /bin запускается relocate.bat, который пропишет в нужные места где искать служебные файлы, иконки и так далее). Несколько устаревшая, но очень удобная рисовалка молекул.
openbabel: http://openbabel.org/wiki/Main_Page - универсальный конвертер химических форматов. Вызывается командой babel из командной строки, в win32 есть графический интерфейс, но при наличии Far manager с его более-менее приличным текстовым интерфейсом он не очень нужен.
firefly: http://classic.chem.msu.su/gran/gamess/index.html (он же pcgamess, также в качестве считающего софта можно использовать orca, nwchem и ещё пару десятков подобных программ) - основной считающий движок, который решает уравнения квантовой физики и потом выводит результат в виде больших наборов цифирек.
wxMacMolPlt: http://www.scl.ameslab.gov/MacMolPlt/ графический интерфейс к GAMESS. Не полностью совместим с Firefly, что лечится патчами: http://slackbuilds.org/repository/14.0/academic/wxmacmolplt/ или добавлением опции -legacy к командной строке запуска firefly.
Gausssum: http://gausssum.sourceforge.net/ переводит спектры из машинночитаемых форматов в красивые графики или таблицы зависимости интенсивности от волнового числа, пересчитывает в интенсивности, моделирует уширение линий и компенсирует переоценку энергии при расчёте.

Запускаем ghemical и рисуем в нём набросок той молекулы, которую хотим посчитать. Для молекулярной механики важной является валентность связи и тип атомов, ну и оптимизация геометрии идёт до ближайшего минимума энергии, меняя длины связей и углы между ними, поэтому имеет смысл сразу рисовать нечто похожее на правду. Компьютер химии не знает и ему будет всё равно, что таких структур не бывает.
рисуем молекулу

Щелкнув по области рисования правой кнопкой мыши и выбрав там Расчёт->Оптимизация геометрии (Compute->Geometry Optimization) мы получим изображенное на следующей картинке:
ca3po42 оптимизированная геометрия
Если полученный результат не вызывает эстетического отторжения и не противоречит вашим представлениям о мироустройстве, то можно сохранить его в файл с помощью всё той же менюшки, вызываемой правой кнопкой мыши. Ghemical ругнётся, что новый формат может быть несовместимым со старым, но он уже настолько много лет как новый и все давно в курсе.
Если не получилось, то можно или отредактировать нужный кусок, или начать заново с чистого листа.

На этом этапе мы получаем полуфабрикат для дальнейших расчётов уже квантовой химией, к чему мы сейчас и перейдём.

Конвертируем получившийся файл с помощью babel во входной формат pcgamess:
babel ca3po42.gpr -o gamin ca3po42.inp
формат команды babel -i тип_входного_файла входной_файл -o тип_выходного_файла выходной_файл
Если тип файла можно однозначно определить по расширению (.gpr - ghemical), то соответствующие опции можно не указывать, что мы и сделали.

Копируем получившийся файл в каталог с установленным firefly. Следующая задача - написать заголовок файла. Это можно сделать с помощью wxMacMolPlt (Subwindow->Input Builder), а можно скопировать уже готовый. Кусок файла до $DATA должен выглядеть примерно так:
 $CONTRL SCFTYP=RHF RUNTYP=OPTIMIZE DFTTYP=B3LYP MAXIT=300 $END
 $SYSTEM TIMLIM=180000 MEMORY=200000000 MKLNP=2 $END
 $BASIS GBASIS=N31 NGAUSS=6 $END
 $GUESS GUESS=HUCKEL $END
 $STATPT OPTTOL=0.0001 NSTEP=200 $END
 $P2P p2p=.t. dlb=.t. $END
 $DATA
пробелы в начале строки нужны.

SCFTYP=RHF - про спин, все электроны спарены, иначе UHF;
RUNTYP=OPTIMIZE - оптимизация геометрии;
DFTTYP=B3LYP - используем теорию функционала плотности, гибридный функционал B3LYP;
MAXIT=300 - число прогонов большого цикла оптимизации, должно быть несколько сотен;
$SYSTEM TIMLIM=180000 MEMORY=200000000 MKLNP=2 $END - ограничения на время, память (количество свободной памяти, измеряется в словах по 8 байт, максимум можно 256, т.е. 2GB), число параллельных потоков в процессоре (для DFT не работает);
$BASIS GBASIS=N31 NGAUSS=6 $END - гауссов базис 6-31G, минимальный из дающих похожие на правду результаты;
остальное можно найти в инструкции к firefly, стоящие здесь значения в принципе разумны для большинства задач.

Запускаем firefly командой:
./firefly -f -r -i имя_входного_файла -o имя_выходного_файла
или
./firefly -legacy -f -r -i имя_входного_файла -o имя_выходного_файла
если используется непатченная версия wxMacMolPlt

если мы всё сделали правильно, то компьютер на какое-то время загрузится работой. Наблюдать за процессом расчёта можно с помощью wxMacMolPlt (Subwindow->Energy plot) или просто выводя выходной файл на экран, например, с помощью всё того же Far.

Если расчёт закончился удачно, то в конце файла будет написано нечто вроде
 EXECUTION OF FIREFLY TERMINATED NORMALLY 20:31:49 19-NOV-2011
и в файле будет строчка
1 ***** EQUILIBRIUM GEOMETRY LOCATED *****
тогда мы получили скорей всего правильную геометрию и можем продолжать дальше

Либо возможен случай
1 ***** FAILURE TO LOCATE STATIONARY POINT, TOO MANY STEPS TAKEN *****
UPDATED HESSIAN, GEOMETRY, AND VECTORS WILL BE PUNCHED FOR RESTART
в этом случае делаем новый входной файл
babel -i gamout имя_выходного_файла -o gamin имя_нового_входного
копируем заголовок и запускаем firefly снова пока не получим волшебное слово
EQUILIBRIUM в выходном файле.

Посмотреть что получилось можно всё в том же wxmacmolplt:
equilibrium and not

Продолжение в следующей части: http://dn2010.livejournal.com/3398.html

Полезные ссылки:
http://classic.chem.msu.su/gran/gamess/marek/en/docs/PCG-Tutorial-Usage.pdf — руководство по использованию Firefly вместе с wxMacMolPlt.
http://classic.chem.msu.su/gran/gamess/Firefly_input_rev002.pdf — список ключевых слов
Tags: квантовая химия, ликбез
Subscribe

  • Про packmol под windows

    Из исходников он собирается каким-нибудь gfortran из комплекта mingw32 или mingw64 командой gfortran *.f вызванной в каталоге, где эти *.f файлы…

  • Большие кванты

    Посмотрел вчера достаточно интересный вебинар по terachem: http://www.petachem.com/ как на видеокартах с Cuda можно считать квантовую химию в…

  • Лекции

    Сейчас в разной степени готовности есть следующие лекции: Математическая машинерия распознавания спектров и построения изображений микроскопии по…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 1 comment