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

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

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

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

2. МЕТОДЫ МОДЕЛИРОВАНИЯ ДВИЖЕНИЯ ЗАРЯЖЕННОЙ ЧАСТИЦЫ В ЗАДАННЫХ ПОЛЯХ

Одной из самых простых задач, часто используемых в астрофизике, является задача о движении заряженных частиц в заданных электромагнитных полях. Она применяется, например, при исследовании законов распространения космических лучей в Галактике. Напомним, что космические лучи – заряженные частицы сверхвысоких энергий (в основном протоны), которые наблюдаются вблизи орбиты Земли. Теоретические модели и наблюдательные данные указывают, что большая их часть ускоряется ударными волнами в остатках сверхновых. Дальнейшее распространение космических лучей происходит под влиянием галактических магнитных полей.

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

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

dr

= v;

 

 

 

dt

 

E +

 

× B ;

 

 

 

 

du

=

q

v

 

 

 

 

 

dt

m

c

u = γv,

(2.1)

(2.2)

(2.3)

где q – электрический заряд частицы; m – ее масса; r – радиус-вектор; v –

скорость; γ – лоренц-фактор; E – электрическое поле; B – магнитное поле. При этом время разбивается на интервалы длиной k и дифференциаль-

ных уравнения преобразуются в разностную схему.

11

Основная трудность решения задачи о движении частицы в электромагнитном поле заключается в том, что скорость частицы является одной из неизвестных и одновременно входит в правую часть уравнения (2.2). Проще всего обойти эту трудность при использовании явного метода Эйлера: в этом случае приращение скорости вычисляется через ее значение на предыдущем шаге. Таким образом, уравнения (2.1)–(2.3) имеют вид:

rn+1 − rn

= vn;

 

 

 

 

(2.4)

 

k

 

 

 

 

 

 

 

 

 

 

u

n+1

n

 

 

 

 

n

(2.5)

k− u

 

= m En + vc × Bn ;

 

 

 

 

q

 

 

 

 

 

un = γnvn = r

 

 

 

.

 

1 +

un · un

vn

(2.6)

c2

На n-м шаге известны значения vn, un, rn и поля En и Bn в точке нахождения частицы. Тогда алгоритм решения состоит из трех шагов.

1.Из уравнения (2.5) находим новое значение un+1.

2.Из уравнения (2.4) находим новые координаты частицы rn+1.

3.Из уравнения (2.6) находим vn+1 через un+1.

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

Ранее приведенный явный метод Эйлера имеет 1-й порядок точности по времени и являеся неустойчивым. Несмотря на его простоту, на практике используются методы 2-го порядка точности и выше. Далее рассмотрим несколько таких методов. Для простоты начнем с нерелятивистского случая.

Неявный метод Эйлера (метод Рунге–Кутты 2-го порядка, predictor-corrector). Данный метод заключается в том, что мы сначала

12

предсказываем явным методом Эйлера скорость и координаты в конце шага, а затем делаем поправку нашей догадки с учетом найденных значений. Обозначим f(rn, vn) ≡ mq (En + vcn ×Bn) ускорение частицы со скоростью vn, находящейся в точке rn. Тогда алгоритм записывается следующим образом:

ar = kvn; av = kf(rn, vn);

br = k(vn + av); bv = kf(rn + ar, vn + av); rn+1 = rn + 12(ar + br);

vn+1 = vn + 12(av + bv).

Легко убедиться, что

 

k2

 

 

 

 

rn+1

= rn + kvn +

 

 

fn;

 

 

 

 

 

 

 

 

 

 

 

2

 

f · v

f

t=tn

vn+1 = vn + kfn + k22 (v · ) f +

 

 

 

 

 

 

 

 

 

(2.7)

≡ vn + kfn + k2 dfn . (2.8)

2 dt

Выражения (2.7)–(2.8) соответствуют разложению координаты и скорости в ряд Тейлора до 2-го порядка включительно. Таким образом, мы обосновали, что данный метод имеет 2-й порядок точности.

Метод Рунге–Кутты 4-го порядка аналогичен:

ar = kvn; av = kf(rn, vn);

br = k(vn + 12av); bv = kf(rn + 12ar, vn + 12av); cr = k(vn + 12bv); cv = kf(rn + 12br, vn + 12bv); dr = k(vn + cv); dv = kf(rn + cr, vn + cv);

rn+1 = rn + (ar + 2br + 2cr + dr)/6; vn+1 = vn + (av + 2bv + 2cv + dv)/6.

Метод перешагивания (leapfrog). Этот метод также имеет 2-й порядок точности и может использоваться для широкого круга задач. В общем случае, если есть величины A и B, для которых выполняется условие dA/dx = B или dA/dt = B, оказывается удобно задавать эти величины либо в различных точках пространства (в первом случае), либо в различные моменты времени (во втором). Например, задавая значения скоростей частиц

13

на полуцелых шагах по времени, а значения координат и электромагнитного поля – на целых, мы получим

rn+1 − rn

= vn+21 ;

 

 

 

 

 

 

(2.9)

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vn+21 − vn−21

=

 

q

 

En + vn

Bn

;

 

 

 

 

 

 

 

 

 

 

×

 

 

(2.10)

 

k

 

 

m

c

 

vn =

vn+21 + vn−21

.

 

 

 

 

 

(2.11)

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

Согласно уравнению (2.10), схема неявная: чтобы найти vn+12 , надо знать vn, которая в свою очередь выражается через vn+12 . Однако систему можно привести к явному виду, подставив (2.11) в (2.10), а затем умножив полученное выражение скалярно и векторно на Bn. Для краткости сначала обезраз-

˜

qBnk ˜

qEnk

. Тогда (2.10) преобразуется

мерим систему, обозначив B =

mc , E =

m

в выражение

 

 

 

n−1 × ˜

n+1 n−1 ˜ v 2 B v 2 = v 2 + E +

2

n+1 × ˜

+ v 2 B. (2.12)

2

Наша задача – выразить последнее слагаемое в правой части через ве-

˜

личины, известные на предыдущем шаге. Умножая (2.12) скалярно на B, получим

 

 

vn+21 · B˜ = vn−21

· B˜ + E˜ · B˜.

 

 

 

 

 

 

(2.13)

 

 

 

 

 

 

 

˜

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Умножая (2.12) векторно на B, получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

21

˜

 

 

 

v

n+21

˜

 

 

 

 

vn+21 × B˜ = vn−21 × B˜ + E˜ × B˜ +

v

× B

× B˜ +

× B

× B˜ =

 

 

 

 

 

2

 

 

2

1

 

 

 

˜

1

 

 

 

 

 

˜2

 

˜

1

 

 

 

 

˜2

 

 

B

 

 

 

1 B

 

B

 

 

 

1 B

= vn−2

× B˜ + E˜ × B˜ +

 

 

(vn−2 · B˜) − vn−2

 

 

 

 

 

+

 

(vn+2

· B˜) − vn+

2

 

.

2

2

 

 

2

2

Подставляя (2.13), получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vn+21 × B˜ = vn−21 × B˜ + E˜ × B˜ + B˜(vn−21 · B˜)−

 

 

 

(2.14)

 

 

˜2

 

 

 

˜

 

 

 

˜2

 

 

 

 

 

 

 

 

 

1 B

 

 

B

 

 

1 B

 

 

 

 

 

 

 

 

 

 

 

− vn−2

 

+

 

 

(E˜ · B˜) − vn+

2

 

 

.

 

 

 

 

 

 

 

 

 

 

 

2

2

2

 

 

 

 

 

 

 

 

 

 

14

Теперь можно подставить (2.14) в (2.12) и перенести слагаемые с vn+12

в левую часть:

vn+2 1 +

 

˜2

 

= vn−

 

 

 

˜2

 

+ E˜ + vn−2

× B˜+

4

 

2 1 − 4

 

 

1

 

 

B

 

 

 

 

 

1

 

 

B

 

 

 

1

 

 

˜ ˜

 

 

˜

 

 

 

 

 

1

 

 

 

 

 

 

+

E × B

 

+

B

(vn−21

·

B˜) +

 

B˜

(E˜

·

B˜).

 

2

2

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

