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

Цветков И. В. - Применение численных методов для моделирования процессов в плазме (2007)

.pdf
Скачиваний:
118
Добавлен:
26.08.2013
Размер:
704.97 Кб
Скачать

ϕi, j (t + t) =ϕi, j (t) +α (ϕi+1, j (t) +ϕi1, j (t) +ϕi, j+1 (t) +ϕi, j1 (t) 4ϕi, j (t)) ,

где параметр устойчивости α = h2t . Это явная схема вычисления,

когда значение потенциала в каждом узле на следующем временном слое вычисляется через известные значения потенциала в четырех узлах на предыдущем временном слое (рис. 4). В теории разностных схем доказывается, что явная схема устойчива, если

α < 1 .

Задавая

 

 

2

 

 

 

 

начальное

 

рас-

t + t

 

пределение

по-

 

j

тенциала

и

зная

 

фиксированные

t

 

значения

на

гра-

i

ницах области и в

 

 

 

узлах, где нахо-

Рис. 4. Явная схема расчета

 

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

дующем временном слое, то есть, во времени. Расчет продолжается до тех пор, пока потенциал не перестанет меняться. Условие выхода потенциала на стационар можно определить неравенством:

ϕi, j (t + t) ϕi, j (t) <ε0 ,

i, j

i, j

где ε0 задаваемая погрешность. При очень малых α процесс приближения к стационару будет занимать много времени. При

α > 12 итерационный процесс может разойтись и программа «за-

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

21

Расчет значений компонент электрического поля в узлах производится по формуле

Ex i , j

=

ϕi1, j ϕi+1, j

, Ey i , j

=

ϕi, j1 ϕi, j+1

,

 

 

 

 

2hx

 

2hy

расчет электрического поля в любой точке (x, y) происходит по известным

значениям величин компонент электрического поля в узлах с помощью интерполирования:

yj+1

y

yj

x

xi xi+1

Рис. 5. Схема для интерполирования

E (x, y) = E

 

(xi+1 x)( y j+1 y)

+ E

 

(x xi1 )( yj+1 y)

+

 

 

x

 

x i , j

 

hxhy

x i+1, j

 

hx hy

 

 

 

 

 

 

 

 

 

 

+Ex i , j+1

 

(xi+1 x)( y yj )

+ Ex i+1, j+1

 

(x xi )( y y j )

.

 

 

 

 

 

 

 

 

hx hy

 

 

 

hx hy

Каждое слагаемое правой части равно произведению значения компоненты поля в узле на «вес» этого узла, который равен отношению площади противолежащего к узлу прямоугольника к площади ячейки (рис. 5). Для y-компоненты поля формула аналогичная, только в ней будут значения в узлах y-компоненты поля. Аналогично можно расписать в конечных разностях уравнение Лапласа для трехмерного случая, решение которого даст значения потенциала в узлах трехмерной сетки. Компоненты электрического поля выражаются через конечные разности в соответствующем направлении, а интерполяция электрического поля в произвольной точке производится взвешиванием соответствующих объемов параллелепипедов.

22

1.7. Одночастичное приближение описания плазмы

Во-первых, следует отметить, что одночастичное приближение соответствует подходу Лагранжа. Как известно, существует два подхода рассмотрения динамики какой-либо системы: Лагранжа, когда мы как бы «садимся» на частицу и смотрим вокруг куда мы летим, и Эйлера, когда мы как бы «садимся на бережок» и смотрим, что проносит мимо нас поток, то есть, применительно к плазме, смотрим сколько и каких в данной точке пространства побывало частиц. Во-вторых, в одночастичном приближении каждая заряженная частица рассматривается как пробная, то есть не влияющая на внешние условия и на другие частицы. Движение частицы массы m и заряда q в электрическом и магнитном поле описывается

уравнением: m

d 2r

= q(E +

1

v ×H ) , которое сводится к системе

dt

2

c

 

 

 

двух уравнений:

dr

= v,

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

q

 

1

 

 

 

dv

=

(E +

v

×H ),

 

 

m

c

 

dt

 

 

 

 

 

при начальных условиях

r (0)

= r

 

0 . Данная система сводится к

 

 

 

 

 

 

v(0)

= v0

системе шести уравнений три для координат и три для компонент скоростей:

dx

= vx ,

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

q

 

1

 

 

dvx

 

=

(Ex +

(vy Hz

vz H y )) .

 

 

 

 

 

 

 

m

c

dt

 

 

 

 

 

...

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

Таким образом, имеем 6 задач Коши с 6-ю начальными условиями:

23

x(0) = x0 ,

 

 

= vx0

 

vx (0)

.

 

 

...

 

 

...

Все эти уравнения нужно решать одновременно, так как они взаимозависимы. Значение переменной на k+1-м шаге по времени выражается как сумма значения на предыдущем и приращения данной переменной:

 

(k +1)

 

(k )

 

 

 

x

 

= x

 

+

x,

 

