На главную
страницу
На сайт
физфака
Методические
пособия
Наши
выпускники
Наши
Сотрудники
Студенты и
аспиранты

     
    English version

spbu.ru

 

 

003637 Вычислительный практикум по моделированию систем многих частиц

Computational Workshop on Simulation of Many-Particle Systems

Профессор Аксёнова Елена Валентиновна

Цели и задачи:

Изучение методов компьютерного моделирования, области их применения, физических основ. Умение их применять к моделированию систем многих частиц. Понимание основ параллельных вычислений. Навыки в написании программ для моделирования систем многих частиц.

Програма:

I. Моделирование систем методом молекулярной динамики с помощью пакета Gromacs.

Знакомство с пакетом Gromacs. Моделирование системы, состоящей из молекул воды, и системы, состоящей из молекул метанола с помощью пакета Gromacs. Расчет плотности систем. Расчет радиальных функций распределения. Исследование зависимости формы и структуры мицелл от числа агрегации методом молекулярной динамики с помощью пакета Gromacs. Изучение выданного файла топологии. Определение структуры молекул и состав системы. Определение наиболее и наименее выгодных межмолекулярных взаимодействий в системе. Создание файла с параметрами моделирования (mdp-файл). Выполнение моделирования с выданным файлом начальных условий. Построение зависимости полной энергии системы от времени. Построение равновесных двухчастичных радиальных функций распределения каждого силового центра молекулы ПАВ с растворителем. Построение зависимости локальной плотности силовых центров ПАВ относительно центра масс мицеллы. Определение главных моментов инерции равновесной мицеллы.

II. Моделирование полимерной цепи методом Монте-Карло с использованием алгоритма Ванга — Ландау.

Метод Монте-Карло в классической статистической механике. Алгоритм энтропического моделирования. для исследования полимеров. Алгоритм Ванга — Ландау. Модель свободносочлененной цепи. Конформационное пространство. Эффект исключённого объёма. Избыточная энтропия системы. Изучение программы моделирования свободносочлененной цепи с помощью алгоритма Ванга — Ландау. Расчет с помощью алгоритма Ванга — Ландау относительного изменения объема конформационного пространства и избыточной энтропии в зависимости от диаметра мономеров. Расчет с помощью алгоритма Ванга — Ландау относительного изменения объема конформационного пространства и избыточной энтропии в зависимости от длины полимера. Построение графиков этих функций.

III. Введение в параллельные вычисления.

Процессы и потоки. Синхронизация данных. Критические участки. Конкуренция за ресурс. Средства синхронизации: мьютексы, семаформы, сигнальные переменные. Модель с выделенным главным потоком. Модель с точками синхронизации. Применение параллельных вычислений для моделирования методом молекулярной динамики.

Примеры контрольных вопросов и заданий

I. Моделирование систем методом молекулярной динамики с помощью пакета Gromacs

1. Выполните моделирование воды, воспользовавшись входными файлами из тестового набора пакета Gromacs. Измените файл с расширением mdp так, чтобы моделирование выполнялось в течение 500 пс.

2. Рассчитайте плотность системы, основываясь на результатах расчета из п. 1. С помощью программы g_rdf рассчитайте радиальные функции распределения (РФР) для пар кислород – кислород и кислород – водород. Постройте графики.

3. Проделайте пп. 1–2 для метанола. Измените файл с расширением mdp так, чтобы моделирование выполнялось в течение 200 пс с шагом 0,005 пс.

Рассчитайте РФР для пар кислород – кислород, кислород – водород и кислород – метильная группа. Постройте графики.

4. Ознакомьтесь с выданным файлом топологии. Определите структуру молекул и состав системы. Определите наиболее и наименее выгодные межмолекулярные взаимодействия в системе.

5. Создайте mdp-файл параметров моделирования.

6. Выполните моделирование с выданным файлом начальных условий.

7. Постройте зависимость полной энергии системы от времени и определите момент выхода системы на равновесный участок.

8. С помощью программы g_rdf постройте равновесные двухчастичные радиальные функции распределения каждого силового центра молекулы ПАВ с растворителем. Сделайте выводы о структуре системы. Для создания индекс-файла воспользуйтесь программой g_make_ndx. Сделайте выводы о строении исследуемой системы.

9. С помощью программы g_rdf постройте зависимость локальной плотности силовых центров ПАВ относительно центра масс мицеллы на равновесном участке. Вследствие использования ПГУ центр масс молекул ПАВ в основной ячейке может не совпадать с центром масс мицеллы (объясните почему), поэтому предварительно необходимо преобразовать файл траектории с помощью программы g_trjconv с ключом –pbc nojump. Оцените радиус мицеллы.

10. Определите главные моменты инерции равновесной мицеллы с помощью программы g_gyrate. Сделайте вывод о форме мицеллы.

II. Моделирование полимерной цепи методом Монте-Карло с использованием алгоритма Ванга — Ландау

