• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Введение в задачи молекулярной динамики на языке Julia

ID 1231722

Статус: Общеуниверситетский факультатив
Когда читается: 3, 4 модуль
Охват аудитории: для всех
Язык: русский
Кредиты: 3
Контактные часы: 30

Программа дисциплины

Аннотация

Julia – современный высокопроизводительный язык программирования, сочетающий преимущества динамической типизации и JIT компиляции. Язык хорошо подходит для научных вычислений за счет лаконичного синтаксиса (на уровне Python и Matlab), встроенной работы с многомерными массивами и высокой производительности скомпилированных программ. В курсе рассматривается реализация алгоритмов моделирования движения частиц на языке Julia и последующего анализа траекторий. Студенты знакомятся с численными алгоритмами для моделирования уравнений движения, реализацией структур данных в языке Julia (односвязные списки, система непересекающихся множеств Union-Find), а также некоторыми алгоритмами для обработки данных – поиск ближайших соседей, кластерный анализ, вычисление радиальных функций распределения. Будет демонстрироваться использование библиотек языка Julia для анализа производительности программ, динамического выделения памяти, профилирования программ. Будут показаны приемы повышения производительности вычислительных задач за счет выбора структур данных, снижения динамических выделений памяти при работе алгоритмов, использования многопоточных вычислений.
Цель освоения дисциплины

Цель освоения дисциплины

  • Получение навыков программирования на языке Julia на примере реализации достаточно крупного программного проекта
  • Ознакомление с основами молекулярного моделирования для расчета свойств веществ
  • Обучение основам оптимизации производительности компьютерных программ
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь профилировать и оптимизировать алгоритмы, анализировать их эффективность.
  • Использовать язык программирования Julia на базовом уровне
  • Реализовывать численные алгоритмы классической механики для молекулярного моделирования
  • Применять приемы для уменьшения динамического выделения памяти, повышения локальности данных в программах на языке Julia.
  • Применять классические алгоритмы для данных, полученных в численном моделировании
  • Строить 2D и 3D графики с помощью библиотек Makie и/или Plots.jl
  • Использовать среды Jupyter и/или Pluto.jl для интерактивного программирования на языке Julia
  • Вычислять температуру, давление, функции пространственного распределения для системы частиц
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Основы языка Julia
  • Основы молекулярного моделирования
  • Производительность программ на Julia
  • Обработка результатов моделирования
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание: перенос учебной программы из формата ноутбука в формат скрипта
  • неблокирующий Защита практического задания: реализация потенциала взаимодействия или функции анализа траектории
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 4th module
    0.4 * Домашнее задание: перенос учебной программы из формата ноутбука в формат скрипта + 0.6 * Защита практического задания: реализация потенциала взаимодействия или функции анализа траектории
Список литературы

Список литературы

Рекомендуемая основная литература

  • Katin, K. P. Molecular dynamics in multiscale modeling : учебник / K. P. Katin, M. M. Maslov. — Москва : НИЯУ МИФИ, 2015. — 44 с. — ISBN 978-5-7262-2193-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/103257 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Трофимова, Т. И., Основы физики. Молекулярная физика. Термодинамика : учебное пособие / Т. И. Трофимова. — Москва : КноРус, 2021. — 180 с. — ISBN 978-5-406-04727-9. — URL: https://book.ru/book/938041 (дата обращения: 09.12.2025). — Текст : электронный.
  • Энгхейм, Э. Julia в качестве второго языка : руководство / Э. Энгхейм , перевод с английского А. В. Логунова. — Москва : ДМК Пресс, 2023. — 446 с. — ISBN 978-5-93700-214-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/455321 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Rapaport, D. C. The art of molecular dynamics simulation. –Cambridge university press, 2004.
  • Шеррингтон, М. Осваиваем язык Julia / М. Шеррингтон , перевод с английского А. В. Логунова. — Москва : ДМК Пресс, 2017. — 416 с. — ISBN 978-5-97060-370-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/97344 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Шиндин, А. В. Язык программирования математических вычислений JULIA. Базовое руководство : учебно-методическое пособие / А. В. Шиндин. — Нижний Новгород : ННГУ им. Н. И. Лобачевского, 2016. — 24 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/153036 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Писарев Василий Вячеславович
  • Воронцова Татьяна Дмитриевна