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

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

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

3) решение непрерывно зависит от входных данных, то есть малое изменение входных данных дает малое изменение решения.

1.4. Численное решение дифференциальных уравнений. Задача Коши

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

Во времени:

dydt = f ( y,t);

y(t0 ) = y0 начальное условие;

t [t0 ,tmax ].

В пространстве:

dydx = f ( y, x);

y(a) = y0 граничное условие;

x [a,b].

11

Решение задачи сводится к численному интегрированию в виде: y(t + t) = y(t) + tt + t f ( y,t)dt

для временной зависимости функции и в виде: y(x + x) = y(x) + xx + x f ( y, x)dx

для пространственной. Разберем методы решения на примере временной задачи, пространственная задача решается аналогично.

Явный метод Эйлера

Рис. 2. Погрешность расчета явным методом Эйлера

Значение функции в следующий момент времени ищется по формуле: y(t + t) = y(t) + ytt = y(t) + f ( y(t),t) t , что является аппроксимацией 1-го порядка, потому что это фактически оставле-

ние

только

линейного

члена

разложения

Тейлора:

y(t +

t) = y(t) + y(t) t +

y(t)

t2 +...

То, что это довольно гру-

2!

 

 

 

 

 

 

бое приближение можно проиллюстрировать графически (рис. 2). Но даже это грубое приближение часто применяется при моделировании движения большого числа частиц, потому что использование аппроксимации более высоких порядков существенно увеличивает время расчета. Значение функции на i+1-м шаге выражается

через значение на i-м шаге в виде:

yi+1 = yi + f ( yi ,ti ) t . Для ус-

тойчивости метода необходимо обеспечить условие

 

εi+1

 

 

εi

 

. С

 

 

 

 

учетом погрешности

y(t + t) +εi+1 = y(t) +εi + f ( y(t) +εi ,t) t .

Оставляя

линейный

 

 

член

в

разложении

 

Тейлора

f ( y(t) +ε,t) = f ( y,t) + f

 

ε , получим εi+1 = εi (1+ f

 

 

 

t) . То-

 

 

y

 

t

 

 

y

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

гда условие устойчивости метода можно переписать в виде:

12

 

1+ f

 

t

1,

что равносильно 1 1+ f

t 1 или

 

y

i

 

 

 

 

 

 

 

y

i

2 f

 

 

t 0 .

Так как t > 0 следовательно f

 

 

0 , тогда ус-

 

 

 

 

y

 

i

2

 

 

y

 

i

 

 

 

 

 

 

 

ловие

t ≤ −

 

 

является условием выбора шага интегрирования

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

уравнением

dn

= −

n

= f (n) , тогда

f

= −

1

, а условие устой-

dt

τст

n

 

 

 

 

 

τст

чивости для численного интегрирования данного уравнения явным методом Эйлера имеет вид: t 2τст .

Модифицированный метод Эйлера (метод прогноза и коррекции)

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

Прогноз: y* (t + t) = y(t) + f ( y,t) t .

 

 

Коррекция: y(t +

t) = y(t) +

f ( y,t) + f ( y* ,t +

t)

t .

2

 

 

 

 

 

Для обеспечения нужной погрешности можно организовать итерационный процесс, так что на k+1-м шаге итерации:

y(t + t)

(k +1)

= y(t) +

f ( y,t) + f ( y(k ) ,t + t)

t .

 

2

 

 

 

 

Продолжать итерационный процесс нужно до тех пор, пока не будет обеспечена заданная точность ε , то есть пока не будет выпол-

нено условие: y(t + t)(k +1) y(t + t)(k ) < ε . Это означает, что зна-

чения функции на k+1-м шаге и на k-м шаге итерации не отличаются (отличаются на величину, не большую погрешности). На практике оказывается достаточно двух, трех итераций.

13

Неявный метод Эйлера

Неявный метод Эйлера всегда устойчив для любого шага интегрирования t . Для этого численно решается уравнение, в котором значение функции на следующем шаге по времени задается неявно: y(t + t) = y(t) + f ( y(t + t),t + t) t . Для этого в теории числен-

ных методов разработаны методы решения неявных уравнений. Разберем один из них.

Метод простой итерации

Пусть требуется решить уравнение x = f (x) . Понятно, что за-

меной переменных уравнение неявного метода Эйлера можно свести к данному уравнению. В математическом анализе доказывается

теорема, что если функция f (x) такова, что

 

 

q <1, то ко-

 

 

 

f (x)

 

рень уравнения можно искать в виде x(k +1) = f (x(k ) ) , где x(k ) – значение на k-м шаге итерации, а в качестве начального можно взять любое x(0) = x0 . Причем погрешность вычисления на k+1-м шаге

εk +1 = x(k +1) a q εk = q x(k ) a , где a – корень уравнения.