v

(k +1)

= v (k ) +

v

x .

x

 

x

 

 

...

 

 

 

 

 

...

Алгоритмически это равносильно заданию векторов x[i]и F [i],

i = 1..6 и организации цикла по i. Внутри цикла приращение i-й переменной нужного порядка точности вычисляется, например, по описанному выше алгоритму Рунге-Кутта решения задачи Коши

dydt = f , где y соответствует x[i], f соответствуетF [i]. На каждом

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

24

2. МЕТОД МОЛЕКУЛЯРНОЙ ДИНАМИКИ

При моделировании плазмы методом молекулярной динамики рассчитывается движение всех частиц с учетом взаимодействия каждой частицы со всеми остальными. Уравнение движения для i-й частицы имеет вид:

 

d 2r

 

) Uij (rij ) ,

mi

 

i

= Fвнешн

(ri

dt

2

 

 

 

 

ji

где Fвнешн(ri ) внешняя сила, Uij потенциал взаимодействия i-й и j-й частицы. Для заряженных частиц в электрическом и магнит-

ном поле F

(r ) = Z

e(E

+

1 v ×H ) . Между заряженными

внешн

i

i

внешн

 

c i

частицами действуют кулоновские силы, потенциал которых определяется через заряды частиц и расстояние между ними:

 

Z

Z

e2

Uij =

 

i

j

 

 

, Zi Z j кратности зарядов i-й и j-й частицы. Таким

 

ri

rj

 

 

 

 

 

образом, уравнение движения заряженной частицы во внешних полях и в поле других частиц имеет вид:

mi

d 2r

= Zie(Eвнешн +

1

vi ×H ) + Zi

Z j e2

(ri

rj )

 

 

i

 

 

 

 

 

,

 

dt

2

c

 

3

 

 

 

 

 

 

 

 

 

ji

 

rij

 

 

где rij =

 

ri

rj

 

. В плазме кулоновское поле одной частицы экра-

 

 

нировано коллективным полем других. Экранированный кулонов-

ский потенциал можно представить в виде: Uij = Zi Z je2 Φ( rij ) , где rij a

Φ( raij ) – функция экранировки, a – характерная длина экранировки.

Для дебаевской экранировки в плазме Φ(

rij

) = exp(

rij

) , где r

 

 

 

a

 

 

d

 

 

rd

радиус Дебая. Тогда уравнение движение при rij rd

примет вид:

25

 

 

 

 

 

mi

d 2r

= Zie(Eвнешн +

1

vi

×H ) + Zi

Z j e2 (ri rj )

exp(

rij

)(

1

1

) .

 

i

 

 

 

 

 

dt

2

c

2

rd

rij

rd

 

 

 

 

ji

rij

 

 

 

 

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

2.1. Требования к модели метода молекулярной динамики

1.Интегрирование уравнения движения необходимо производить с достаточно малым шагом, много меньшим времени столкно-

вений t τст , τст =τee ,τei ,τii характерные времена элек-

трон-электронных, электрон-ионных, ион-ионных столкновений, которые определяются плотностью и температурой компонент плазмы.

2.Необходимо выбрать простой, но эффективный и устойчивый численный метод интегрирования, например, схема Эйлера «с зашагиванием»:

v(k +1) = v(k ) + Fx(k )

x x m

x(k +1) = x(k ) +v(k +1)

...

...

t; t;

Погрешность вычислений оценивается по сохранению полной энергии системы как суммы кинетической и потенциальной энергии частиц.

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

26

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

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

2.2. Задание начального состояния системы частиц

Необходимо в начальный момент времени «разбросать» N частиц по фазовому пространству, так чтобы это соответствовало вы-

бранному распределению f (r ,v, 0) , причем ∫∫ f (r, v, 0)drdv = N .

Рассмотрим несколько стандартных способов распределения частиц по скоростям.

Холодная плазма

В начальный момент все частицы имеют нулевую скорость vi (0) = 0 .

Спокойный старт, равномерное распределение по скоростям

Для трехмерной задачи прежде всего рассчитываются дискрет-

ные

 

 

 

значения

 

 

 

f (vx )

vxk = −vm + k vx ,

где

 

 

 

 

 

 

 

vx =

2vm

 

,

 

 

 

 

f (vx )

3

 

 

 

 

1

 

 

 

N 1

 

 

 

vx

k = 0...3

N 1 (рис.

6).

 

 

 

Для компонент vy , vz

 

 

 

 

аналогично.

 

Начальные

v

vm

значения

 

компонент

скорости первых 3 N

m

vx

 

 

 

Рис. 6. Схема спокойного старта

частиц определяем виде

 

 

 

 

vxi = vxk , vyi

= vy0 , vzi

= vz 0 ,

i = k +1, k = 0...3

N 1, для следующих

 

 

 

 

 

 

27

 

 

 

3 N частиц vxi = vxk , vyi = vy1, vzi = vz 0 , i = 3 N +k +1, k = 0...3 N 1,

и т.д. Таким образом, необходимо организовать три вложенных цикла m = 0...3 N 1, l = 0...3 N 1, k = 0...3 N 1, внутри кото-

рых vxi = vxk , vyi = vyl , vzi = vzm , i = i +1.

Спокойный старт, неравномерное распределение по скоростям

Пусть дано f (vx ) симметричное распределение компоненты

скорости относительно нуля (рис. 7). Прежде всего, определяем дискретные значения компонент скоро-

стиvx : vx1, vx2 ,..., vx 3 N из

интегральных

уравнений:

vx1

 

 

 

 

 

f (vx )dvx =1,

0

 

 

 

 

vx 2

 

 

 

 

 

f (vx )dvx =1,…,

vx1

 

 

 

v

x

3

N / 2

v

 

 

f (vx )dvx =1 ,

3

N / 21

x

 

 

f (vx )

vx

0 vx1 vx2

Рис. 7. Схема задания начального состояния

vx 3 N /2+1 = −vx1 , vx 3 N / 2+2 = −vx2 ,…, vx 3 N = −vx 3 N / 2 .

Далее аналогично определяем дискретные значения компонент скорости vy , vz . Распределение этих дискретных значений по час-

тицам происходит так же, как было описано выше для равномерного распределения.

28

Хаотический старт

Скорости определяем с помощью генератора случайных чисел. Генератор случайных чисел должен давать равновероятное число на некотором промежутке, например, ξ [0,1] . Однако «истин-

ный» генератор случайных чисел должен быть физическим, например, так называемый «счетчик

Гейгера»:

 

 

 

 

 

 

 

 

 

 

ξ

 

α3

 

αn

 

 

1

 

 

α1

 

α2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ξ = 10 +

 

 

+

 

+... +

 

,

 

 

ξ

 

 

 

 

100

1000

10n

 

 

где α1,α2 ,α3 ,...,αn

случайные

 

 

 

 

 

 

 

целые числа от 0 до 9, определяе-

 

 

 

 

 

 

x

мые в n испытаниях, например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вытаскиванием из урны одного из

0

x

10 пронумерованных шаров. Все

Рис. 8. Связь случайных

математические способы генери-

рования

 

случайных

чисел дают

чисел

 

 

 

 

 

 

 

 

 

 

псевдослучайные числа. Существует много способов такой генерации, наиболее простой состоит в том, что берется произвольное n разрядное число, возводится в квадрат, считается среднее n разрядов, затем процесс повторяется. В компиляторах различных языков программирования существуют собственные генераторы случайных чисел. Если требуется генерировать случайные числа x с заданным распределением p(x), то есть, чтобы случайные числа «ложились на это распределение, то необходимо равномерно распределенному случайному числуξ [0,1] поставить в соответствие x,

то есть найти функцию x(ξ) . Эта зависимость можно найти из соотношения p(x)dx = f (ξ)dξ , учитывая, что f (ξ) =1, находим

зависимость ξ(x) = x p(x)dx (рис. 8). Искомая зависимость есть

−∞

обратная найденной x(ξ) =ξ1 (x) .

29

2.3. Восстановление функции распределения

Для слежения за динамикой системы из большого числа частиц возникает необходимость восстановления функции распределения f (r, v,t) на каждом временном слое. Для этого нужно считать

число частиц, находящихся в данной точке фазового пространства (r;v) в элементарном объеме, т.е. число частиц, имеющих коор-

динаты от (x, y, z) до (x + x, y + y, z + z) и скорости от

(vx , vy , vz ) до (vx + vx , vy + vy , vz + vz ) .

3. МЕТОД МОНТЕ-КАРЛО (МЕТОД СТАТИСТИЧЕСКИХ ИСПЫТАНИЙ)

Метод Монте-Карло – это общее название разнообразных способов решения различных задач с использованием случайных чисел. Метод статистических испытаний, предложенный впервые в 1948 году американским математиком фон Нейманом, заключается в том, что с помощью большого числа испытаний моделируется математическое ожидание некоторой случайной величины. Математическое ожидание ищется как среднее арифметическое N реали-

заций случайной величины fi , то есть считается, что

 

1

N

 

1

N

Mf

fi , а точнее

lim

fi =Mf , а еще точнее то, что

 

 

 

N i=1

N →∞ N i=1

вероятность бесконечно малого отличия математического ожидания от среднеарифметического в пределе бесконечного числа ис-

пытаний

равна

 

единице,

то

есть

для

 

 

1

N

 

 

 

 

 

 

 

 

 

 

 

ε > 0 lim P(

Mf

fi

 

< ε) =1.

Насколько

это оправдано?

 

N →∞

 

N i=1

 

 

 

 

 

Математическое ожидание для непрерывной функции имеет вид:

Mf = b f (x) p(x)dx , где p(x) плотность вероятности случайной

a

величины x. Например, для равномерного распределения

30