Таким образом, мы получили явное выражение для скорости на следующем шаге в методе перешагивания. Следует отметить, что, если в начале счета все величины известны при t = t0, то необходимо сделать предва-

1

рительные полшага (prepusher), чтобы найти v2 . Эти полшага можно без потери точности сделать с помощью явного метода Эйлера (2.5).

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

v1 = vn−12 + 2qkmEn;

v2 − v1 = qk vn × Bn; k mc

vn+12 = v2 + 2qkmEn,

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

Разницу v2 и v1 проще всего найти геометрически (рис. 2.1). Считаем, что магнитное поле Bn направлено перпендикулярно плоско-

сти рисунка в направлении от зрителя. Далее у магнитного поля опустим индекс n. Угол поворота между векторами v1 и v2 равен

θ = qkBmc .

15

 

 

 

B

 

 

v2

 

 

θ/2

v3

u

O

D

θ/2

 

C

 

 

 

 

 

v1

w

 

 

 

 

 

 

A

Рис. 2.1. Схема поворота вектора скорости в методе Бориса

Введем вспомогательный вектор v3 = v1 + w так, чтобы треугольник

OAC был прямоугольным. Катет AC = |v1| tan(θ/2) при этом перпендику-

лярен v1 и магнитному полю. Поэтому

 

 

 

w =

v1 × B

tan(θ/2);

 

 

 

 

B

 

 

 

v3 = v1

+

v1 × B

tan(θ/2).

 

 

 

 

 

B

 

 

Теперь можно найти вектор u = v2 − v1, учитывая, что он ортогонален

v3 и B, а его длина равна 2|v1| sin(θ/2):

 

 

u = 2

v3 × B

v

 

sin(θ/2) =

v3 × B

sin(θ).

|v3|B |

1|

 

 

 

 

 

 

 

B

Таким образом, выражая синус через тангенс половинного угла, схему Бориса можно записать следующим образом (индексы электромагнитных

полей опущены):

 

 

qk

 

v1

= vn−21 +

 

E;

 

 

a1

2m

= B−1 tan

 

2mc ;

 

 

 

 

qkB

2a1

a2 = 1 + a21B2 ;

v3 = v1 + a1v1 × B; v2 = v1 + a2v3 × B;

16

f(rn, vn) ≡

vn+21 = v2

+

qk

E.

 

 

2m

 

Чаще всего в целях ускорения счета тангенс раскладывается в ряд Тейлора и оставляется только линейный член. Тогда

qk a1 = 2mc.

Часто также в литературе встречается метод Бориса в следующих обо-

значениях [7,25]:

v= vn−12 + 2qkmE; v+ = v+ v × s;

2t

s = 1 + t2 ;

t = 2qkmcB;

v = v+ v× t; vn+12 = v+ + 2qkmE.

Все методы, приведенные ранее, могут быть модифицированы для релятивистского случая. Например, в методах Рунге–Кутты меняется только

выражение для ускорения:

q En − vn (vn · En) + vn × Bn . n c2 c

Метод Бориса в релятивистском случае преобразуется в выражения:

u= un−21 +

qk

En;

(2.15)

2m

 

 

 

t = 2mcqkγBn;

2t

s = 1 + t2 ;

u = u+ u× t; u+ = u+ u × s; un+12 = u+ + 2qkmEn,

где u = γv.

(2.16)

(2.17)

(2.18)

(2.19)

(2.20)

17

(2.24)
(2.25)
(2.26)
(2.27)

Схема (2.15)–(2.20) получается в предположении, что при повороте от u

к u+ используются выражения:

un+21 − un−21

= q

En

+ vn

 

Bn

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×

 

 

 

 

 

 

 

(2.21)

 

k

 

m

 

c

 

 

 

 

 

 

vn =

un−21 + un+21

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.22)

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

γn = s

 

 

 

 

 

 

= s

 

 

 

 

 

 

 

 

 

 

 

un−21

+

qk

En

 

2

 

1 +

un+21

qk

En

 

2

 

 

1 +

 

2m

 

 

 

2m

 

 

, (2.23)

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

c

 

 

 

т. е. за полшага вектор 4-скорости получает половину приращения. Однако данное предположение противоречиво. Представим, что частица со скоростью v помещена в однородное постоянное электромагнитное поле такой величины и направления, что

