Научная литература
booksshare.net -> Добавить материал -> Физика -> Федоренко Р.П. -> "Введение в вычислительную физику" -> 38

Введение в вычислительную физику - Федоренко Р.П.

Федоренко Р.П. Введение в вычислительную физику — М.: Физ-тех, 1994. — 528 c.
ISBN 5-7417-0002-0
Скачать (прямая ссылка): vvedenievvichesleniyah1994.djvu
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 210 >> Следующая


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

Явная схема:

Принятый способ разностной аппроксимации называют схемой. Обычно структуру схемы поясняют ее шаблоном. Шаблон — это совокупность узлов сетки, в которых берутся значения функции, участвующие в аппроксимации уравнения в данном узле (п, т).

Неявная схема:

Шаблоны явной и неявной схем показаны на рис. 10.

Обычно каждое разностное уравнение относят к некоторому узлу счетной сетки. Удобно считать уравнения (1), (2) отнесенными к точке (n+l,m). He-

= 0, I, ..., N — 1 . Тем самым мы имеем уравнения для точек [m = 1, 2, ..., M- 1] х [п = 1, 2, ..., ArJ.

(1)

(2)

Явная схема

Неявная схема

трудно видеть, что эти уравнения могут быть составлены не во всех узлах сетки, а только во внутренних, т.е. в тех узлах, в которых шаблон не выходит за пределы сетки, в данном случае для m=l,2, ...,М— 1, п —

т-1 т т + 1

т-1 т т + 1

Рис. 10
§ И] ИНТЕГРИРОВАНИЕ УРАВНЕНИЙ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ IOl

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

аппроксимация начальных данных:

Mm = Mo(*m)’ m = 0, 1, ..., AT;

аппроксимация левого краевого условия:

-Ct1 J1 U° + P1Mg =S И= 1, 2, .... N; (3)

аппроксимация правого краевого условия:

«2 -—ft-’1- + MSr = ViO„)> n=l,2,...,N, (4)

где а, > 0, Pi > 0, а, "Ь (З, > 0, г = 1,2. Теперь мы имеем столько неизвестных, сколько точек, и столько же уравнений.

Решение разностных уравнений. (Или, как принято говорить, реализация разностной схемы.) Чтобы завершить описание схемы, нужно дать алгоритм вычисления Mjjt, подсчитать количество операций и требуемые ресурсы памяти.

Общей чертой реализации разностных схем для так называемых эволюционных задач (т.е. задач, в которых одна из независимых переменных играет особую роль времени) является счет по слоям. Слоем мы называем совокупность неизвестных, определенных в узлах одного горизонтального ряда; п-й слой будем обозначать и", имея В виду величины {иЦ,}го = 0.

Схема счета по слоям очень проста. Пусть п-й слой уже сосчитан, т.е. переменные, входящие в и", и переменные всех предшествующих слоев U0tUi, ип~1 уже известны. Имеется алгоритм, который по значениям ип вычисляет un+l, используя, быть может, и другие нижние слои ип~1,... Этот алгоритм называют «реализацией шага», обозначим его S.

Заметим, что разностные уравнения (1), (2) связывают неизвестные только на двух соседних слоях. В этом случае реализация шага может быть записана в виде un+l = S(un)'. Такие схемы называют «двуслойными». В трехслойных схемах реализация шага имеет вид un+l = S(un, мп_1). Так как слой м° известен из начальных условий, можно находить последовательно слой за слоем: U1 = S(U0)t

и2 = S(ul) и т.д.
102

ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ

[Ч. I

Реализация явной схемы. Она совсем проста. Итак, пусть ип (п-й слой) известен. Запишем (1) в форме

<+l = «т + W-I - 2< + *Ctl) + * /m- (5)

Тем самым мы имеем явную формулу вычисления ы"+1, Ho только для m = 1, 2, ..., M — 1.

Для завершения шага нужно вычислить еще ug+1 и U1Jf1. Из левого краевого условия (3) находим

un + i = un+l . **»(W (6)

uO dj + APj uI ^ O1 + Api • V 7

Аналогично вычисляется U1Jf1 из правого краевого условия (4):

a, . hihAt )

un+l =_____-___un+l 4-2 "-- (T)

uM а2 + Ар2 M-I ^ а2 + Лр2‘

Вычисление Uq+1, U1Jf1 производится после расчета по формуле (5), так что значения U1J+1, Ujf^i уже известны. Легко подсчитать, что реализация шага требует O(M) операций и, следовательно, вся задача решается за O(MN) операций.

Оценим ресурсы памяти. На первый взгляд кажется, что требуется (N + 1 )(М +1) ячеек памяти. Ho нетрудно видеть, что можно обойтись и 2(М + 1)-й ячейкой, если заметить, что предшествующие слои больше не понадобятся и могут быть «забыты».

Приведем схему счета, в которой используются только два одномерных массива м0(0:М), и1(0:М). Можно обойтись и одним, используя на языке FORTRAN оператор EQUIVALENCE (м0(0), м1(2)). Разумеется, перенос массива мі наместо U0 (см. схему) в этом случае делается обратным циклом. Обратим внимание на то, что печатаются и просматриваются не все полученные в расчете числа, а только некоторые слои ип, соответствующие времени р, 2р, Зр и т.д.

Реализация неявной схемы. Здесь мы сталкиваемся с характерной для всех неявных схем проблемой — необходимостью решения так называемых уравнений на верхнем слое. В самом деле, пусть слой ип известен. Выписывая уравнения для точек (п+ 1)-го слоя и перенося неизвестные в левую часть, из (2)-(4) получаем

Л - (l + 2 + ^ ипт\\ = -Unm + xfnm,

hl т 1 \ hlj к

(Ct1 + К^)ип+1 - OlxU1J+1 =

(а2 + Ap2) U1Jf1 - O2U^+J1 = A^+1
11] ИНТЕГРИРОВАНИЕ УРАВНЕНИЙ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ

Реализация явной схемы. Счет по слоям

Ввод или расчет исходной информации: Л/, N, т, Л, Т, P, Ct1, P1, а2> (32

Конкретизация функций W0(Jc), %(<). f(t, х)
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 210 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed