Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математическое моделирование в астрофизике. В 2 частях. Ч.2. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
873 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПЕТРА ВЕЛИКОГО

Физико-механический институт

Высшая школа фундаментальных физических исследований

Ю. А. Кропотина

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В АСТРОФИЗИКЕ

Часть 2

Рекомендовано федеральным учебно-методическим объединением в системе высшего образования по УГСН 16.00.00. Физико-технические

науки и технологии в качестве учебного пособия для реализации основных профессиональных образовательных программ высшего образования

по направлению подготовки магистратуры 16.04.01. Техническая физика

Санкт-Петербург

2023

ББК 22.19я73 К83

Р е ц е н з е н т ы:

Кандидат физико-математических наук, исполняющий обязанности научного сотрудника лаборатории астрофизики высоких энергий Физико-технического института им. А. Ф. Иоффе РАН А. Е. Петров

Кандидат физико-математических наук, доцент Высшей школы фундаментальных физических исследований Санкт-Петербургского политехнического университета Петра Великого И. Ю. Веселова

Кропотина Ю. А. Математическое моделирование в астрофизике. В 2 ч. Ч. 2 : учеб. пособие / Ю. А. Кропотина. — СПб. : ПОЛИТЕХ-ПРЕСС, 2023. — 96 c.

Соответствует государственному образовательному стандарту и содержанию направления подготовки магистров 03.04.02 «Физика космических и плазменных процессов».

В пособии рассматриваются вопросы, связанные с точностью кинетического моделирования: контроль выполнения законов сохранения, а также причины и следствия столкновительных эффектов. Также приводится метод Монте-Карло, применяющийся для моделирования стохастических процессов, и радиационно-гидродинамические коды, моделирующие системы, в которых нельзя пренебрегать влиянием излучения. Последняя глава посвящена оптимизации и распараллеливанию вычислений. В конце каждой главы представлены тренировочные упражнения, включающие проведение аналитических расчетов и создание небольших программ на языках C++ и Python.

Предназначено для студентов, специализирующихся в области астрофизики и физики плазмы.

Ил. 11. Библиогр.: 18 назв.

Печатается по решению Совета по издательской деятельности Ученого совета

Санкт-Петербургского политехнического университета Петра Великого.

ISBN 978-5-7422-8300-3 (ч. 2)

© Кропотина Ю. А., 2023

ISBN 978-5-7422-7976-1

© Санкт-Петербургский политехнический

doi: 10.18720/SPBPU/2/id23-634

университет Петра Великого, 2023

Ministry of Science and Higher Education of the Russian Federation

PETER THE GREAT

ST. PETERSBURG POLYTECHNIC UNIVERSITY

J. A. Kropotina

MATHEMATICAL MODELING IN ASTROPHYSICS

Part 2

Textbook

Saint Petersburg

2023

R e v i e w e r s :

Acting Researcher of the Laboratory for High Energy Astrophysics of the Ioffe Institute, PhD in Physics and Mathematics A. E. Petrov

Associate Professor of the High School of Fundamental Physical Studies of the Institute of Physics and Mechanics of Peter the Great Saint-Petersburg Polytechnic University,

PhD in Physics and Mathematics I. Y. Veselova

Kropotina J. A. Mathematical modeling in astrophysics. In 2 parts. Part 1: Textbook / J. A. Kropotina. — Saint-Petersburg : POLYTECH-PRESS, 2023. — 96 p.

Corresponds to the state educational standard and the content of master’s degree programs on «Physics of cosmic and plasma processes».

The accuracy of kinetic modeling is discussed, i. e. the fullfillment of conservation laws, the reasons and consequensies of the collisional effects. Also the Monte-Carlo techniques for the simulation of stochastic processes are given, as well as the radiative hydrodnamic codes which model systems where the impact of radiance is non-neglidgible. The last chapter is devoted to the optimisation and parallelisation of computations. At the end of each chapter there are given exercises including analytics and development of small programs in C++ and Python.

Intended for students specializing in astrophysics and physics of plasma.

Figures 11. References: 18 titles.

Printed by the decision of the Editorial and Publishing Council of Peter the Great St. Petersburg Polytechnic University.

ISBN 978-5-7422-8300-3 (p. 2)

© Kropotina J. A., 2023

ISBN 978-5-7422-7976-1

© Peter the Great Saint Petersburg

doi: 10.18720/SPBPU/2/id22-253

Polytechnic University, 2023

ОГЛАВЛЕНИЕ

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1. Корректность работы кинетических кодов . . . . . . . . . . . . . .

7

Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.Метод Монте-Карло. Моделирование стохастических процессов . . 21

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.Радиационная гидродинамика . . . . . . . . . . . . . . . . . . . . . 33

