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

книги из ГПНТБ / Вычислительные методы в физике плазмы

..pdf
Скачиваний:
52
Добавлен:
25.10.2023
Размер:
18.53 Mб
Скачать

 

§ 2. Физические свойства ступенчатых

распределений

107

вых — в

области А. Так как внутренние кривые модулированы

сильнее

внешних, они в большей мере

определяют поведение

системы. Из уравнения (12) следует, что в предельном устойчивом случае потери кинетической энергии пропорциональны і/ѵ2—1/щ, где Ѵі и уг — скорости соответственно на внешних и внутренних кривых.

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

В случае двух тепловых потоков внешние кривые играют не­ существенную роль в возникновении неустойчивости. Из типа модуляции скорости на внешних кривых [см. (7) и (12)] видно, что эти кривые экранируют заряды, генерированные внутренними кривыми, как объяснено в § 2, п. 2. Однако, чем более они разде­ лены в пространстве скоростей, тем менее эффективно экраниро­ вание, как следует из уравнения (8). В случае такого разделения, когда внешними кривыми можно пренебречь, система полностью характеризуется полостью в фазовом пространстве между кривы­ ми С2 и С3. Следовательно, эту задачу можно рассматривать как задачу эволюции полости в электронной фазовой жидкости. Показано [25], что такое рассмотрение совершенно эквивалентно эволюции одномерной гравитационной системы, для которой функция распределения постоянна между С2 и С3 и равна нулю в любом другом месте.

Фиг. 7 иллюстрирует нелинейные эффекты в задаче с двумя потоками, рассчитанные на ЭВМ [21]. Полость перерождается в устойчивые структуры в фазовом пространстве, которые ана­ логичны одномерным звездам [22]. В приближении, когда внеш­ ними контурами можно пренебречь, анализ единственной полости показывает, что она устойчива. Однако можно ожидать, что система полостей будет неустойчива, так как полости должны притягиваться друг к другу. На фиг. 7 можно видеть структуры двух полостей в процессе слияния из-за этих сил притяжения. Наличие внешних кривых не меняет существенно интерпретации, так как они только экранируют силы притяжения. Поэтому под системой, показанной на фиг. 7, можно понимать систему грави­ тирующих звезд, притягивающихся друг к другу в соответствии с дебаевским (или мезонным) потенциалом, который удовлетво­ ряет уравнению, аналогичному (8). Из фиг. 7 видно, что за выче­ том мест около острых пиков две внешние кривые изменяются

108 Гл. 3. Модель «водяного мешка»

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

Проведенный анализ двухпотоковой неустойчивости остается в силе и в случае непрерывных распределений; расчеты на ЭВМ для непрерывных распределений привели к аналогичным резуль­ татам [11, 8].

Шаг Z50

Ш аг 350

Ф и г . 7. Эволюция полости в случае двухпотоковой неустойчивости.

6. Вихри в фазовом пространстве

Так как полость заряжена положительно, она окружена по­ тенциальной ямой, в которую попадают электроны с близлежащи­ ми скоростями. В окрестности полости фазовая жидкость вращает­ ся по часовой стрелке. В фильме, снятом с помощью ЭВМ путем расчета траекторий частиц, каждая полость выглядит как вихрь в жидкости [21]. Таким образом, вихри в фазовой жидкости при­ тягивают друг друга, и, что очень интересно, аналогично ведут себя вихри конечного размера в реальной несжимаемой жидкости в двумерном случае. Расчеты постоянно совершенствуются, так что можно надеяться на прогресс в понимании этого явления.

§ 3. Численные методы

109

§ 3. Ч и с л е н н ы е методы

В наших расчетах каждый контур Cj аппроксимировался цепочкой лагранжевских точек Pjt г, соединенных друг с другом прямолинейными отрезками (сегментами), как показано на фиг. 8. Соседние точки должны быть расположены достаточно близко друг от друга, чтобы сумма площадей трапеций с хорошей точно­ стью аппроксимировала постоянную площадь внутри контура. Чтобы включать или исключать точки, когда сегменты вдоль контура оказывались слишком длинными или короткими, в про­ цессе расчетов использовалась разработанная техника вычисле­ ний, которая описана в § 3, п. 2.