Таким образом, итерационный процесс сходится к решению не медленнее, чем члены геометрической прогрессии со знаменателем

q. Итерационный процесс завершается, если x(k +1) x(k ) <ε0 , то есть значения переменой на k+1-м шаге и на k-м шаге итерации от-

личаются на величину, меньшую,

чем задаваемая погрешность ε0 .

Достаточное условие сходимости

 

f

 

<1

означает достаточно

 

 

 

(x)

 

медленное

изменение (возрастание

или

убывание)

функции

f (x) (касательная к графику функции не

круче, чем

прямая

y = x или

y = −x ). А что делать,

если условие

 

 

<1 не вы-

 

 

 

f (x)

 

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

14

ленного решения неявных уравнений, например, метод Ньютона (метод касательных) или метод секущих.

Метод Ньютона (метод касательных)

Пусть дано уравнение ϕ(x) = 0 . Найдем координату xk+1 точки

пересечения

касательной,

проведенной

к

графику

функции

y =ϕ(x)

в точке

 

xk,

 

с

 

осью

 

x

из

соотношения

y(xk +1 ) =ϕ(xk ) +ϕ(xk )(xk +1 xk ) = 0 .

Аналогично,

для

итераци-

онного процесса x

(k

+1)

= x

(k )

ϕ(x(k ) )

.

Критерий

сходимости

 

 

 

 

(k )

)

 

 

 

 

 

 

 

ϕ (x

 

 

 

 

 

 

 

можно вывести из критерия сходимости метода простой итерации

для f (x) = x

ϕ(x)

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ (x)

 

 

 

 

 

 

 

 

 

 

1

ϕ(x)ϕ(x) ϕ(x)ϕ′′(x)

 

ϕ(x)ϕ′′(x)

 

<1.

 

 

=

 

 

 

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

(ϕ (x))

 

 

 

 

(ϕ (x))

 

 

 

Таким образом, критерий сходимости метода Ньютона имеет вид: ϕ(x)ϕ′′(x) <ϕ(x)2 .

Метод секущих

В методе Ньютона необходимо вычислять производную функции, но если это аналитически сделать сложно, то можно заменить

производную

конечной

 

 

 

(k )

)

ϕ(x(k ) ) ϕ(x(k 1) )

,

