Fedorenko-RP-Vvedenie-v-vychislitelnuyu-fiziku (810773), страница 19
Текст из файла (страница 19)
Последняя погрешность очень мала н зависит от разрядности представления чисел в ЭВМ. Таким образом, погрешность Ь„+, есть следствие двух погрешностей: наследственной погрешности Ь„, в которой суммируются погрешности предшествующих вычислений, и локальной погрешности е„, для которой нетрудно указать хорошую оценку через погрешности с„, Ь„и т.д. Воспользуемся тем, что )Ь„! ~сР„, н применим линейный анализ, пренебрегая величинами 0(ЬВ). Используя обычное исчисление дифференциалов, получаем DŽ— О„Р„1Ь а Р >2 а Из этого соотношения следует формула Ь„(Р„) Ь„+е„, и О, 1, ...,Ж 1. Заметим, что число шагов, выполняемых по рекуррентной формуле, достаточно велико (порядка ТУт), и нас будет интересовать асимптотическое поведение погрешности (при М = тут- ).
Сначала получим важные для анализа свойства прогоночных коэффициентов. Л ем ма !. При значениях Ь„> а„+ са и Р, с 1 для всех и имеем О~Р„~1. пгогонкА в глзностноя эадлчв штагма-лятвнлля 97 з га1 В самом деле, если 0 и Р„и 1, то с„ с„ ю-'а. а а» с„ З„- а„л„а„+ с„— а„г„с„+ а„н - Р„1 Разумеется была использована положительность локальных коэффициентов а„, Ь„, с„. Лемма 2. Пусть р(г) удовлетворяет условию Липшнца. Тогда ~ а„/с„~ и 1 + Ст, где постоянная С не зависит от т.
Действительно, а„аи -т(2) — ш — = — — — =1~-аа). с„а1С„+а г>+Ш С учетом приведенных оценок имеем ~Ь„~~~и(1+Ст))Ь )+6, ~е„~иа. Используя это соотношение и стандартные рассуждения (см. з 5, 8), получаем !Ь„! и(1+Ст) !Ьа!+ ст з. При и и Т/ с и достаточно малых т, таких, что Ст < 1, мы приходим к оценке ~Ь ~ и ест~ Ь ~ 4.— 'аст Обсудим этот результат. Прежде всего есть величина е/Ст, нз которой следует, что прн слишком малом шаге т погрешность может стать недопустимо большой. Напомним, что а зависит от разрядности чисел ЭВМ. То, что прн разностной аппроксимации дифференциальных уравнений конечная разрядность чисел ограничивает снизу разумный малый шаг т, нам уже известно; здесь это обстоятельство проявилось еще раз.
Однако в большинстве расчетов М равны 100, 1000, так что отношение е/т очень мало (на БЭСМ-6, во всяком случае; на ЕС уже нужно быть осторожнее). В полученной оценке есть неприятный множитель ест. При решении задач на больших интервалах времени, прн СТ м 1, возможны серьезные затруднения. Однако дело не только в величине Т, но н в гладкости функции р(~), т.е.
чем меньше ее константа Лнпшица, тем благоприятнее ситуация. Нужно, однако, иметь в виду некоторый неиспользованный нами в грубой оценке резерв: если, как это часто бывает в прикладных задачах, Ь„> а„+ с„+ зз (з > О), то Р„и д с 1, оценка может быть существенно улучшена и в неко- 4 — 1833 ООНОВы ВычислитеяьиОЙ мАтемАтики 1ч. ! торых случаях можно исключить множитель ест. Но мы этим заниматься не будем. Неприятным является предположение о гладкости р(!). В приложениях часто встречаются задачи с кусочно-гладкими р(!), т.е.
р(!) имеет небольшое число точек разрыва, а между ними гладкая. Такие ,изолированные разрывы не имеют катастрофических последствий. Несложный анализ, являющийся простым обобщением проведенного вь!ше, показывает, что в этом случае в оценке множитель ест заменится на где !' (к = 1, 2, ..., К) — точки разрыва р(!). Мы не будем проводить подробно анализ остальных частей алгоритма прогонки.
Ограничимся лишь самыми простыми соотношениями. Обозначим (У„' = Ци + Ц„, где ф— погрешность вычисления Д„. Запишем соотношение для Д„,ъ!: а„ Аи С учетом погрешностей вычислений имеем К.!-Я.+ +1.+!= =.—," Р„+ ! + б„.„!П0„+ з„) — —," (Р„+! + б„., !) + е„+ !. Отсюда где и вы! г Юп~ь+! г бь+! + зь+!' и Далее погрешность $„оценивается так же, как это было сделано выше при оценке б„, Аналогично анализируется обратная прогонка х„, = Р„х„+ Ц„. С учетом погрешностей вычислений, обозначая через Ч„погрешность в х, имеем ха-! АА-! + Че — ! (Рь+ ОА)(хь + ЧА) + ®ь + ъь) + еь' откуда Чи-,! = "ЯЧ.
+ (ИАА + ~а + еА). д М1 ичтвгтиговхнив хгхвявний с чхстными пгоизводными 99 И здесь ключевой факт: 1Р„~ н 1. Основную роль, как было видно из предшествующего анализа, играет «коэффициент усиления наследственной погрешности», Если он меньше единицы или хотя бы не более 1 + О(1/Ж), 'накопление погрешностей не имеет катастрофического характера. Крайне неприятной является ситуация, в которой этот коэффициент превосходит некоторое не зависящее от т число а > 1. Тогда погрешность накапливается, усиливаясь за каждый шаг в д раз, и при достаточно малом шаге т величина д" = дгн может стать катастрофически большой. й 1!. Численное интегрирование задачи Коши дпн уравнений с частными пронзводнымн Изучение одного из важнейших разделов современной вычислительной математики начнем с простой задачи, которая даст повод ввести основные идеи метода конечных разностей.
Это классическая задача для уравнения теплопроводности. Итак, в области 'О < х<Х, 0 < 1пТ нужно найти функцию и(г, х), удовлетворяющую: а) уравнению —" = —" + /(г, х) (всюду в области); дг дхх б) левому краевому условию — а, — „" + 13,и = 1р, ( г) при х = 0; в) правому краевому условию а Я+рта = 1рз(г) при х = Х; г) начальным условиям Коши и(0, х) = ид(х), х ~ 10, Х1, при г =О. Заметим сразу же, что формально метод без существенных изменений можно применить и для решения более сложной задачи с нелинейным уравнением, например с(г, х, и) аг ах н(г' х' и) ах + )(г,х, и).
аи ар ди1 Возможны и другие усложнения задачи, и они на первый взгляд легко вписываются в метод конечных разностей. Рассмотрим вначале линейное уравнение, затем проведем формальное обобщение метода на более сложные задачи и обсудим, так ли все это просто на самом деле. Введем основные элементы метода сеток. Сетка. Область определения функции и покрывается дискретным множеством точек (х , г„), т = О, 1, ..., М, л = О, 1, ..., дг. дх 1ч.г основы вычислитвльиой мятвмлтики Ради простоты изложения будем считать сетку равномерной, т.е. х,„ = «гЛ, где Л = Х/М вЂ” шаг сетки по' х, М вЂ” число узлов по х; . нт, где т = Т/гт' — шаг сетки по г, Ф вЂ” число узлов по г Разностная аппроксимация уравнения.
Сеточную функцию получим как решение некоторого уравнения, анпроксимирукицего дифференциальное. Существует много технических приемов построения таких уравнений, мы начнем с самого простого и наглядного. Он состоит в том, что входящие в уравнение производные заменяются подходящими разностиыми отношениями.
Это можно сделать тоже неоднозначно. Приведем достаточно популярные разностные уравнения. Явная схема: и+1 и 1 ии 2 и+ил г +у Принятый способ разностной аппроксимации называют схемой. Обычно структуру схемы поясняют ее шаблоном. Шаблон — это со- вокунность узлов сетки, в которых берутся значения функции, уча- ствующие в аппроксимации уравнения в данном узле (н, нг). Неявная схема: их+1 — и" и" +' — зли+1+ и" +1 и и и 1 и +1 1 уи я Лг м' (2) Шаблоны явной н неявной схем показаны на рис.
10. Обычно каждое разностное уравнение относят к некоторому узлу счетной сетки. Удобно считать уравнения (1), (2) отнесенными к точке (н + 1, «г). Неявная схема Неявная схема трудно видеть, что эти уравнеч х х л+! ~хх х л+1 ння могут быть составлены не во всех узлах сетки, а только во х Ц х Л +гч + внУгнРенних, т.е.
в тех Узлах, в которых шаблон не выходит за и с, го пределы сетки, в данном случае для «1=*1,2,...,М вЂ” 1, и О, 1, ..., Ф вЂ” 1 . Тем самым мы имеем уравнения для точек 1гн = 1, 2, ..., М - 1] х '1 и 1, 2, ..., гт'1. Сеточная функция. Приближенное решение задачи ищем в виде сеточной функции, т.е. функции, определенной в каждом узле сетки. Эту функцию обозначим (и"„). Значение ии будем трактовать как приближенное значение функции и(», х) в узле (г„, х ), т.е. ии ~ и(ги, х ). 3 Ы! ИНТЕГРИРОВАНИЕ УРАВНЕНИЙ С ЧАСГНЫМИ ПРОИЗВОДНЫМИ юг Таким образом, без уравнений остались пока самый нижний ряд узлов и крайние левый и правый ряды.
В этих узлах следует составить уравнения, аппроксимирующие начальные данные и краевые условия: аппроксимация начальных данных: ИВ ИЕ(» ) ГН 0 1 М аппроксимация левого краевого условия: и и — а, — '„В + р, и" = ир,(Г„), л = 1, 2, ..., Ф; (3) аппроксимация правого краевого условии: аг А +Йгим=зуг(Г ) "=1 2 "'г~ (Й) где а; пО, ВГ д О, а, + В,. >О, Г = 1, 2. Теперь мы имеем столько неизвестных, сколько точек, и столько же уравнений.
Решение разностных уравнений. (Или, как принято говорить, реализации разностной схемы.) Чтобы завершить описание схемы, нужно дать алгоритм вычисления и", подсчитать количество операций и требуемые ресурсы памяти. Общей чертой реализации разностных схем для так называемых эволюпионных задач (т.е. задач, в которых одна из независимых переменных играет особую роль времени) является счет но слоям. Слоем мы называем совокупность неизвестных, определенных в узлах одного горизонтального ряда; л-й слой будем обозначать и", имея в виду величины (и")~ Схема счета по слоям очень проста. Пусть и-й слой уже сосчитан, т.е.
переменные, входящие в и", и переменные всех предшествующих слоев и",и', ..., и" ' уже известны. Имеется алгоритм, который по значениям и" вычисляет и"+', используя, быть может, и другие нижние слон и" ', ... Этот алгоритм называют «реализацией шаге», Обозначим его Я. Заметим, что разностные уравнения (1), (2) связывают неизвестные только на двух соседних слоях. В этом случае реализация шага может быть записана в виде й+' = Я(и"): Такие схемы называют «двусдойнымн». В трехслойных схемах реализация шага имеет вид и" +' = 5(ии, й '.).
Так как слой ие известен из начальных условий, можно находить последовательно слой за слоем: и' = Я(ИО), из=я(и') и т.д. 1Ч. 1 основы вычяслитслы~ой м«тем«тики )оз Реализация явной схемы. Она совсем проста. Итак, пусть и" (н-й слой) известен. Запишем (1) в форме Ьт Тем самым мы имеем явную формулу вычисления и"+', но только для от=1,2, ...,М вЂ” 1. Для завершения шага нужно вычислить еще и" +' н и"„+'. Из левого краевою условия (3) находим «, аида«м) б ио = ~+за, и~ +,+а|, () Аналогично вычисляется йм+' из правого краевого условия (4): ил+) от «+т а «) 7 и от«.ар и-> + «««-Ц ' () Вычисление ио+', им+' производится после расчета по формуле (5), так что значения и) ', и" +', уже известны. Лепсо подсчитать, что реализация шага требует 0(М) операций и, следовательно, вся задача решается за 0(МФ) операций.