Точки Pi, і представлялись в виде целых констант с фиксиро­ ванной запятой, так как в задачах с периодическими граничными условиями слежение по координатам в этом случае оказывается особенно эффективным. Жидкость в верхней половине фазовой

V

Ф и г . 8. Численная аппроксимация непрерывного контура.

Точки соединены прямолинейными отрезками; стрелки показывают направление цепочки.

плоскости постоянно движется направо, так как ѵ > 0, а в ниж­ ней половине — налево, что приводит к возникновению горизон­ тального течения. Таким образом, кривая, которая сначала цели­ ком лежит внутри области с основным периодом 0 ^ х < L, в кон­ це концов может пересечь левую или правую границы несколько раз. Использование целых констант для представления координат без труда позволяет спроектировать точку Pj, г на основной период. Для этого нужно лишь дешифровать номер периода, который хранится в самой важной части координатного кода. Это означа­ ет, что нет необходимости проверять для каждой частицы, пере­ секла ли она границу периода или нет. Более подробно этот вопрос обсуждается в п. 1.

HO Гл. 3. Модель «водяного мешка»

Уравнение Пуассона или интегральная форма этого уравне­

ния — теорема Гаусса — определяют

электрическое

поле:

 

 

 

9

m+1

 

=

 

 

 

Е (%т+\

%т)

д Н f

dx\

 

 

 

 

 

 

 

хт

 

 

 

 

 

 

 

 

2

 

хт+і

 

{%т+1 >^m)

A z J ,

(17)

 

 

=5 -[2j Л^2 ухтJ\_2 ^ f j A j

 

 

 

 

dxVj{x) — Ax^ =

 

 

 

где А/j =

fj — /j_! — скачок / на контуре j и Aj

(a, b) — площадь

области между контуром / и осью х

на участке между точками

X — а ж X = Ъ с учетом

знака >

Ь).

 

 

 

 

Точки

жт

определяют

фиксированную сетку Эйлера и делят

фазовую

плоскость

на

вертикальные

полосы

хт ^ х <

хт+1

равной толщины Аж. Чтобы из уравнения (17) определить электри­ ческое поле, необходимо вычислить площадь Aj,m между конту­ ром j и осью X для каждой эйлеровской полосы т. Для этого рассматриваются по порядку точки на С;- и для каждой пары соседних точек определяется площадь трапеции. Если площадь выходит за пределы одной эйлеровской полосы, то для каждой полосы вычисляется связанная с ней площадь. Без какой-либо дополнительной проверки этот метод автоматически обеспечивает правильность вычислений для контура произвольной формы, включая кривые с многими значениями ѵ при данном х. Для контуров в виде многоугольников этот метод точен.

Если поле в эйлеровских точках хт вычислено, то поле в каж­ дой лагранжевскойточке Р/, t можно определить, используя линей­ ную интерполяцию между концевыми точками эйлеровского интервала, внутри которого лежит точка x t. Затем рассчитывает­ ся эволюция во времени формы контура с помощью метода «с пере­ шагиванием» второго порядка:

x t Цге + 1)Аг] = Хі [(re—\)At] -f- 2Ѵі [nAt]At,

Vi [(re + 1)Аг] = Vi [(re—1))Аг] + 2E t [nAt]At.

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

Для диагностики очень полезной оказалась усредненная функ­

ция распределения (1IL) \f(x,v)dx для данного момента времени.

§ 3. Численные методы

111

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

Недостаток нашего метода интегрирования состоит в том, что контуры могут неограниченно удлиняться. Как уже упоминалось, мы можем, вводя в рассмотрение по мере необходимости новые точки, сохранять точность расчета; но в конце концов либо не хватит памяти ЭВМ, либо счет станет слишком медленным и его придется прекратить. Чтобы избежать этой катастрофы, можно «подправить» диаграмму на фазовой плоскости, устранив области с тонкой волокнистой структурой, которые имеют тенденцию эволюционировать, и соединив разорванные концы кривых. Участки памяти ЭВМ с координатами кусков кривой, которые были устранены, присоединяются к общему полю свободной памя­ ти ЭВМ, и расчеты можно продолжать. Если на ЭВМ имеется устройство, позволяющее с пульта вмешиваться в работу про­ граммы, то эта операция «подправления» дает исследователю в руки замечательную возможность изменять время от времени топологию контура в процессе счета. В п. 4 настоящего параг­