разностью ϕ (x

 

 

x(k ) x(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тогда

 

 

получим

двухшаговый

 

метод

секущих:

x

(k +1)

= x

(k )

x(k ) x(k 1)

ϕ(x

(k )

) .

 

 

 

 

 

 

 

ϕ(x(k ) ) ϕ(x(k 1) )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5.Метод Рунге–Кутта

Вначале 20-го века немецкие математики Карл Рунге и Мартин Кутта впервые предложили и развили метод численного реше-

15

ния задачи Коши. Если для краткости обозначить шаг интегрирования по времени t = h , а на очередном временном слое y(t) = yi , y(t + t) = yi+1 , тогда аппроксимация

1-го порядка (метод Эйлера):

k = f ( y ,t) ;

y

= y + yI = y + k h ;

1

i

i+1

i

i

1

2-го порядка:

k = f ( y ,t);

 

 

 

 

 

1

i

 

h

,t + h);

k

2

= f ( y

+ k

 

 

i

1

2

 

2

 

 

 

 

 

 

3-го порядка:

 

 

 

 

k = f ( y ,t);

 

 

 

 

 

1

i

 

h

,t + h);

k2

= f ( yi

+ k1

 

 

 

= f ( y

k

2

+ 2k

2

k

3

h

2

h,t + h);

 

 

i

1

 

 

 

yi+1 = yi +

4-го порядка:

yi+1 = yi + yII = yi + k2 h ;

yIII = yi + 16 (k1 + 4k2 + k3 ) h ;

k = f ( y ,t);

 

 

 

 

 

 

 

 

 

 

 

1

 

i

 

 

h

,t + h);

 

 

 

 

 

 

 

k

 

=

f ( y

+k

 

 

 

 

 

 

 

 

 

 

2

 

i

 

1

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

,t + h);

 

 

 

 

 

 

 

k

 

=

f ( y

+ k

 

 

 

 

 

 

 

 

 

 

3

 

i

 

2

2

2

 

 

 

 

 

 

 

k

4

=

f ( y

+k

3

h,t + h);

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

= y + yIV

= y +

1 (k + 2k

2

+ 2k + k

4

) h .

 

 

 

 

 

 

 

i+1

i

i

6

1

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Идея метода: аппроксимация функции разложением в ряд, но не через производные функции, как в ряде Тейлора, а через многократное просчитывание значений функции в нескольких точках отрезка [t;t + t] :

16

n

y(t + h) y(t) + y = y(t) + h pj k j (h) .

j=1

Зависимость коэффициентов k j (h) находится из условия, чтобы

n

функция погрешности g(h) = y(t + h) y(t) h pj k j (h) име-

j=1

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

ентов pj является общепринятым, но не единственно возможным.

Оценка погрешности метода Рунге–Кутта

Существует несколько способов оценки погрешности. Наиболее распространенный основывается на оценке

y(h / 2)

y(t

)

y(h / 2)

y(h)

= ε , где

y(h / 2)

приближение, рассчи-

i

i

 

 

i

i

 

i

 

танное с шагом h2 , yi(h) приближение, рассчитанное с шагом h .

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

предыдущих порядков ε( N ) =

y( N )

y( N 1)

. Например, для 2-го

порядка погрешность равна:

ε( II ) =

 

y( II ) y( I )

 

=

 

(k

2

k ) h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

она совпадает с определением погрешности по первому способу. Для третьего порядка погрешность равна

ε( III ) =

 

y( III ) y( II )

 

=

1 h

 

k 2k

2

+ k

 

.

 

 

 

 

 

 

 

 

 

6

 

1

3

 

 

 

 

 

 

 

 

 

 

 

 

 

17

Алгоритм расчета с автоматическим выбором шага

Важным достоинством метода Рунге–Кутта является то, что можно менять шаг интегрирования для обеспечения нужной погрешности. Выбор шага происходит для удовлетворения условия

13 ε0 < ε < 3ε0 , где ε0 – задаваемая погрешность вычислений. Блок схема алгоритма Рунге–Кутта показана на рис. 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t = t0 y = y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t = t + h

 

 

 

 

 

 

y = y +

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t' = t + h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h = h/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ε < 3ε0

 

 

 

 

 

 

 

 

| y-yk |< ε0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = y +

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t’ < tk

 

 

 

 

 

 

 

 

 

 

 

 

 

h = 2h

 

 

 

 

 

ε > ε0/3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3. Блок схема алгоритма метода РунгеКутта

1.6. Расчет внешних электрического и магнитного полей

Расчет топологии магнитного поля

Внешнее магнитное поле задается внешними токами. В случае прямого проводника тока можно использовать простую формулу для величины напряженности магнитного поля на расстоянии r от

тока I: H (r) = 2crI . Для криволинейных витков тока необходимо интегрирование вкладов от элементов тока dl по формуле

18

БиоСавара: H = cI dlr3 r , где r радиус-вектор от элемента то-

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

dx

=

 

H

x

,

 

 

 

 

dl

H

 

 

 

 

 

 

 

 

H y

 

 

dy

=

 

 

,

 

 

 

 

 

 

 

 

H

 

dl

 

 

 

 

dz

=

 

H

z

 

,

 

 

 

 

 

 

 

H

dl

 

 

 

 

где H = Hx2 + H y2 + Hz2 . Решение этой системы это решение

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

Расчет электрического поля, создаваемого внешними электродами

Для расчета электрического поля, создаваемого внешними электродами произвольной геометрии, необходимо рассчитать распределение потенциала в пространстве. Распределение потенциала

в отсутствии зарядов описывается уравнением Лапласа

ϕ = 0 с

19

граничными условиями ϕ гр =Uгр , где Uгр фиксированное рас-

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

f

f

i+1

f

i1

,

2 f

x

 

2

x

 

x2

 

 

 

 

 

i

 

 

 

 

 

 

i

 

где fi значение функции в точке

fi+1 2 fi + fi1 , x2

xi . В конечных разностях

двухмерное уравнение Лапласа имеет вид:

 

ϕi+1, j 2ϕi, j +ϕi1, j

+

ϕi, j+1 2ϕi, j +ϕi, j1

= 0

 

 

 

 

x2

y2

i =1,.., n и

и представляет

собой систему m×n

уравнений,

j =1,.., m . На

границе области

значения

потенциалов

ϕ0, j ,ϕn+1, j ,ϕi,0 ,ϕi,m+1 известны, кроме этого, известны фиксированные значения потенциалов в некоторых узлах, где находятся электроды. Данную систему можно решать различными методами численного решения систем линейных уравнений. Чаще всего для расчета потенциала используется метод установления. Метод установления состоит в том, что решение уравнения Лапласа рассматривают как установившееся (стационарное) решение уравнения диффузии (теплопроводности) с коэффициентом диффузии, рав-

ным единице: ϕt = ϕ , то есть на временах, когда уже нет изме-

нения потенциала, то есть ϕt = 0 . В конечных разностях уравне-

ние имеет вид:

 

ϕi, j (t + t) ϕi, j (t)

=

ϕi+1, j 2ϕi, j +ϕi1, j

+

ϕi, j+1 2ϕi, j +ϕi, j1

.

 

 

 

 

t

 

 

x2

y2

Для равномерной

пространственной сетки

с шагом x = y = h

можно явным образом выразить значение потенциала на следующем временном слое в виде:

20