1. Запустите программу и проверьте равномерность посещения «ящиков» (файл «visit.txt»). Если вас не устраивает полученный результат, изменением переменных ds0, c, mc0 и sweep, алгоритма уменьшения прибавки к энтропии (ds=ds0*pow(c,j)) и/или длительностей серий (mc=int(mc0/ds)) добейтесь меньшего отклонения от равномерного числа посещений по «ящикам».

2. Измените алгоритм проверки пробного состояния системы на безусловный:

  • напишите функцию nocond(), в которой новое состояние принимается без всяких условий, массив посещений увеличивается на единицу, а массив S не используется вообще;
  • напишите функцию calc_omega_nocond(), в которой массив посещений нормировался бы на единицу и полученные значения сохранялись в массив omega;
  • в главном теле программы измените вызываемые функции на написанные в пунктах a) и b) и запустите программу при том же полном числе совершаемых МК-шагов, что и в задании 1;
  • сравните полученные с использованием двух алгоритмов значения массива omega между собой. Постройте графики.

3. Рассчитайте с помощью алгоритма Ванга — Ландау относительное изменение объема конформационного пространства и избыточные энтропии в зависимости от диаметра мономеров. Постройте графики.

4. Повторите расчёты при других длинах полимера. Значения длины полимера выбирайте из соображений разумной длительности счета, принимая во внимание, что число выполняемых в алгоритме операций растет квадратично с ростом длины полимера.

5. Постройте зависимости удельной избыточной энтропии от обратной длины полимера при различных диаметрах мономеров. Сделайте выводы.

III. Введение в параллельные вычисления

1. В программе, использующей потоки выполнения, реализуйте ситуацию самоблокировки.

2. В программе, использующей потоки выполнения, реализуйте ситуацию взаимоблокировки.

3. Напишите программу, содержащую три потока. В первом потоке некоторую переменную увеличивайте в цикле на 5. Во втором потоке эту же переменную уменьшайте в цикле на 5. При этом не используйте блокировку этой переменной. В третьем, основном, потоке собирайте статистику значений этой переменной. Получите ее среднее значение и дисперсию. Объясните полученные результаты. Измените программу, корректно расставив блокировки.

4. Напишите программу, реализующую ситуацию конкуренции за ресурс. Объясните результаты. Измените программу, корректно расставив блокировки.

5. Реализуйте самоблокировку с использованием семафоров и сигнальных переменных.

6. Реализуйте взаимоблокировку с использованием семафоров и сигнальных переменных.

7. Выполните задание 3, но теперь изменяйте переменную не на постоянную величину 5, а передавайте в потоки значение, на которое надо изменять переменную. Не забудьте про блокировки.

8. Напишите программу расчета определенного интеграла от функции 10x - x2 на интервале от 0 до 10. Примечание: разбейте интервал интегрирования на 4 равные части. Создайте 4 потока (главный + три дополнительных), каждый из которых будет считать интеграл на одном из участков.

9. Рассчитайте первые 5 моментов одной из проекции вектора скорости, используя параллельную реализацию моделирования системы частиц с помощью метода молекулярной динамики.

Список (дополнительной) литературы

  1. Х. Гулд, Я. Тобочник Компьютерное моделирование в физике. М.: Мир, 1990. т.1,2.
  2. Д.В. Хеерман Методы компьютерного эксперимента в теоретической физике. М.: Наука, 1990.
  3. Д. Френкель, Б. Смит Принципы компьютерного моделирования молекулярных систем: от алгоритмов к приложениям. М.: Научный мир, 2013. (перевод: D. Frenkel, B. Smit Understanding Molecular Simulation. From Algorithms to Applications. San Diego, Academic Press, 2002.)
  4. Д. Каханер, К. Моулер, С. Нэш Численные методы и программное обеспечение. М.: Мир, 1998.
  5. Р.П. Федоренко Введение в вычислительную физику. М.: Изд-во Моск. физ.-техн. ин-та, 1994.
  6. Метод молекулярной динамики в физической химии. Под ред. Ю.К. Товбина. М.: Наука, 1996.
  7. Р. Фейнман, Статистическая механика, М.: Платон, 2000.
  8. F. Wang, D. P. Landau Efficient, multiple-range random walk algorithm to calculate the density of states. Phys. Rev. Lett., 2001, v. 86, pp. 2050–2053.
  9. М. Митчелл, Д. Оулдем, А. Самьюэл Программирование для Linux. Профессиональный подход. М.: Издательский дом ``Вильямс'', 2002.
  10. Р. Лав Ядро Linux: описание процесса разработки. М.; СПб.; Киев: Вильямс, 2016.
  11. Д. Н. Колисниченко Linux: От новичка к профессионалу. СПб.: БХВ-Петербург, 2011.

Иные информационные источники

1. Кафедральные методические пособия

2. Информация о пакете Gromacs http://www.gromacs.org/

3. Numerical Recipes in C, Second Edition (1992) http://www.nrbook.com/a/bookcpdf.php

СКАЧАТЬ ПРОГРАММУ КУРСА

ПРОФ. Е.В. АКСЁНОВА

ОСТАЛЬНЫЕ КУРСЫ МАГИСТРАТУРЫ