|
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. Измените алгоритм проверки пробного состояния системы на безусловный:
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. Кафедральные методические пособия 2. Информация о пакете Gromacs http://www.gromacs.org/ 3. Numerical Recipes in C, Second Edition (1992) http://www.nrbook.com/a/bookcpdf.php |
СКАЧАТЬ ПРОГРАММУ КУРСА
ПРОФ. Е.В. АКСЁНОВА ОСТАЛЬНЫЕ КУРСЫ МАГИСТРАТУРЫ |