А.А. Самарский - Теория разностных схем (1989) (1160092), страница 29
Текст из файла (страница 29)
и, $4» Злу), <)чи+)Ч)!+))»)!=0(йг), г гце Ьл - среднее явадраылчаое ееачеаие 4. Повышение точности на последовательности сеток. Метод Рунге. Пусть дано некоторое линейное уравнение математической фиеики л'н у(х), х лв О, И1) с дополнительными условиями на границе Г, которые мы для упрощения технической стороны наложения не выписываем. Пусть ыл — сетка в области С с шагом й, и вадаче И1) ставится в соответствие равностная схема » лрл = лр», х лв шл. (12) 11 я А слмлрохха 162 гл. 1н. ОднОРОдные Рлэноотныв схемы Если схема устойчива, так ято 1у»11,»»»~М11»р»1<»»в гдв М совал>0 нв эависит от Ь (см. гл, 11, 5 2), то ив аппроксимации следует сходимость Ьл — ил 1(»л) ~ (М1 фл 1(сл), (13) где»)ь 9» — Й»и» (ср» — У») — (1»и» — Яи)») — погрешность аппроксимации (невявка) на решении и и(х) эадачи И1).
Ив ИЗ> видно, что порядок точности схемы не ниже порядка аппроксимации, так что иэ 1$л11(вл) = 0(Ь") следует 1ул — ил|(сл) = 0(йл). Чтобы повысить точность приближенйого решения, очевидно, надо уменьшить шаг сетки Ь или увеличить и, т. е. повысить порядок аппроксимации схемы. Простейший пример повышения порядка аппроксимации на решении рассмотрен в гл. 1, $2, п. 2. Однако для большинства эадач построение схем повышенного порядка точности представляет технические трудности, особенно в случае уравнений с переменными коэффициентами; кроме того, при переходе к таким схемам может происходить существенное увеличение объема вычислений.
Исключение представляют схемы для уравнения теплопроводности с постоянными коэффициентами и уравнения Лапласа, которые будут рассмотрены в гл. Ч,.гл. 1Ч. Повышение точности путем уменьшения шага сетки Ь лимитирувтся требованием экономичности, т. е. минимума машинного времени для получения решения. Если же решение исходной задачи и (так же, как и 1) является гладкой функцией х, то повышение порядка точности сеточного решения может быть достигнуто путем проведения расчетов для одной и той же эадачи И2) на последовательности сеток сел , ...,с»л„.
Будем предполагать, что и' и(х) имеет столько производных, сколько их требуется по ходу изложения. Рассмотрим сначала простейший случай. Предположим, что справедливо асимптотическое раэложение ул(х) = ил(х)+ а,(х)Ь"'+ 0(Ь"'), Ьс>Ь») О, (14) где а,(х) — функция, не зависящая от Ь. Требуется найти сеточную функцию у»(х), для которой у»(х) и,(х) + 0(Ь" ). Ий) Для этого рассмотрим две сетки со», и сел, с шагами Ь, и Ь„имеющие общие уэлы, множество которых обозначим со». В узлах х»и »в со» образуем сеточную функцию ул(х) =с,ул,(х)+с,ул,(х), лен сел, (16) гдв с„с, — неиэвестныв пока числа, и воспользуемся разложениями (14) для у»,-и у„, после подстановки которых в Иб) получим ул (х) = (с, + с,) ил (х) + (с,Ьл'+ с,Ь",') а, (х) + 0 (Ьлл).
163 9 л схкмы нл нвРлвноматных сктклх Отсюда следует, что ул — ил ='0(й л), если л, лг сг + сз = 1, с,й,' + слй г = О, т. в. с, =1 — сн с„= — Ь,'/(Ь ' — Ь л)г' (17) В частности, можно взять й, = Ь, Ь,=О,5Ь; тогда ал = <ол, сг = = — 1/(2 л — 1). Таким образом, для повышения точности сеточного решения на некотором множестве узлов в, надо решить задачу (12) дважды: один раз на сетке вл, второй раз — на сетке мл,, (юл, и вл, выбраны так, что их пересечением является вл) и составить линейную комбинацию (16) с козффициентами (17). Так, например, если мы имеем схему второго порядка точности, для которой ул(х) = ал(х) + йай + 0(й )~ т. в, йа = 2~ йл = 4~ то решая разностную задачу с шагами Ь, = Ь, й, = 0,5Ь, найдем ул и уьм, с,= — 1/3, с, 4/3, после чего образуем функцию 4 у(х) = з уллл — з ул.
Эта функция определена на сетке вл и приближает точное решение в(х) с точностью 0(й'): Дл = ил + 0(й') при х ш еь Если существует разложение ул =ил+а,(х)ййл+ал(х)й л+0(й л), йл)йл)йг)О, где а,(х) и о»(х) не зависят от Ь, и мы хотим получить решение с точностью 0(й з), то следует провести три расчета ревностной л задачи с шагами Ь„й„й,. Пустьул (х), ул,(х), улз(х) — соответствующие решения разностной задачи. Образуем их линейную комбинацию ул (х) = с,ул, (х) + сйул (х) + с,ул, (х), х а- =ел в узлах сетки юл, являющейся пересечением трех сеток гол, вл и„ если Ь~ = Ь, Ьа = 0,5Ь~ Ьа ™ 0,25Ь, то вл = олл.
Тробуя ул = пл + +0(Ьл*), получаем для определения с„с„с, уравнения е, + с» + с, = 1, с й ~ + с й ' + с й ' = О, сгйл + слй '+ сзй,,' =О. Определитель этой системы, очевидно, отличен от нуля. 11» гл. нь одногодныв глэностныв схимы 164 В общем случае разложение погрешности у» — и» по степеням Ь имеет вид « — 1 ул = ил + ~ а, (х) Ь' + а«(х, Ь) Ь", (18) а 1 где а,(х), з = 1, 2, ..., и†1, не зависят от Ь, а а„(х, Ь) ограничено по модулю постоянной М = сопел ) О, котсрая не зависит от Ь. Как получить априори разложение вида (18)? Непосредственно мы можем найти в предположении достаточной гладкости и(х), ~(х) и коэффициентов уравнения (11) для погрешности аппроксимации ау»(х) следующее выражение «-1 »рл(х) = Х (),(х) Ь'+ ()«(х, Ь)й«, а 1 где (),(х), 1<э<и — 1, не зависят от Ь, а $ (х, ЬН <М, М= совзС) О не зависит от Ь.
Отсюда следует, что для любой достаточно гладкой функции а,(х) также можно написать «-1 а лаа(х) = 1«ха(х) + Х уа(х) Ь'+ 7«(х, Ь) Ь". (20) (19) а=1 Будем искать разность у» — и» в виде (18). Применим к тождеству (18) оператор Х». «-1 т,л(ул — ил) = Х 1»а ° (х)Ь'+ ?а«(х, Ь)Ь". ° =1 Учитывая затем, что 1»(у» — и») = »г», а также формулу (20) для л»а» получаем «-1 Г а-1 (у и ) ~Р ~ (а + ~~ ? Ь«а Ьа + О (Ь«) »=1 «а т. е.
« — 1? а-1 »?л = Х ~Ьа, + ~, у " Ь'+ О (й"). а 1 т=1 (21) Сравнивая формулы (19) и (21), убеждаемся в справедливости разложения (18), если функции сс,(х) являются решениями урав- нений ° -1 Ьа, = р, (х) — ~ у (х) пря з = 1, 2,..., и — 1.
аа 1 Заметим, что разложение (19) может содержать не все степени Ь'; тогда соответствующий коэффициент р, О. Использование адаптивных ~ сеток открывает новые воэмо ности повышения порядка точности без увеличения числа уаяцв. Имея предварительную информацию о поведении решения исход- з а дгзтив задачи (Еб ной задачи, можно выбирать сетку таким обраеом, чтобы обеспечить достаточную точность с использованием минимума уазов и тем самым минимума действий.
Так, например, в области сильного изменения коэффициентов и правой части уравнении естественно сгустить сетку. В частности, вблизи точки (линии) разрыва коэффициентов — границы двух сред — сетка сгущается так, что наименьший шаг делается возле границы и затем по мере удаления от границы шаг сетки увеличивается, например, по закону геометрической прогрессии.
Если информация о поведении решения отсутствует, то можно провести предварительный расчет на грубой сетке, после чего выбирается новая сетка так, чтобы в областях сильного измейения решения шаг сетки был помельче, и разностная задача решается на атой сетке. На практике неравномерные сетки применяются весьма часто. Мы уже убедились в п. 3, что при выборе специальных сеток едд(К), таких, что все точки разрыва коэффициентов х(х) уравнения (й(х)и')' — д(х)и = - )(х) являются узловыми точками сетки едл(К), любая однородная разностная схема (ау-„)-„— дду = — р второго порядка аппроксимации (в нлассе гладких коэффициентов) будет иметь в классе разрывных коэффициентов й(х) второй порядок точности.
Следует признать, что вопрос о точности разностных схем в зависимости от изменения реальных (т. е. твх, которые допустимы для практических машинных расчетов) сеток для уравнений с переменными коэффициентами нуждается в исследовании для каждой конкретной задачи. э 5. Другие задачи д.
Третья краевая задача. Построим однородную ревностную схему для краевой задачи третьего рода: Ьи (йи')' — д(х)и — 1(х), 0(х< д, й(х) >с,) О, д > О, й(0)и'(0) = ()ди(0) — р„— ЙИ)и'И) = рдиИ) — )д„И) ()д ) О, (), ~ О, (), + ~д ) О. Уравнение И) аппроксимируем обычным образом: Лу = — др(х), Лу = (ау) — дду, а>сд)0, д(~0, (2) где а, д(, др удовлетворяют условиям аппроксимации И8) из $2. Рассмотрим сначала простейшую 'аппроксимацию краевого условия при х = 0: а,у„= Рдрз Рп и вычислим погРешность аппроксимации, подставив в это условие у з+ ш адгад — ))дзо — чдд тд= ади,-, — рди, +)дд. 166 гл.
пь одногодкыв Разнооткыв схимы Учитывая, что ас = йе+0,5ййо+0(йо), и- — и'+0,5йие+0(йо), получаем те = (йод — (),ив+)с,) + 0,5Ь(йи')о+.0(й') = 0,5Ь(йй)е+ 0(Ь'). 1 Подставим сюда иа уравнения (1)(йи')о = Чово ~ос 0,5Ь(челе — ~о) + 0(Ь~). Отсюда видно, что краевое условие аиду, -= ()суо — )св ()с = фс+ 0.5йу ° )оо = )со+ Оз5Ь|в (3) имеет второй порядок аппроксимации на решении и(х) задачи (1).