Файл: Вычислительные методы в физике плазмы..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 309

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

188

Гл. 4. Методы расчета потенциала

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

Следует отметить, что в некоторых простых случаях хранение фурье-образа функциями F не требует га2 ячеек памяти. Для изо­ тропного потенциала взаимодействия общего вида, зависящего

лишь от расстояния между взаимодействующими зарядами, Fc}d =

— Fa, о

и,

следовательно, в памяти

нужно

хранить

лишь

га (га +

1)/2 чисел.

 

 

 

Для вычисления двукратного преобразования Фурье вещест­

венной сеточной функции, заданной на сетке га

X га, необходимо*

5га2 [log2 га—1,4] операций. Полное число

операций, таким

обра­

зом, равно

10 га2 [log2 га—1,3]. При га= 128 это составит 0,92-ІО8

операций, что при 2 мкс на одну операцию потребует 1,84 с ма­ шинного времени. Фактическое время расчета на CDC 6600 было­ равно 1,85 с.

2. Изолированные системы

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

Рассмотренный метод можно приспособить и к изолированной системе, если пойти на то, чтобы для описания распределения зарядов использовалась только Ѵ4 имеющегося количества узло­ вых точек, например левый нижний угол сетки, определенный нера­ венствами 0 sjj s, t sjC га/2. В оставшихся 3/4 системы распределение зарядов предполагается тождественно равным нулю. Если в каче­ стве примера взять взаимодействие точечных зарядов, то потен­ циал взаимодействия будет строиться следующим образом:

Fc. d = (c2 + d2)~lh

1 ОСс, dCn/2,

F n - c , d — F c , n - d = F n - c , n - d = F c , d

J c + c Z ^ O ,

^0,0 = 1-

 

Очевидно, что если этот потенциал продолжен периодически, топравильная зависимость вида г-1 для потенциала поля точечного заряда, помещенного в начале координат, будет иметь место лишь внутри области — га/2 ^ c,d ^ га/2. На границе этой области потенциал имеет угловую точку, а вне ее потенциал принимает неверные значения. Тем не менее если для описания распределения зарядов использовать только левый нижний угол и использовать


§ 4. Произвольный закон взаимодействия

189

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

ся. В случае изолирован­ ÜY-t ной системы применение

•сетки иллюстрируется

фиг.

12.

 

 

 

 

Пассивная

Пассивная

 

Этот метод дает точное

область

область

 

{за исключением,

конечно,

 

 

 

ошибок округления) рас­

 

 

 

пределение потенциала на

NY

 

 

квадратном (или прямо­

Z

 

 

угольном) массиве узло­

 

 

 

вых

точек.

Если

заряд

 

Пассивная

задан на сетке N

X N , то

 

 

область

 

вычисления нужно выпол­

Ф

 

 

нять

на сетке 2 N

X 2 N,

 

 

 

 

 

для чего требуется память

 

 

 

объемом

в

8 N 2 ячеек в

NX

 

NX-1

4 раза

больше,

чем

для

2

 

периодической в двух

на­

 

 

 

правлениях

системы *).

Ф и г . 12. Сетка для расчета потенциала

Так

как машинное время

изолированной

системы.

 

примерно пропорциональ­

Только активную четверть

сетки можно исполь­

зовать для описания зарядов или масс.

Массив­

но количеству используе­

ные области используются

в процессе

вычисле­

мых в расчете точек, то

ний.

 

 

его

затраты

также

увели­

 

 

 

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

Для изолированных систем была написана программа РОТЗ, использующая методику преобразования Фурье. В табл. 6 при­ ведено время работы этой подпрограммы.

Написанная на Фортране IV подпрограмма РОТЗ дана в при­ ложении С. Время счета на CDC 6600 дано для варианта этой про­ граммы, составленного компилятором с Фортрана (вариант 2.1) и для варианта с внутренним циклом —блоком разложения Фурье, запрограммированным в автокоде COMPASS. Оба варианта про-

г) Этот объем можно уменьшить до 5ІѴ2, используя симметрию функ­ ции FCt d.


190

Гл. 4.

Методы расчета потенциала

 

 

 

 

 

 

Таблица 6

Машинное время (в секундах)

для сеток

различного размера

 

 

(подпрограмма РОТЗ)

 

 

Сетка а

CDC 6600 6*

IBM 360/67«

периодиче­

изолирован­

COMPASS

Фортран

Фортран

Ошибка

ская

ная

IV

IV

32x32

16x16

0,132

0,354

0,529

 

64x64

32x32

0,494

1,524

2,155

6,6 -10-е

128x128

64x64

1,854

6,618

9,021

6,7.10-е

256x256

128x128

7,542

28,708

38,359

7,6-10-в

а Количество узлов, используемых для описания распределения зарядов и соот­ ветствующего распределения потенциала.

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

в Второй вариант (уровень Я) компилятора для модели 67-1.