3.1.Основные понятия теории излучения . . . . . . . . . . . . . . . . . 33

3.2. Система уравнений радиационной гидродинамики . . . . . . . . . . 38

3.3.Оценка динамической значимости излучения . . . . . . . . . . . . . 42

3.4.Дискретизация уравнений РГД . . . . . . . . . . . . . . . . . . . . 43

3.5.Итерационное решение систем алгебраических уравнений методом Нью-

тона . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

4.Оптимизация, векторизация и параллельное программирование . . 48

4.1.Основные принципы оптимизации вычислений . . . . . . . . . . . . 48

4.2.Векторный регистр. Принцип SIMD. Директивы препроцессора . . . . 58

4.3.Технология OpenMP. Конфликт данных и его избежание . . . . . . . 66

4.4.Технология MPI. Передача сообщений, коллективные взаимодействия

процессоров . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

Библиографический список . . . . . . . . . . . . . . . . . . . . . . . . .

93

ВВЕДЕНИЕ

В современной астрофизике широко применяются численные методы, некоторые из которых были рассмотрены в первой части данного пособия. В частности, кинетические коды представляют собой мощный инструмент для исследования мелкомасштабных нелинейных процессов в космической плазме. Однако при их использовании могут возникать численные эффекты, приводящие к некорретным результатам. Поэтому важно контролировать выполнение законов сохранения заряда, импульса, энергии и нулевой дивергенции магнитного поля в течение всего времени работы программы. Одной из причин нарушения работы кинетических кодов могут стать численные шумы. Они связаны с недостаточным количеством модельных частиц по сравнению с реальными. Численные шумы приводят к нефизичному нагреву плазмы (нарушению закону сохранения энергии) и другим столкновительным эффектам (например, искажению траекторий частиц). Корректность работы кинетических кодов обсуждается в первой главе данного пособия.

Вторая глава посвящена классу методов, применяющихся для моделирования стохастических процессов. Эти методы базируются на Центральной предельной теореме и носят обобщенное название методов Монте-Карло. С их помощью можно моделировать такие процессы, как излучение, диффузия, химические и ядерные реакции, квантовые системы и др. Также методы Монте-Карло используются в математике, экономике, логистике.

Третья глава описывает радиационно-гидродинамические коды. Они служат для моделирования систем, в динамике которых необходимо учитывать излучение. Это недра звезд, плотный звездный ветер звезд O и B классов, остатки сверхновых, аккреционные диски. В радиационно-гидродинами- ческих кодах на сетке решается система объединенная уравнений для вещества и излучения. При этом используется неявная схема для совместного решения большого числа уравнений. Основные трудности при моделирова-

6

нии заключаются в широком динамическом диапазоне (время жизни звезды составляет миллиарды лет, а быстрые события на их поверхности занимают минуты), связанности удаленных участков за счет переноса излучения, сложности корректного задания тензора Эддингтона и непрозрачности среды.

Большинство современных кодов адаптированы для счета на многопроцессорных системах. Это позволяет создавать подробные трехмерные модели астрофизических объектов с хорошим разрешением. Последняя глава данного пособия посвящена методам оптимизации счета и параллельных вычислений. Эта тема очень важна, поскольку большинство актуальных задач современной астрофизики требует ресурсоемких расчетов.

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

1. КОРРЕКТНОСТЬ РАБОТЫ КИНЕТИЧЕСКИХ КОДОВ

Для решения актуальных астрофизических задач часто применяются численные методы. В частности, широко используется несколько типов кодов для моделирования астрофизической плазмы: гидродинамические, коды типа «частица-в-ячейке» (particle-in-cell, PIC) и гибридные. Эти методы были рассмотрены в первой части данного пособия. Они связаны с пространственной дискретизацией – разделением пространства на ячейки, внутри которых макроскопические парметры считаются постоянными. Гидродинамические коды используются для моделирования структуры протяженных объектов без учета мелкомасштабных явлений. Ячейки в них существенно больше гирорадиусов частиц. Наиболее ресурсоемкие PIC-коды учитывают все кинетические эффекты, но подходят только для моделирования небольших областей на ограниченных временных масштабах. Размер ячейки в таких кодах по порядку величины близок к дебаевскому радиусу. Гибридные

7

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

Оценить сходимость численных методов может быть достаточно сложно. После создания кода обязательно проводится проверка его работы на задачах с известным решением. Однако прохождение этих тестов не гарантирует правильность решения других задач. Например, разностная схема без метода уменьшения полной вариации (total variation diminishing, TVD) может корректно работать в случае гладких решений, но вызывать осцилляции вблизи разрывов. Поэтому для контроля сходимости отслеживают выполнение законов сохранения числа частиц, массы, заряда, импульса, энергии и нулевой дивергенции магнитного поля. Выполнение законов сохранения является необходимым, но не достаточным условием правильности работы кода. Окончательно убедиться, что сложный код работает корректно, практически невозможно. Это можно сделать только для задач, для которых известно аналитическое решение или есть надежные наблюдательные данные.

