aztotmd: молекулярная динамика [+ непостоянное поле сил] [+ излучательный термостат]. CUDA-версия. Руководство
Проект aztotmd основан на классической молекулярной динамике и содержит основной функционал для классических расчётов, но также и ряд экспериментальных особенностей: непостоянное поле сил и излучательный термостат. Программа распараллелена с помощью технологии CUDA. Здесь представлена инструкция по работе с программой.
Возможности и ограничения
Требуется видеокарта NVidia с computational capability > 2.2. Программа основана на численном интегрировании уравнений движения скоростным алгоритмом Верле. Опции:
+ периодические граничные условия и только в форме прямоугольного параллелепипеда;
+ парные потенциалы: 6 обычных и 1 температуро-зависимый;
+ 3 способа учета электростатики: наивный, суммирование по Эвальду и метод Феннеля и Гецельтера;
+ 2 термостата: Нозе-Гувера и излучательный;
+ валентные связи;
+ валентны углы;
+ внешнее электрическое поле с постоянным градиентом;
+ возможность динамического образования/удаления валентных связей (включая водородные) и валентных углов;
Вычислительная химия: синтез новых материалов для долговечных синих OLED
В этой статье вы узнаете о моделировании свойств новых материалов, о том, как это помогает увеличить срок службы синих светодиодов в OLED-экранах, зачем нужен искусственный интеллект в квантовой химии, и в какую сторону двигаться студенту, чтобы стать ученым и в итоге сделать публикацию в Nature.
Облака атомных колебаний
В этой заметке мы поговорим о том, что такое молекулярная динамика, и как её результаты можно реализовать в виде облаков распределений атомов.
Перенос молекулярной динамики на CUDA. Часть I: Основы
Переделывать чужой код под эти нужды – довольно неблагодарное занятие, поэтому я взялся перенести уже написанный свой последовательный код и заодно поделится некоторыми размышлениями. Кроме того, это ответ на часто мелькающий здесь комментарий к статьям по CUDA, вроде этого .
Итак, что же такое молекулярная динамика? На Хабре уже есть несколько постов на эту тему, например здесь или вот здесь. Кратко, МД – это метод, позволяющий моделировать движение множества частиц (в том числе атомов, ионов, молекул) и рассчитывать коллективные свойства системы, зависящие от этого движения. Как это работает? Допустим для множества из N частиц заданы некоторые начальные координаты, скорости, массы и (главное!) законы взаимодействия между ними. Изменяем координаты согласно скоростям. На основе законов взаимодействия вычисляем силы, действующие между частицами. Раз знаем силу и массу – знаем ускорение. Поправляем скорость с учетом ускорения. И снова переходим к изменению координат. И так повторяем тысячи раз, пока
Перенос молекулярной динамики на CUDA. Часть II: Суммирование по Эвальду
где q – заряд частицы, rij – расстояние между частицами, С – некоторая постоянная, зависящая от выбора единиц измерения. В системе СИ это — , в СГС — 1, в моей программе (где энергия выражена в электронвольтах, расстояние в ангстремах, а заряд в элементарных зарядах) C примерно равно 14.3996.
Ну и что, скажете вы? Просто добавим соответствующее слагаемое в парный потенциал и готово. Однако, чаще всего в МД моделировании используют периодические граничные условия, т.е. моделируемая система со всех сторон окружена бесконечным количеством её виртуальных копий. В этом случае каждый виртуальный образ нашей системы будет взаимодействовать со всеми заряженными частицами внутри системы по закону Кулона. А поскольку Кулоновское взаимодействие убывает с расстоянием очень слабо (как 1/r), то отмахнуться от него так просто нельзя, сказав, что с такого-то расстояния мы его не вычисляем. Ряд вида 1/x расходится, т.е. его сумма, в принципе, может расти до бесконечности. И что же теперь, миску супа не солить? Убьёт электричеством?
Суперкомпьютеры и клеточные мембраны (заключительная часть)
В молодости Клаус Шультен воображал, что станет танцором, и будет жить не полагаясь ни на что, кроме собственного разума и тела. "Но танцор из меня вышел никудышный, – вспоминает он. – Итак, следующим вариантом жизненного пути для меня была теоретическая физика. Только я, карандаш, бумага, ну и ластик, разумеется."
Строго говоря, эта мечта тоже сорвалась. Но сегодня Шультен полагается на самое мощное и дорогое вычислительное оборудование в мире для применения вычислительной физики к моделированию биологических систем. Его последняя работа включала молекулярное моделирование целой органеллы, которая преобразует энергию света в химическую энергию внутри фотосинтезирующей бактерии.
Что такое температура и как её учитывать в молекулярном моделировании? Реализация на CUDA
Методы численного моделирования молекулярных систем, такие как молекулярная динамика, рассматривают эти системы как механические (что-то вроде набора шариков на пружинках). Однако, в отличие от механических систем, для молекулярных существует понятие температура. Вещество не может существовать без температуры, а температура – без вещества (на счет последней части утверждения есть и другое мнение). Из опыта мы знаем, что очень многие свойства вещества кардинально зависят от температуры, и, естественно, что её надо как-то учитывать. Для поддержания температуры в молекулярной динамике используются специальные алгоритмы-«термостаты». Наиболее известные среди них это термостаты Андерсена, Берендсена и Нозе-Гувера. Все они основаны на молекулярно-кинетической теории газов, где температура есть просто величина пропорциональная среднекинетической энергии молекул. Соответственно, работа данных термостатов осуществляется путём умножения скоростей частиц на некоторую величину.
Перенос молекулярной динамики на CUDA. Часть III: Внутримолекулярное взаимодействие
Например, вода:
очевидно, что водород с кислородом внутри одной молекулы взаимодействуют совсем по-другому, нежели тот же кислород с водородом соседней молекулы. Таким образом, разделяют ВНУТРИмолекулярное (intramolecular) и МЕЖмолекулярное (intermolecular) взаимодействие. Межмолекулярное взаимодействие можно задать короткодействующими и Кулоновскими парными потенциалами, о которых речь шла в предыдущих статьях. Здесь же сконцентрируемся на внутримолекулярном.
Суперкомпьютеры и клеточные мембраны 3
В 1992 году Клаус Шультен столкнулся с большой дилеммой, за которую был бы благодарен любой ученый. Как лучше потратить полмиллиона долларов на оборудование?
Суперкомпьютеры и клеточные мембраны 2
(Визуализатор VMD в связке с проектором и управлением жестами, 1994 г.)
С самодельным параллельным суперкомпьютером в рюкзаке Клаус Шультен терпеливо ждал в чикагском аэропорту О'Хара, надеясь, что после прибытия из Германии ему не составит труда пройти таможню. Это было летом 1988 года, и Шультен собирался начать новую работу в Университете Иллинойса. В разгар холодной войны, когда напряженность между США и Советским Союзом достигла наивысшего пика, суперкомпьютеры вызывали у администрации Рейгана большой ужас. Хотя Рейган, находясь на своем посту, усилил гонку вооружений и все сопутствующие ей технологические достижения, он хотел, чтобы бурно развивающиеся разработки суперкомпьютеров не попали в руки Советов, которые могли бы создать более совершенное оружие.