Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
I S11I <(1 + Ст)"|60| +
При п =? Т/г и достаточно малых х, таких, что Cr < 1, мы приходим к оценке
IM 60| +?ест.
Обсудим этот результат. Прежде всего есть величина е/Сх, из которой следует, что при слишком малом шаге т погрешность может стать недопустимо большой. Напомним, что є зависит от разрядности чисел ЭВМ. То, что при разностной аппроксимации дифференциальных уравнений конечная разрядность чисел ограничивает снизу разумный малый шаг т, нам уже известно; здесь это обстоятельство проявилось еще раз. Однако в большинстве расчетов N равны 100, 1000, так что отношение г/х очень мало (на БЭСМ-6, во всяком случае; на ЕС уже нужно быть осторожнее).
В полученной оценке есть неприятный множитель ест. При решении задач на больших интервалах времени, при CT »1, возможны серьезные затруднения. Однако дело не только в величине Т, но и в гладкости функции p(t), т.е. чем меньше ее константа Липшица, тем благоприятнее ситуация. Нужно, однако, иметь в виду некоторый неиспользованный нами в грубой оценке резерв: если, как это часто бывает в прикладных задачах, bn> ап + сп + s2 (s> 0), то Pn < q < 1, оценка может быть существенно улучшена и в неко-
4 — 1833
98
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
торых случаях можно исключить множитель ест. Ho мы этим заниматься не будем.
Неприятным является предположение о гладкости p(t). В приложениях часто встречаются задачи с кусочно-гладкими p(t), т.е. р(() имеет небольшое число точек разрыва, а между ними гладкая. Такие изолированные разрывы не имеют катастрофических последствий. Несложный анализ, являющийся простым обобщением проведенного выше, показывает, что в этом случае в оценке множитель ест заменится на
к
,ст
*=!
P(fl-O)
p(t:+o)
где t\ (jt = I, 2, ..., ЛГ) -— точки разрыва p(t).
Мы не будем проводить подробно анализ остальных частей алгоритма прогонки. Ограничимся лишь самыми простыми соотношениями, Обозначим Q^ = Qtt + ^n, где — погрешность вычисления Qn. Запишем соотношение для Qn+{.
Qn+i=Tpn+x Qn-Tpn-
п ft
С учетом погрешностей вычислений имеем
Q«+i= Qn+1 + ?п+1 ~
=т Cp*+! + 6„+iHQn + U - -г (рп+1 + &n+i) + en+i-
Отсюда
где
Ъп + 1=ТРпК + ?'„ + 1’
?и+і— с QA+i с ^п+1 + ?п+1-
п п
Далее погрешность оценивается так же, как это было сделано выше при оценке 6„.
Аналогичгіо анализируется обратная прогонка Xn^1 = Pпхп + Qn. С учетом погрешностей вычислений, обозначая через г)„ погрешность в хп, имеем
Хп-1 = Хп-1 + %-1 = (Рп + Ю(Хп + Л„) + (Qn + U + е„. откуда
= PnHn + (*А + Sn + О-
ИНТЕГРИРОВАНИЕ УРАВНЕНИЙ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ
99
И здесь ключевой факт: \Рп | < 1. Основную роль, как было видно из предшествующего анализа, играет «коэффициент усиления наследственной погрешности». Если он меньше единицы или хотя бы не более I + O(IIN), накопление погрешностей не имеет катастрофического характера. Крайне неприятной является ситуация, в которой этот коэффициент превосходит некоторое не зависящее от т число q> 1. Тогда погрешность накапливается, усиливаясь за каждый шаг в q раз, и при достаточно малом шаге т величина qN = дт/г может стать катастрофически большой.
§ 11. Численное интегрирование задачи Коши для уравнений с частными производными
Изучение одного из важнейших разделов современной вычислительной математики начнем с простой задачи, которая даст повод ввести основные идеи метода конечных разностей. Это классическая задача для уравнения теплопроводности.
Итак, в области 0< дс0 нужно найти функцию
u(t, де), удовлетворяющую:
ди д^и
а) уравнению -77 = —| + f(t, х) (всюду в области);
01 дхі
б) левому краевому условию -O1|| •+¦ = ^1(Z) при х = 0;
в) правому краевому условию а21| + 02м = 4*2(0 ПРИ х = X;
г) начальным условиям Коши и(0, х) = и0(х), х Є [О, Х\, при J = O.
Заметим сразу же, что формально метод без существенных изменений можно применить и для решения более сложной задачи с нелинейным уравнением, например
c(J, х, и) § = ? |*0, х, и) Il
+ f(t, X, и).
Возможны и другие усложнения задачи, и они на первый взгляд легко вписываются в метод конечных разностей. Рассмотрим вначале линейное уравнение, затем проведем формальное обобщение метода на более сложные задачи и обсудим, так ли все это просто на самом деле. Введем основные элементы метода сеток.
Сетка. Область определения функции и покрывается дискретным множеством точек
"1 = 0, 1, ..., М, п = 0, 1,
100
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
[Ч. I
Ради простоты изложения будем считать сетку равномерной, т.е. Xm = mh, где h = Х/М — шаг сетки по х, M — число узлов по х; tn =SS ПТ, где X =S T/N — шаг сетки по t, N — число узлов по t.
Сеточная функция. Приближенное решение задачи ищем в виде сеточной функции, т.е. функции, определенной в каждом узле сетки. Эту функцию обозначим {&",}. Значение uJJ, будем трактовать как приближенное значение функции u(t, х) в узле (/„, хт), т.е.
Разностная аппроксимация уравнения. Сеточную функцию получим как решение некоторого уравнения, аппроксимирующего дифференциальное. Существует много технических приемов построения таких уравнений, мы начнем с самого простого и наглядного. Он состоит в том, что входящие в уравнение производные заменяются подходящими разностными отношениями. Это можио сделать тоже неоднозначно.