E + vc × B = 0.

Очевидно, что вследствие компенсации сил частица будет двигаться равномерно и прямолинейно. Проверим, будет ли это условие выполняться при применении метода Бориса. Предположим, что

En + vn−12 × Bn = 0; c

En + vn+12 × Bn = 0; c

un−12 = un+12 ≡ u.

Из (2.26) и (2.21) следует, что

En + vn × Bn = 0. c

Комбинируя это выражение с (2.24) и (2.25), получаем vn × Bn = vn−12 × Bn = vn+12 × Bn = 0.

В то же время, из (2.22) и (2.26) следует, что

vn = un−12 = un+12 ,

γn γn

18

т. е. вектор vn сонаправлен с un−12 и un+12 , тогда из (2.27) следует vn = = vn−12 = vn+12 и γn = γn−12 = γn+12 . C учетом (2.23) это равенство возмож-

но только при En = 0 и vn × Bn = 0, т. е. в общем случае компенсация сил не происходит. Отметим, что в нерелятивистском случае γ = 1 эта проблема исчезает. Однако на сильно релятивистскую частицу при использовании метода Бориса начинают действовать нефизичные силы, связанные с особенностями метода.

Для компенсации этого эффекта был разработан метод Вэя. Он представляет собой метод Бориса, в котором вместо выражения (2.22) скорость в середине шага определяется как полусумма начальной и конечной:

vn = γn−12 vn−12 + γn+12 vn+12 .

n

Однако это небольшое изменение делает схему более громоздкой:

un = un−2

+

 

2m

En + c

21

× Bn!

;

 

 

 

1

 

 

 

qk

 

 

vn

 

 

 

u

= un +

qk

En;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qk

2m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

τ

=

 

 

 

 

 

Bn;

 

 

 

 

 

 

 

 

 

 

 

 

2mc

 

 

 

 

 

 

 

 

 

 

 

 

σ

= γp′2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− τ2;

2/c2;

 

 

 

 

 

 

γ

=

 

 

1 + u

 

 

 

 

 

 

 

u =

u · τ

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

γn+21 = s

 

 

 

 

 

 

 

σ + σ2 + 4(τ2 + u 2)

;

 

 

 

 

 

p

2

 

 

 

 

 

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

t =

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γn+21

 

 

 

 

 

 

 

 

 

 

 

 

 

s =

1

;

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 + t

 

 

 

 

 

 

 

 

 

 

 

 

 

un+12 = s u + u · t)t + u × t .

Вследствие большего объема вычислений за шаг разумно использовать схему Вэя только для релятивистских задач. Следует отметить, что методы

19

Рунге–Кутты и даже явный метод Эйлера тоже корректно работают в случае компенсации сил. Их недостатки проявляются в других задачах.

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

Упражнения

1. Пусть протон движется вдоль оси x со скоростью vx = 3 · 108 см/с

воднородном магнитном поле, направленном вдоль оси z, Bz = 10−6 Гс. Электрическое поле равно 0. Написать программу, которая различными методами рассчитывает траекторию протона (зависимость координаты y от x)

винтервале времени от нуля до t = 1000 секунд и выводит ее в файл. Использовать явный метод Эйлера, методы Рунге–Кутты 2-го и 4-го порядка, метод перешагивания, метод Бориса. Сравнить результаты для различных шагов по времени, начиная с шага по времени, равного 1 секунде, и постепенно увеличивая его до k = 100 секунд.

2.Пусть протон движется вдоль оси x со скоростью vx = 0.9c в магнитном поле, направленном вдоль оси z, Bz = 10−3 Гс и электрическом, направленном вдоль оси y, Ey = 9 · 10−2 Гс. Написать программу, которая различными методами рассчитывает зависимость от времени координаты x

искорости vx протона в интервале времени от нуля до t = 50 секунд и выводит ее в файл. Использовать явный метод Эйлера, методы Рунге–Кутты 2-го

и4-го порядка, метод перешагивания, метод Бориса, метод Вэя. Сравнить результат для различных шагов по времени, начиная с шага по времени, равного 0,1 секунды, и постепенно увеличивая его до k = 5 секунд.

20

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