СТРУКТУРА ВЕЩЕСТВА И ТЕОРИЯ ХИМИЧЕСКИХ ПРОЦЕССОВ
УДК544.18: 544.43: 519.688
А. Г. Шамов, Д. Л. Егоров, Г. М. Храпковский
АВТОМАТИЗАЦИЯ ПОИСКА ЭКСТРЕМУМОВ В ПАКЕТЕ ПРОГРАММ РМКОБА 6 ПРИ ПОМОЩИ ПРОГРАММЫ Р-АЦТОЕХТКЕМиМ
Ключевые слова: квантово-химический расчет, переходное состояние, Priroda.
В работе описывается алгоритм поиска экстремумов при помощи программного пакета Priroda 6. Алгоритм реализован в виде эффективной компьютерной программы, существенно сокращающей временные затраты исследователя.
Keywords: quantum-chemical calculation, transition state, Priroda.
In work we describe an algorithm for finding an extremum using the software package Priroda 6. Algorithm is implemented in the form of efficient computer program, significantly reduces the time spent researcher.
Изучение механизмов химических реакций с использованием квантово-химических методов является одним из наиболее перспективных и интересных направлений современной химии. Использование результатов теоретических исследований позволило существенно расширить число обсуждаемых механизмов реакций, во многих случаях упростить, существенно углубить, а иногда и принципиально изменить интерпретацию результатов эксперимента [1-16].
Надежность результатов теоретического исследования существенно зависит от используемого квантово-химического метода. Квантово-химические методы высокого уровня, такие как, например, СС8Б(Т) [17] с большими базисными наборами гауссовых функций (сс-руТ2 [18-19] и большими), гарантированно обеспечивают достижение химической точности (то есть ошибки в рассчитанных свободных энергиях молекул и энергиях активации химических реакций не должны превышать 1 ккал/моль). Но время расчета в таких методах растет пропорционально седьмой степени числа использованных базисных функций, поэтому с их помощью можно исследовать только механизмы реакции малых молекул (до 10 атомов).
Композитные методы ваш81ап-1 - ваш81ап-4 [20-24], разработанные под руководством лауреата Нобелевской премии по химии 1998 года Джона Попла, во многих случаях позволяют получить результаты с точностью, близкой к химической, при существенно меньших затратах машинного времени. В основе всех композитных методов лежит следующий факт: экспериментальная точность расчета геометрии молекулы и близкая к эксперименту точность расчета инфракрасных спектров) достигается в методах ББТ в относительно малых базисах и в дальнейшем практически не меняется с увеличением размера базиса. Это позволяет исследовать механизм реакции (то есть последовательность изменений структуры (геометрии) молекулы в ходе химической реакции) относительно простыми методами.
А точные энергетические характеристики процесса рассчитывать более продвинутыми методами только для отдельных структур, соответствующим экстремальным точкам на поверхности потенциальной энергии (ППЭ) молекул.
Вышеперечисленные и аналогичные композитные методы можно использовать для изучения новых механизмов химических реакций даже в тех случаях, когда экспериментальные данные отсутствуют. Однако даже композитные методы требуют больших затрат машинного времени, и в настоящее время редко используются для исследования ППЭ сложных многостадийных реакций, особенно в тех случаях, когда в реакции вступают соединения большого размера.
В подавляющем большинстве работ по исследованию механизмов используются различные варианты методов теории функционала плотности (DFT), основанные на теореме Кона-Шэма[25], стоимость которых растет с увеличением размера молекулы пропорционально третьей степени размера базиса. Существует очень много вариантов метода DFT, которые используют различные способы вычисления обменного и корреляционного функционалов. Обычно они называются по первым буквам фамилий их авторов. Одним из наиболее популярных DFT методов является PBE[26-27], чрезвычайно эффективно запрограммированный Д.Н. Лайковым в пакете прикладных программ Priroda [28]. Эта программа является бесплатной для российских исследователей.
Высокая вычислительная эффективность пакета программ Priroda по сравнению с другими известными квантово-химическими программами, в том числе и с использующими графические процессоры NVidia, показана в публикациях А.Н. Маслия и сотрудников [29-30]. Priroda работает с PBE в разы быстрее, чем другие программы, реализующие этот DFT-метод. Однако эта программа имеет существенный недостаток по сравнению с коммерческими программами - в ней не полностью автоматизирован вычислительный процесс поиска экстремумов на ППЭ - минимумов и переходных состояний. После
расчета вторых производных энергии (матрицы Гессе) и одного цикла поиска экстремума программу надо запускать заново и при этом вручную перезадавать исходные данные. Опыт применения программы Priroda показывает, что если начальное приближение при поиске переходного состояния задано неудачно, то с большой долей вероятности переходное состояние не будет найдено, или после длительных блужданий по ППЭ будет найдено не то переходное состояние, которое интересовало исследователя. Это связано с тем, что по мере удаления от исходной точки матрица Гессе устаревает, а ее обновления по приближенным формулам в ходе расчета в области, далекой от экстремума, где ППЭ мало напоминает квадратичную функцию, накапливают серьезные ошибки. Опыт применения программы Priroda показывает, что Гессиан надо периодически перевычислять, а оптимальное число итераций между обновлениями Гессиана не превышает 32. Особенно это важно, когда в исследуемой области ППЭ Гессиан имеет более чем одно отрицательное собственное значение.
Целью настоящей работы является создание программной оболочки, управляющей процессом поиска экстремумов на ППЭ, которая должна обеспечить вызов программы Priroda, решение одного этапа поиска экстремума, автоматическое формирование исходных данных для следующего этапа расчета, проверку сходимости процесса и реализацию заданного пользователем алгоритма обновления Гессиана в ходе вычислений.
Алгоритм поиска экстремума при помощи Priroda кратко можно описать следующим образом (рис. 1). Для поставленной задачи создается in-файл для вычисления Гессиана с необходимыми параметрами и осуществляется его расчет. Когда расчет завершен, необходимо проанализировать его out-файл. Если вычисления завершились успешно, необходимо извлечь из out-файла блок $Energy, создать in-файл для расчета этапа оптимизации и вставить этот блок в конец данного файла (если итерация не нулевая, то происходит замена предыдущего блока $Energy на новый). Далее происходит расчет полученного in-файла. Если он завершается успешно, из полученного out-файла необходимо извлечь самые последние по своему расположению блоки $molecule и $Energy и использовать их для формирования in-файла расчета Гессиана для следующей итерации. На следующей итерации все указанные действия повторяются.
Если сходимость оптимизации достигнута (в out-файле появляется сообщение «OPTIMIZATION CONVERGED in N steps!», где N - количество шагов), целесообразно повысить параметры точности расчета в командах «convergence» и «accuracy» и продолжить итерационный процесс (такое повышение точности производится один раз). Если после этого на какой-то итерации значение G(max) примет удовлетворительное с точки зрения исследователя значение, процесс считается успешно завершенным, и можно приступать к проверке правильности найденного переходного состояния путем спусков к реагентам и продуктам реакции.
Нетрудно видеть, что ручное проведение этапов представленного выше алгоритма является весьма кропотливой и требующей существенных временных затрат работой. Завершение вычислений в Рги^а для текущего этапа необходимо отследить, после чего в имеющемся оШ-файле нужно найти необходимую информацию, проанализировать ее и создать на ее основе файл задания для следующего этапа вычислений. Если выполнять несколько расчетов одновременно, работа существенно усложняется, особенно если учесть, что время вычислений для каждой задачи индивидуально.
Рис. 1 - Диаграмма деятельности иМЬ [31], отображающая основные действия алгоритма поиска экстремума с помощью Priroda
Таким образом, актуальной задачей является автоматизация описанного выше итерационного процесса посредством реализации его алгоритма в виде компьютерной программы. Подобная программа была создана в нашей научной группе и получила название P-AutoExtremum. Данное приложение является консольным. Его запуск осуществляется из командной строки Windows. При этом программе должен быть передан параметр, содержащий имя управляющего текстового файла (без расширения) с настройками расчета. Для описания этих настроек используется простой язык команд. Каждая команда располагается на отдельной строке, ее значения записывается через пробел.
Управляющий файл устанавливает следующие настройки итерационного процесса расчета:
- путь к исполняемому файлу Priroda;
- путь к входному in-файлу расчета;
- итерационный порядок изменения параметра «steps» входного файла Priroda в зависимости от итерации (задается начальное значение, инкремент и предельное значение);
- максимальное количество итераций, при достижении которого процесс вычислений прекращается;
- предельная точность расчета;
- параметры повышения точности при первом достижении сходимости оптимизации;
- параметры отслеживания отсутствия явной динамики снижения G(max) на протяжении нескольких итераций после повышения точности (под отсутствием динамики снижения понимается сохраняющийся на протяжении нескольких итераций низкий уровень изменения G(max), либо его возрастание).
Если все параметры заданы корректно, программа инициирует запуск пакета Priroda и расчет в соответствии с предоставленным входным in-файлом. Когда расчет будет завершен, P-AutoExtremum приступит к анализу его out-файла. Если проводился расчет Гессиана, программа по ключевым словам отыщет в нем блок $Energy и сформирует входной in-файл для расчета этапа оптимизации, включив этот блок туда. Если проводился расчет оптимизации, программа извлечет из out-файла блоки $Energy и $molecule и, используя эти блоки, сформирует in-файл для расчета Гессиана на следующей итерации.
Работа программы сопровождается выводом на экран информации о работе итерационного процесса (рис. 2) и параллельным логированием этого вывода в текстовый файл с именем, переданным программе в качестве параметра, и добавлением к нему суффикса «_LOG». Таким образом, пользователю предоставляется достаточно подробный отчет о действиях программы и работе итерационного процесса.
Вычисления будут продолжаться до тех пор, пока не будет выполнено одно из условий выхода.
Процесс считается успешно завершенным, если G(max) принял значение, меньшее заявленной предельной точности, и при этом была достигнута сходимость оптимизации.
Причин неудачного завершения вычислений может быть несколько:
- ошибочное завершение расчета в Ргп^а;
- достижение заявленного лимита итераций;
- отсутствие отрицательных частот при поиске переходного состояния;
- отсутствие явной динамики снижения в(шах) на протяжении заданного пользователем количества итераций.
da6\\4SSH2O+SC4H4~TS6(5>~((D0>~Hes
[И C:\Wmdows\sy5tem32\cnid.exe
ion completed
; of the file C:\Nprlroda6SV
И.0122496 ■ frequency 421.04i <mode 1> frequency 110.27i (mode 2> : spent on calculation: 4.'
ITERATION Q (Optimize, :
ion completed : of the file C:\\prii : spent on calculâtioi : 0.0111903
Calculation completed
Analysis of the file C:S\priroda6S\4\\H20+SC4H4~TS6(5>~C01>~Hei
G(max> = Q.0105951
Change of G(max): -13.5062 precent.
Negative frequency 543.33i (mode 1>
Negative frequency 115.25i <node 2>
The time spent on calculation: 4.36 min
xwxhxhxhxhx ITERATION 1 (Optimize, steps=10) xxxxxxxxxxx
ion completed
of the file C:S\priroda6ss4SSH2O+SC4H4~TS6(5>~<01)~Hes~Opt<TS>.o ! spent on calculation: 6.77 min 0.00653897
Рис. 2 - Пример работы программы P-AutoExtremum, запущенной в интерпретаторе командной строки Windows. Фрагмент вывода информации о работе итерационного процесса для конкретной задачи. Представлены данные об итерации и ее этапах, значение параметра «steps», значения обнаруженных отрицательных частот, значение G(max) и его изменение по сравнению с предыдущей итерацией, а также информация о времени проведенных вычислений
Программа P-AutoExtremum была апробирована на большом количестве различных задач с использованием пакета Priroda 6 и показала высокую эффективность в экономии времени исследователя. Отметим, что особенности функционирования программы позволяют с удобством организовывать одновременное выполнение нескольких расчетов: для каждой задачи можно создать отдельную папку, индивидуальный управляющий файл с настройками итерационного процесса и bat-файл с командной строкой для запуска P-AutoExtremum. Имя лог-файла процесса также будет индивидуальным для каждой задачи, что облегчит анализ результатов.
Работа над усовершенствованием программы P-AutoExtremum продолжается. Ближайшие основные этапы развития следующие:
- создание в программе блока, отвечающего за автоматизацию этапа проведения спусков;
- адаптация программы для новейших версий пакета Priroda;
- создание версии программы для использования в операционной системе Linux;
- адаптация программы для проведения вычислений на кластерах.
Литература
1. В. Л. Королев, Т.С. Пивина, А.А. Поролло, Т.В. Пету-хова, А.Б. Шереметев, В.П. Ившин, Успехи химии, 78, 10, 1022-1047 (2009).
2. G.M. Khrapkovskii, A.G. Shamov, E.V. Nikolaeva, D.V. Chachkov, Russian Chemical Reviews, 78, 10, 903-943
(2009).
3. A.G. Shamov, G.M. Khrapkovskii, Mendeleev Communications, 11, 4, 163-164 (2001).
4. И.В. Аристов, Д.Л. Егоров, А.Г. Шамов, Г.М. Храпков-ский, Вестник Казанского технологического университета, 1, 7-10 (2011).
5. G.M. Khrapkovskii, T.F. Shamsutdinov, D.V. Chachkov, A.G. Shamov, Computational and Theoretical Chemistry, 686, 1-3, 185-192 (2004).
6. Т.Ф. Шамсутдинов, Д.В. Чачков, А.Г. Шамов, Г.М. Храпковский, Известия высших учебных заведений. Серия: Химия и химическая технология, 49, 9, 38-40 (2006).
7. A.F. Shamsutdinov, T.F. Shamsutdinov, D.V. Chachkov, A.G. Shamov, G.M. Khrapkovskii, International Journal of Quantum Chemistry, 107, 13, 2343-2352 (2007).
8. G.M. Khrapkovskii, Mendeleev Communications, 7, 5, 169-171 (1997).
9. Д.Д. Шарипов, Д.Л. Егоров, Д.В. Чачков, А.Г. Шамов, Г.М. Храпковский, ЖОХ, 81, 11, 1822-1836 (2011).
10. Д.Д. Шарипов, Д.Л. Егоров, Д.В, Чачков, А.Г. Шамов, Г.М. Храпковский, Вестник Казанского технологического университета, 7, 45-52 (2010).
11. Д.Л. Егоров, Г.М. Храпковский, А.Г. Шамов, Вестник Казанского технологического университета, 10, 18-21
(2010).
12. В.И. Коваленко, В.Ф. Сопин, Г.М. Храпковский, Структурно-кинетические особенности получения и термодеструкции нитратов целлюлозы. Москва, Рос. акад. наук, Казан. науч. центр, Ин-т орган. и физ. химии им. А. Е. Арбузова, 2005, 213 с.
13. Д.В. Чачков, Д.Л. Егоров, Е.В. Николаева, А.Г. Шамов, Г.М. Храпковский, Вестник Казанского технологического университета, 9, 44-49 (2010).
14. Г.М. Храпковский, Д.Л. Егоров, А.Г. Шамов, Вестник Казанского технологического университета, 21, 20-23 (2013).
15. Г.М. Храпковский, Д.Л. Егоров, А.Г. Шамов, Вестник Казанского технологического университета, 22, 13-16 (2013).
16. Д.Л. Егоров, И.В. Аристов, А.Г. Шамов, Г.М. Храпков-ский, Вестник Казанского технологического университета, 5, 7-9 (2013).
17. Pople J.A., Head-Gordon M., Raghavachari K., J. Chem. Phys., 87, 5968-5975, (1987).
18. D. E. Woon and T. H. Dunning Jr., J. Chem. Phys. 98, 1358 (1993).
19. R. A. Kendall, T. H. Dunning Jr., and R. J. Harrison, J. Chem. Phys. 96, 6796 (1992).
20. Pople J.A., Head-Gordon M., Fox D.J., Raghavachari K., Curtiss L.A., J. Chem. Phys., 90, 622-5629, (1989).
21. Curtiss L.A., Jones C., Trucks G.W., Raghavachari K., Pople J.A., J. Chem. Phys., 93, 2537-2545, (1990).
22. Curtiss L.A., Raghavachari K., Trucks G.W., Pople J.A., J.Chem.Phys., 94, 7221-7230, (1991).
23. Curtiss L.A., Raghavachari K., Redfern P.C., Rassolov V., Pople J.A., J. Chem. Phys., 109. P. 7764-7776, (1998).
24. Curtiss L.A., Redfern P.C., Raghavachari K., J. Chem. Phys., 126, 084108, (2007).
25. Kohn W., Sham L.J., Phys. Rev., 140, A1133-A1138, (1965).
26. J. P. Perdew, K. Burke, M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996).
27. J. P. Perdew, K. Burke, M. Ernzerhof, Phys. Rev. Lett . 78, 1396 (1997).
28. Д.Н. Лайков. Развитие экономного подхода к расчетумо-лекул методом функционала плотности, его применение к решению сложных химических задач. Диссертация на соискание ст. к.ф.-м.н., МГУ, 2000.
29. Т.Н. Гришаева, А.Н. Маслий, Вестник Казанского технологического университета, 12, 7-11 (2012).
30. А.Н. Маслий, Э.И. Мадиров, Вестник Казанского технологического университета, 23, 12-18 (2013).
31. Г. Буч, Д. Рамбо, И. Якобсон, Язык UML. Руководство пользователя. Москва, ДМК Пресс, 2006, 496 с.
© А. Г. Шамов - нач. отделения информатизации КНИТУ, [email protected]; Д. Л. Егоров - к.ф.-м.н., н.с. НИОКХ КНИТУ, [email protected]; Г. М. Храпковский - д.х.н., проф. каф. катализа КНИТУ, [email protected].
© A. G. Shamov - head of department of informatization KNRTU, [email protected]; D. L. Egorov - PhD in physics-mathematical sciences, researcher, research department of computational chemistry KNRTU; [email protected]; G. M. Khrapkovskii - dr.Sc. in chemistry, professor, department of catalysis KNRTU, [email protected].