считывались под управлением операционной системы SCOPE 3.0 Исследовательского центра в Ленгли, а время работы измерялось с помощью вызова библиотечной подпрограммы SECOND(T) до и после вычисления потенциала. Разность во времени и счита­ лась длительностью работы подпрограммы РОТЗ, что, по-видимо­ му, справедливо с точностью до двух миллисекунд. Таким обра­ зом, видно, что за удобство записи всей программы на Фортране

Таблица 7

Затраты машинного времени на сетке 128 X 128 для различных систем

 

 

CDC 6600 а

Система

время,

с

память ®

 

 

 

 

= 1024)

Бесконечные стержни (уравнение Пуассона)

0,75

 

16К

Изолированная система заряженных стержней8

1,82

 

16К

Периодическая система точечных зарядов

1,85

 

ъ г к

Изолированная система точечных зарядов

6,68

 

S 0 K

° Программа написана на Фортране, за исключением внутреннего цикла, исполь­ зующего автокод COMPASS.

® Объем памяти, необходимый для основных двумерных сеток без учета програм­ мы и вспомогательной оперативной памяти.

8 Использован метод согласования граничных условий с последующим решением уравнения Пуассона. Машинное время дано на основании подсчета числа операций.


 

§ 5. Некоторые численные модели

191

приходится

платить увеличением

затрат машинного

времени

в 3—4 раза. В табл. 6 дано также

время работы на IBM 360/67

программы,

использующей 2-й вариант компилятора

(уровень

Н) с Фортрана.

 

 

Втабл. 7 проведено сопоставление затрат машинного времени

иобъема памяти при вычислении потенциала на сетке 128 X 128

вразличных условиях и для разных законов взаимодействия.

Время указано для программы, использующей автокод COMPASS-

§ 5. Н еко т о р ы е ч и с л ен н ы е модели

Описанные выше методы вычисления потенциала используются в численном моделировании плазменных процессов [1, 27], потоков пространственного заряда 128—30, 19] и галактик [3, 31, 26, 32]. Некоторые из этих приложений описаны в § 6 более подробно.

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

Для каждой частицы в машинной памяти хранятся текущие координаты X (t), Y (t) и расстояния, пройденные за последний шаг

по времени D X {t~DTI2\ 'DY(t~~DT/2), которые пропорциональны компонентам скорости. Эти величины пересчитываются с помощью простейшей разностной аппроксимации уравнений движения Нью­ тона, а именно

D X (t+DT/2) =

D X (t - D T/ 2 ) + A X ^ D

T 2,

 

X (t+DT) _

X f y

j j X (t+DT/2)

(Q4-Y

^

>

и аналогично для г/-компонент. Эта центрально-разностная схема симметрична по времени и имеет третий порядок точности по DT. Здесь Â Z (f) означает ускорение в момент t, полученное дифферен­ цированием потенциала. Если ускоряемый заряд находится внут­ ри сеточной ячейки (і, /), то мы используем приближение

A X (t) _ 9

Фг-1,1 фй-1, І

(95)

т

2Н

 

и аналогично для ^-компоненты; qlm — удельный заряд частицы.


192

Гл. 4. Методы расчета потенциала

Все масштабные множители, входящие в уравнения (94) и (95), можно включить в заряд, который вносится на сетку от каждой частицы. Если этот заряд взять в виде

q*

q D n 2Hm '

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

ФВП

Ф* 2Нт '

Тогда уравнение (94) упрощается:

D X (t+ D T /2) = о х а~т,2) + Ф ?-1,Г ~ фГ+ l.J .

Подобным же способом все масштабные множители, возникающие при определении потенциала, можно включить в заряд q*.

В табл. 8 дано распределение времени внутри цикла для ряда различных двумерных моделей с бесконечно длинными стержня­ ми-частицами, а в табл. 9 — время цикла для различных моделей с произвольным законом взаимодействия.

Таблица 8

Двумерные модели с вычислением полей при помощи решения уравнения Пуассона по подпрограмме РОТ1

'Указано время работы центрального процессора в секундах.

Э В М

IBM 7090

 

 

 

CDС 6600

 

 

 

 

IBM 360/67

Количество частиц

2

0 0

0

1 0

0

0

0

5

0

0

0

0

5

0

0

0

0

Сетка

4 8

x

4 8

6 4

x

6

4

1 2

8

x

1

2 8

1 2

8

x

1 2 8

R H O а

в ACCN

0

, 1

9

 

 

0

, 8

7

 

 

2

, 9

 

8

Р О Т б

0 , 8 8

0

, 2 0

 

 

0

, 7 5

 

 

3 , 7

2

ACCN «

1

, 2

2

0

, 5

7

 

 

2

, 8

3

 

1

0

, 6

8

Цикл 2

2

, 1

0

0

, 9

6

 

 

4

, 4

5

 

1

7

, 3

8

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

бВремя вычисления потенциала.

вВремя пересчета координат и скоростей частиц.

г Время выполнения арифметических операций (т. е. исключая операции ввода и вывода).

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