рафа

мы

рассмотрим существующие операции «подправления»,

а в

§ 5

приведем результаты расчета с использованием этих

операций.

 

1. Представление координат и скоростей в виде целых констант

Координаты и скорости точек на контурах представляются целыми константами. Так как система периодична с периодом L , то каждой точке с координатами (хи vt) в памяти ЭВМ в действи­ тельности соответствует бесконечное число физических точек с координатами

 

(xt -f- KL, vt),

К

0, ± 1 ,

± 2 , . . .

 

(19)

Разделим каждый период на L = 2х эйлеровских интервалов еди­

ничной

длины,

где I — целая

константа, и будем

использовать

разные

участки

кодового

слова для

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

а)

периода,

б) номера т эйлеровского интервала внутри этого

периода,

в) положения внутри интервала.

 

 

 

Это можно сделать, если использовать запись

 

 

 

 

Х = Ах + Р = А

+

+

 

(20)

где

 

 

 

 

 

 

 

0 < f < A , 0 < m < L , А — 2а, L = 2 l , Р = 2 Р.

112

Гл.

3.

Модель «водяного мешка»

 

Типичные

значения

в

случае 48-разрядного

кода х) следующие:

а = 30, I = 6, р = 46. Целая константа р выбирается большой,

чтобы в памяти ЭВМ

координата X всегда

оставалась положи­

тельной, как бы далеко не сдвинулась точка. Это делается для того, чтобы арифметические операции не зависели от способа представления отрицательных чисел в любой конкретной ЭВМ. Имеется несколько преимуществ в использовании степеней 2. Например, становится легче использовать операции типа MASK в Фортране (если они имеются в применяемом варианте языка) или перейти на автокод ЭВМ, чтобы наиболее трудоемкие участки программы считать как можно быстрее. Восьмеричная запись легко интерпретируется. Показатель а характеризует точность, с которой можно определить координату. Имеется несколько свободных разрядов для согласования между тремя частями «а»,

«б», и «в»

кода, но

практически

этот метод так же

точен, как

и метод, использующий числа с плавающей запятой.

 

Перед

вычислениями

все точки

лежат в

исходном периоде

^ X <

Р + AL),

а

затем

они

изменяют

свое

положение

в соответствии с

разностными уравнениями

 

Х г [(п +

1) Д*]=

 

1(п -

1) At] +

Vi

[nAt],

 

Ѵі [(тг +

1) At] =

Vi [(n -

1) At] +

Ri

\nAt],

(21)

где V и R — целые константы, представляющие соответственно 2vAt и ArАР, а г — ускорение. Такое представление позволяет избежать всех ненужных умножений. По истечении некоторого времени большинство точек выйдет за пределы начального периода через одну из его границ х = 0, L и попадет в соседний период. Однако нет необходимости проверять этот уход точек (на что понадобилось бы машинное время), так как для расчета плотности заряда, электрического поля и ускорения частиц мы просто про­ ектируем координаты на основной период 0 ^ X < AL, затирая все значащие разряды, кроме а + I последних. Это можно сделать на Фортране с помощью оператора

IXFUND = IXTRUE. AND. MASK,

(22)

где MASK = 2a+l — 1,

IXTRUE — истинная

координата

и IXFUND — координата

внутри основного периода. Маскиру­

ющие операторы присваивания очень удобны при решении задач, подобных задаче Власова или других, где имеют дело с частицами, так же как и при манипуляциях с цифрами. К сожалению, этих операторов нет на всех ЭЕМ и нет в ASA FORTRAN.

*) Программа была написана для CDC 3600 в Калифорнийском универси­ тете Сан-Диего и переработана для ICL KDF9 в Калэмской лаборатории. Обе машины используют 48-разрядный код. Программа также использова­ лась на CDC 6600 в Лоуренсовской радиационной лаборатории (Ливермор). У этой ЭВМ 60-разрядный код. Все три варианта Фортрана очень схожи.

§ 3 р Ч и с л е н н ы е м е т о д ы