Кинетические коды описывают физические явления в плазме точнее гидродинамических, однако они подвержены численным шумам, способным существенно снизить точность расчетов. Причиной этого эффекта является ограниченное число частиц в ячейках пространственной сетки. Обычно оперативная память позволяет использовать от 10 до 10 000 частиц в ячейке, в то время как в соответствующем объеме моделируемой плазмы может содержаться, например, 1011 частиц. Такое отличие приводит к появлению численных шумов с амплитудой, существенно превышающей реальную. Иногда

этот эффект приводит к неустойчивости метода.

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

полей на частицы в этих кодах описывается уравнением Власова:

 

∂fs

+ v · fs +

Fs

·

∂fs

= 0,

(1.1)

 

 

 

 

 

 

∂t

ms

 

∂v

где fs – функция распределения частиц s-го сорта в пространстве координат и скоростей; qs – заряд частиц s-го сорта; ms – масса частиц s-го сорта;

8

Fs = qs (E + v × B/c) – действующая на частицы сила Лоренца; E – электрическое поле; B – магнитное поле; c – скорость света.

Законы сохранения массы, импульса и энергии получаются при интегрировании уравнения Власова (1.1) по всей области моделирования и по всем скоростям с весами ms, msv и 0,5msv2. При этом функцию распределения представляют как ансамбль макрочастиц, имеющих конечную протяженность в пространстве координат и представляющих собой дельта-функцию в пространстве скоростей:

Np,s

 

Xl

(1.2)

fs(r, v, t) = S(r − rl)δ(v − vl),

=1

 

где Np,s – количество частиц s-го сорта; S – весовая функция.

Весовые функции используются для сглаживания численных шумов. При этом вклад от частицы, находящейся в точке rl, в плотность в ячейке Cj

с центром rj будет пропорционален интерполяционной функции y

W (rj − rl) = S(r − rl)d3r.

Cj

Умножая уравнение Власова (1.1) на ms и интегрируя по скоростям и координатам с учетом выражения (1.2), получим закон сохранения массы для каждого сорта:

 

 

z

Np,s

 

 

d

Xl

(1.3)

 

dt

(Np,sms) + ds

msvlS(r − rl) = 0,

 

 

 

=1

 

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

Аналогичным образом получается закон сохранения заряда

 

z

Np,s

 

d

 

Xl

(1.4)

dt(Np,sqs) + ds

qsvlS(r − rl) = 0,

 

 

=1

 

9

являющийся дискретным аналогом уравнения неразрывности

∂ρc + · j = 0, (1.5)

∂t

где ρc – плотность заряда; j – плотность тока.

Локально, на масштабах ячейки, законы (1.3) и (1.4) могут не выполняться. Их нарушение приводит к накоплению ошибки при решении уравнений Максвелла. Эта проблема касается только PIC-кодов, поскольку в гибридных кодах подразумевается квазинейтральность плазмы в каждой ячейке. Благодаря этому электрическое поле на каждом шаге находится алгебраически и закон сохранения заряда выполняется точно.

В PIC-кодах приращения электрического и магнитного поля на каждом шаге могут быть найдены методом перешагивания из двух уравнений Максвелла:

× B =

1 ∂E

 

(1.6)

 

 

j +

 

 

 

;

c

c

∂t

× E = −

1 ∂B

,

 

 

 

(1.7)

 

 

 

 

 

 

 

c

∂t

 

 

 

где j – плотность тока.

Вычисляя дивергенцию обеих частей уравнений (1.6) и (1.7) и учитывая (1.5), легко убедиться, что два других уравнения Максвелла ·E = 4πρ

и ·B = 0 должны выполняться автоматически. Однако в численных кодах это соответствие может нарушаться. Если закон сохранения заряда выполнен неточно, в значениях электрического поля будет накапливаться ошибка, приводящая к тому, что · E ̸= 4πρ.

В первой части пособия были рассмотрены схемы со сдвинутой сеткой, использующиеся для точного сохранения нулевой дивергенции магнитного поля. Для выполнения закона сохранения заряда могут применяться схожие методы. Один из таких алгоритмов, метод разложения плотности (Density Decomposition), предложен в [10]. Идея метода заключается в задании плотностей в центрах ячеек сетки, а проекций плотности тока – в центрах граней. При этом плотность тока при движении частицы ищется как линейная комбинация изменений интерполяционной функции на протяжении шага по времени.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]