Мд матеріал побудови Життя
Установка програми
Молекулярна динаміка (МД) або метод молекулярної динаміки відомий з середини 20 століття (перша робота, присвячена МД, вийшла в 1957 році – автори Б. Алдер і Е. Вайнрайт). Спочатку розроблений в теоретичній фізиці, цей метод моделювання отримав велике поширення в хімії і, починаючи з 1970-х років, біохімії і біофізики.
Для опису руху атомів або часток у цьому методі застосовується класична механіка, при цьому сили міжатомної взаємодії представляються у формі потенційних сил (див. [3]). Якщо говорити точніше, в МД розраховується рух для кожного окремого атома. Такий алгоритм здійснюється наступним чином:
- Початкові положення, швидкості і маси кожного атома визначені;
- Метод використовує міжатомні потенціали або, як їх ще називають, потенціали парного взаємодії (ППВ), які визначаються заздалегідь, як функція потенціальної енергії, що залежить від відстані між атомами (у найпростішому випадку);
- Використовуючи ППВ, положення атомів і швидкості розраховується нове положення частинок через певний часовий інтервал , що називається «крок моделювання». Ці нові положення і швидкості стають вихідними для кроку обчислень 2, кроки 2, 3, 4 і т. д. повторюються через вибраний часовий інтервал;
- Як правило, моделювання молекулярної динаміки буде включати тисячі таких часових кроків, кожен з яких відповідає частці пикосекунды (10-12 секунди).
Цей алгоритм, по суті, – інтеграція ньютонівських рівнянь руху матеріальної точки по часу, рішення яких призводить до певних положень частинок і швидкостей (бажають вникнути в фізику процесу глибше допоможе будь-який пошуковик або список літератури наведений у кінці статті).
В описах методу говориться, що МД не можна протиставляти натурних експериментів, однак дослідникам для розуміння процесів, що відбуваються в речовині іноді просто необхідна візуалізація (розрахунок) руху або розташування атомів і структури модельованої системи. В даний час можливості персональних комп’ютерів дозволяють проводити моделювання з допомогою МД і отримувати при цьому результати (до речі, дуже близькі до результатів цих експериментів), які ще десять років тому могли бути отримані лише за допомогою суперкомп’ютерів.
Існує безліч програм для моделювання методом МД (список деяких з них див. у Таблиці 1). В основному це іноземні пакети програмування, для вивчення яких потрібно знання англійської мови. Хоча, треба сказати, відомі публікації ще радянських вчених з цього питання – [6], в яких видно основні принципи сучасних комп’ютерних систем МД.
Однак, масового застосування ці розробки так і не отримали у зв’язку з відомими подіями в нашій країні в 90-х роках минулого століття. Відрадно говорити, що в даний час в російській науці повертається інтерес до даної теми (наприклад, от що знайшлося в Google за запитом «російські системи молекулярної динаміки» – [5], [7]).
Назва | Сайт поекта | Примітки | Ліцензія/Вартість |
---|---|---|---|
CHARMM (Chemistry at HARvard Macromolecular Mechanics) | http://www.charmm.org | Програма МД Гарвардського університету (США). Розроблена в основному для моделювання експериментів в біології. | Для використання в наукових установах/$600 |
LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) | http://lammps.sandia.gov | Одна з найпотужніших програм МД. Розроблена групою з Сандийских національних лабораторій (США). Можливість багатопроцесорних обчислень при використанні потужностей відеокарт NVIDIA (технологія CUDA). | GPL |
HOOMD (Highly Optimized Object Oriented Molecular Dynamics) | http://codeblue.umich.edu/hoomd-blue/ | Пакет МД Мічиганського університету (США). У програмі широко використовується мова високого рівня python. | Використання з посиланням в публікації на сайті виробника/безкоштовно |
GROMACS (GROningen MAchine for Chemical Simulations) | http://www.gromacs.org/ | Гронінгенська Машина для Хімічного Моделювання – пакет МД, спочатку розроблений групою з Гронінгенського університету (Нідерланди). Пакет призначений, головним чином, для моделювання біомолекул (білки і ліпіди). | GPL |
NAMD (NAnoscale Molecular Dynamics) | http://www.ks.uiuc.edu/Research/namd/ | Безкоштовна програма для МД, написана з використанням моделі паралельного програмування. Використовується для симуляції великих систем (мільйони атомів). Розроблена в Іллінойському університеті (США). пов’язана з програмою візуалізації VMD того ж університету. | Безкоштовно |
Ще один пакет програм, який не увійшов до Таблиці 1, але про який піде мова, це — XMD, який являє собою класичну програму для моделювання методом молекулярної динаміки (див. [1]). Призначений пакет, в основному, для моделювання процесів, що відбуваються в металах та кераміці. Програма розроблена вже досить давно в Коннектикутському університеті США (англ.
Відмінною особливістю цієї програми, для роботи з якою використовується інтерфейс командного рядка (Command Line Interface, CLI), є те, що на її «вхід» подається текстовий файл, у якому дослідник за допомогою спеціальних команд описує необхідну кристалічну решітку речовини, фізичні умови проведення експерименту і контрольовані показники на виході.
По суті – для роботи крім XMD потрібен лише звичайний текстовий редактор (подібний інтерфейс ще має, наприклад, пакет програм для моделювання LAMMPS). Відсутність графічного інтерфейсу користувача має навіть свої переваги – дає можливість розробникам зосередитися на налагодження чисельних методів і логіки роботи програми, а графіка з’являється лише там, де вона необхідна – при візуалізації результатів експерименту (про це ми обов’язково поговоримо пізніше).
Переклад документації до цієї програми на російську мову можна знайти тут – http://learn2prog.ru/xmd-doc-translate
Настав час показати читачеві, як встановити пакет XMD на персональний комп’ютер. Хоча на сайті проекту [1] у розділі Downloads є версія програми, портована під операційну систему (ОС) Windows, розробниками спочатку передбачається для роботи XMD використання ОС Unix. Користувач Windows залишиться без мультипроцесорної підтримки, що використовує стандарт POSIX, а, найголовніше, без засобів візуалізації, написаних з використанням X-Window System та бібліотеки Xaw (набору віджетів для реалізації простих інтерфейсів користувача), що робить використання клонів Unix, а саме Linux, кращим.
Як показує досвід, робота з Linux для користувачів персонального комп’ютера, незнайомих з цієї ОС, викликає деякі труднощі. Однак той же досвід говорить, що можна спробувати (або попросити «просунутого» товариша) встановити цю систему у віртуальній машині (наприклад, VirtualBox) на комп’ютері з Windows, і отримати працездатну середу XMD. В мережі Інтернет є докладні описи по установці різних систем на персональний комп’ютер, у тому числі і у віртуальну машину.
Покажемо, як встановити пакет програм XMD в ОС Linux. Автор використав для цього Linux Mint 13 (до речі, установка даного дистрибутива, як відзначають багато, навіть простіше установки Windows).
$ sudo apt-get install build-essential
Можливості XMD
Як вже було сказано вище, пакет XMD призначений, головним чином, для моделювання різних процесів метали, їх сплави та кераміці. Фізичні процеси, що відбуваються в металах цілком зрозумілі навіть школярам, тому XMD – саме та програма, з якою цілком можна почати знайомитися з захоплюючим світом комп’ютерного моделювання.
Перші кроки в XMD
Для ознайомлення з роботою XMD можна порекомендувати побудувати кристалічну решітку якої-небудь речовини і переглянути її з допомогою програми візуалізації пакета – xmdview. Подібні картинки з успіхом може використовувати у своїй роботі викладач хімії, фізики і т. п. В документації xmd на сайті проекту є приклад побудови кристалічної гратки алмазу. Алмаз (діамант) – сам по собі є «королем» дорогоцінних каменів, але побудувати і подивитися його кристалічну решітку в XMD дуже просто.
Для цього необхідно за допомогою звичайного текстового редактора (наприклад, того ж gedit – однієї з стандартних програм Linux Mint) створити текстовий файл, вміст якого показано в Лістингу 1.
Лістинг 1. Вміст файлу diamond.txt
box 5/4 5/4 5/4fill particle 21 0 0 0 1 1/4 1/4 1/4fill cell0 1/2 1/21/2 0 1/21/2 1/2 0fill goscale 3.57 write cor diamond.cor
Збережемо файл як diamond.txt. Деякі пояснення до команд, використаним у цьому файлі. У кристалографії, знання основ якої однозначно знадобиться для роботи з будь-якими програмами молекулярної динаміки, широко використовується поняття “елементарна комірка”. Фактично це мінімальний уявний об’єм кристала, паралельні переноси (трансляції) якого в трьох вимірах дозволяють побудувати тривимірну кристалічну решітку в цілому (див. Вікіпедія, “елементарна комірка”).
0 1/2 1/21/2 0 1/21/2 1/2 0
що і записано в diamond.txt з допомогою команд box, fill particle, fill cell і fill go. Зазначимо, що box задає розмір кристаліта кількістю повторюваних елементарних комірок. Розмір елементарної комірки в ангстремах (10-10 м) визначається за допомогою команди scale.
Наступна конструкція “write cor diamond.cor” визначає ім’я файлу, у який будуть записані координати атомів кристалічної гратки алмазу.
$ cd nuzhny_katalog$ xmd diamond.txt
$ xmdview diamond.cor
Ось що виходить в результаті виконання цієї команди (див. мал.1).
Рис.1 Програма xmdview — структура елементарної комірки алмазу (файл diamond.cor)
Використовуючи інтерфейс xmdview можна, наприклад, покрутити тривимірне зображення (кнопки “Rt