ИЗ

Для расчета эйлеровского интервала, внутри которого лежит точка, используется деление целых чисел в версии Фортрана. Так как делитель — степень двух, то такое деление эквивалентно логическому сдвигу вправо на а разрядов, при котором зати­ рается дробная часть координаты. Если используется автокод ЭВМ. то применяются стандартные операции MASK и SHIFT. Очевидно, что решение уравнений движения (21) занимает малую долю полного времени счета. Основное время тратится на расчет распределения заряда, что обсуждается в и. 3.

2. Образование цепочек

Постоянно приходится иметь дело с двумя типами кривых: с кривыми, образующими замкнутую петлю на фазовой плоскости (тип 1), и с кривыми, которые являются непрерывными функция­

ми при изменении аргумента х

от —оо до +оо (тип 0).

Кривая

каждого типа определяется цепочкой последовательных

точек:

{%Ві Ев)> (З-сі» Ѵ<х) •••

(*£р1 Ѵр), (Хеі Ѵе)і

(23)

где символы В и Е относятся соответственно к начальной и конеч­

ной точкам цепочки. За точкой (хв ,

ѵЕ) следует точка (хв, ѵв)

в случае цепочки типа 1 и точка (хв +

L , ѵв) — в случае цепочки

типа 0, где L — длина периода. Условимся считать, что замкну­

тые петли (тип 1) имеют направление по часовой стрелке, а беско­ нечные кривые (типа 0) направлены слева направо. Это согла­ шение инвариантно относительно топологических преобразований фазовой плоскости. Если же кривые надо разрезать и соединить заново, чтобы получить новые замкнутые петли, то направление

некоторых

участков кривых приходится менять на обратное

(см. и. 5).

 

Точки хранятся в памяти ЭВМ в ячейках со случайными номе­

рами:

 

 

 

^В>

• •

• ) Ірі ІЕ-

(24)

Введем функцию, определяющую преемственность точек

 

Sin = Г.

(25)

Эта функция определяет номер

ячейки I" для точки,

следующей

в цепочке за точкой Г, и три массива bj, е$, rij, которые определяют соответственно номера ячеек для первой и последней точек на кривой і и число точек. Все неиспользованные точки объединяются, и из них образуется кривая о, или список «свободных мест», который характеризуется величинами Ъ0, е0, п0.

С течением времени каждая кривая вытягивается, и если мы хотим, чтобы точность расчета оставалась неизменной, то необ-

8 -0 1 2 3 6

114

Г л . 3 . М о д е л ь «в о д я н о г о м е ш к а »

ходимо вводить новые точки. Мы можем ввести точку у между точками а и ß следующим образом:

Z7: = b0, b0: — S (b0), n0: = n0 — 1, nf. = tij + 1

(26)

(изъять первую ячейку из списка «свободных мест» и включить ее в число ячеек, в которых хранятся точки кривой Cj) и

S (Іа): = Zv, S (1У): =./р

(27)

(вставить новую ячейку между ячейками Іа и Zp в цепочке). Новая точка у размещается в середине сегмента (а, ß), т. е. в общем случае

Xy: = j ( X a + Xf>), F7: = y ( F a + Fß).

(28)

Нужна некоторая осторожность в случае, если сегмент совпадает с , В), но мы этого касаться не будем.

Точку ß, которая лежит между а и у на кривой /, можно изъять, а ячейку, в которой она хранилась, включить в список «свобод­ ных» мест:

В (Za): — ly,

. —■Tij

1, В (e0). — Zp,

. — Zß, ^o* ■—

1 *

 

 

 

 

(29)

 

3.

Расчет электрического поля

 

Чтобы рассчитать плотность заряда, нужно сначала вычислить

интеграл

 

 

 

 

 

 

j / (X, v) dv

 

(30)

как функцию X. Так как фазовая плоскость поделена на области постоянной плотности, то / (х 0, ѵ) — ступенчатая функция ѵ для каждого значения х 0. Пусть контур Cj разделяет две области Rj и Zij-i с фазовыми плотностями fj и /;-_4. Область Rj должна оставаться справа, если двигаться по контуру Сj в положительном направлении. Определим

Mi — ij fj-1-

(31)

Предположим, что Сj пересекает вертикальную линию х = х0 произвольное число раз (возможно, и ни разу) в точках Vj,q, и определим функцию Sj,q, которая равна + 1 , если контур пере­ секает эту линию в направлении увеличения х, и равна —1 в про­ тивном случае. Тогда

f (х0, v) =

vj,q) Sj, q,

(32)

3

9

 

§

 

3. Численные методы

115

где Ѳ (V) — ступенчатая

функция Хевисайда

 

Ѳ (ѵ) = 1,

V >

О,

Ѳ (к) = 0, V < 0,

(33)

и интеграл принимает

вид

 

 

 

/ (аг0.

ѵ) =

2

2 A/jty. Ä . g-

(34)

39

Врасчетах мы будем предполагать, что каждая кривая — много­

угольник, т. е. ломаная линия. Нам нужно вычислить интеграл

хт

 

j dv j dxf(x, v)

(35)

xm

в каждом из интервалов

Xm Ж Xm+ii 0 YTT<d L*

(36)

Добавляя новые точки в случае, если сегмент пересекает одну из вертикальных линий на границах интервалов, мы можем пред­ ставить каждый член в (35) в виде суммы по всем подсегментам, лежащим внутри интервала (36):

2

M j { x " - x ' ) ^ ± ! L ,

(37)

по всем

 

 

подсегментам

 

где ж" следует за точкой х'

(принимаются в расчет и новые точки).

Нетрудно проверить, что выражение (37) приводит к правильным результатам, какова бы ни была форма сегментов.

Следовательно, вычислительная процедура довольно проста: мы движемся вдоль каждой кривой в положительном направлении и с помощью операций MASK и деления целых чисел (см. п. 1) определяем ж-интервалы, в которых помещаются две концевые точки каждого сегмента. Затем каждому интервалу, внутри которого имеется сегмент, приписывается в соответствии с форму­ лой (37) некоторое добавочное количество заряда, которое вычис­ ляется в режиме с плавающей запятой.

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

Е)т = {Qm — g0), ' (38)

где Qm — заряд внутри т-то интервала, д0 — однородно распре­ деленный положительный заряд фона, который подбирается таким,

8*

116

Гл. 3. Модель «водяного мешка»

чтобы суммарный заряд в точности равнялся нулю, и

(39)

Уравнение (39) точное, но, чтобы наложить условие периодичности

L

(40)

о

мы должны предположить, что внутри каждого эйлеровского интервала поле Е (х) изменяется линейно. Эта аппроксимация также нужна для расчета значений электрического поля в лагранжевских точках x t, которые подставляются в уравнения (18).

Следовательно, на каждом шаге по времени два небольших фактора приводят к ошибкам в расчете электрического поля. Во-первых, мы предположили, что кривые Cj — ломаные линии, но это свойство кривых нарушается с течением времени, так как сегменты искривляются. Во-вторых, мы приняли, что величину Е (X) можно рассчитать, пользуясь линейной интерполяцией значений в узлах эйлеровской сетки, в то время как в действи­ тельности электрическое поле имеет более сложную структуру: величина cPEldx2 в каждой точке x t изменяется от одного постоян­ ного значения к другому. Первый тип ошибок можно свести к минимуму, если увеличить число лагранжевских точек на кон­ турах, а второй — если увеличить число эйлеровских интервалов. Имеется и третий источник ошибок при расчете движения конту­ ров, который зависит от величины шага по времени At. Этот ис­ точник рассматривается в § 4.

4.Подправление контуров

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

Вэтом случае две кривые превращаются в одну «двойную» кри­ вую, которую не имеет смысла проходить дважды. Если величина / на каждой стороне «двойной» кривой одинакова, то, исключив совсем «двойной» участок кривой, мы не изменим состояния

системы.

Фиг. 9 иллюстрирует три возможных случая образования «двойных» кривых. Проще разобрать диаграмму на фиг. 9, а; с нее мы и начнем наш анализ. В этом случае цепочка Сt переделывается следующим образом: точку С соединяют с точкой D и образуют новую замкнутую кривую, начинающуюся в точке А и оканчиваю­

Соседние файлы в папке книги из ГПНТБ