Годунов С.К., Рябенький В.С. Разностные схемы (введение в теорию) (1185928), страница 49
Текст из файла (страница 49)
Объяснить механизм вычислительной неустойчивости, развивающейся при расчете по формулам (16) при хг"! = (й. й — 1, й — 2, ..., 2, 1) метод Федоренко 323 % зл 3. Считая, что затраты машинного времени на один шаг итерационного процесса Дугласа — Рэкфорда в двадцать раз больше, чем на один шаг процесса Ричардсона, прикинуть по формулам (13) и (27), при каких М преимущества метода Дугласа — Рзнфорда начинают проявляться. 9 37. Метод Федоренко В работе Р.
П. Федоренко, ЖВМ и МФ 1, № 5 (1961), предложен метод итерационного решения разностных эллиптических задач, названный им релаксационным. Для уменьшения нормы первоначальной погрешности в е раз этот метод требует всего сМз арифметических действий, где М вЂ” число шагов сетки по одному направлению, а с — некоторая постоянная, не зависящая от М. Напомним, что наиболее быстросходящийся среди рассмотренных выше (и вообще всех других известных) методов — метод Дугласа — Рэкфорда — требует для той же цели 0((1п М)М') арифметических действий.
Границы применимости метода Федоренко почти такие же, как у простейшего метода установления. Дополнительным ограничением является требование «плавности», «гладкости» первых собственных функций, которое для эллиптических задач обычно выполнено. В простых примерах экономия машинного времени по сравнению с лучшими в смысле скорости сходимости другими итерационными методами убедительно подтверждается уже при М = 50. Надо иметь в виду, что логика организации расчета релаксационным методом существенно сложнее, как мы увидим, чем логика расчета, скажем, по схеме Ричардсона. Поэтому машинное время существенно зависит от качества программы.
Простейшая оценка скорости сходимости (для разностной аппроксимации уравнения Пуассона в квадратной области на квадратной сетке при заданных значениях решения на границе) была получена Р. П. Федоренко, ЖВМ и МФ 4, )чя 3 (1964). В работе Н. С. Бахвалова, ЖВМ и МФ 6, № 5 (!966), исследована сходимость метода Федоренко и был получен тот же результат для разностного аналога первой краевой задачи в прямоугольнике для общего эллиптического уравнения с гладкими коэффициентами д д'и дзи ди ди ан — +2а з — + а„— + а, — + а,— + аи =)о. дх' дх др ду' дх др Наконец, Г. П. Астраханцев, ЖВМ и МФ 11, № 2 (1971), получил аналогичный результат для разностной аппроксимации третьей краевой задачи для самосопряженного эллиптического уравнения в произвольной двумерной области с гладкой границей.
11* эллиптические задачи 324 !Гп. и Обоснования довольно громоздки, поэтому мы ограничимся качественным описанием идеи метода и самого алгоритма Федоренко, отсылая за доказательствами к оригинальным работам и обзорной статье Р. П. Федоренко, УМН 28, в. 2 (1973). 1. Идея метода. При решении итерациями задачи Лапши — ф(хт Уп) О, т, п=!, 2, ..., М вЂ” 1, игпи (г = 1Р (зтп) будем отправляться от простейшего процесса установления (4) 6 35 ижп = ий + т ХЛаитп 'Р (хт Уп)) который а целом сходится очень медленно, но неравномерно иа различных гармониках.
Погрешность еп = и" — и в соответствии с (!0) 6 35 записы- вается в виде конечного ряда Фурье М вЂ” 1 В'= 2". (Х„(т))РС,",ф/г а! (3) г.а 1 Х =Х =1 — 8тМ-", лпа М вЂ” 1. М вЂ” 1 Х =Х = 1 — 2п'т. прав 1,1 Положим 3 16Ма ' (4) Если при этом условии хотя бы одно из чисел г илп з больше, чем М/2, то (Х,а( ( 0,6. (5) Поэтому вклад высокочастотных гармоник фо '1, г ) М/2 или з ) М/2 в погрешность (3) за один шаг итерационного процесса уменьшается почти вдвое и вскоре становится малым. После нескольких итераций по форлгуле (2) погрешность еп будет существенно содержать только гладкую компоненту (гармоники фи '1, г ( М/2, з ( М/2), потому что низкочастотные гармоники ф!' *1 умножаются на числа Хго которые ближе к единице.
Очек~ медленно гасится вклад первой гармоники фп '1: прн сделанном выборе т зп' Х,, =1 — — (= !). 85П (6) Обозначим полученное в процессе итераций (2) приближение ир через У, а погрешность ер = и" — и = У вЂ” и через о. Если бы мы знали погрешность и, то нашли бы искомое решение и = У вЂ” о. Однако относительно о мы знаем только, что оно удовлетворяет уравнечию Лап=К, и )г — — О, (т) где с, — коэффициенты разложения погрешности в = и — и нулевого прии а пг , пз ближения, Х = 1 — 4тМ' ~з!па — + з!п' — ).
Числа Х лежат на от'г' ' Х 2М 2М)' 'га резке Хлев ~ Х ~ Хпраа где метод Федоренко 4 371 325 где 3 — известная сеточная функция — это невязка, возникающая при подстановке иэ = (7 в уравнение (1): $ = Лли — ф = Лэи — Ли" = Лл (и — и) = Лип. Р Р Р Задача (7) для определения поправки о проще исходной задачи (1) лишь в том отношении, что относительно о заранее известно, что это гладкая сеточная функция. Поэтому для определения о вместо задачи (7) лможно приближенно рассматривать такую же задачу иа вдвое более крупной сетке, которая (при четном М) является подсеткой исходной сетки; Лзьп'= в*, п*(Р« = О.
(1*) Звездочкой мы обозначили велийнны на >крупненной сетке. Задачу (1*) решаем итерациями по формулам (о ) =(и ) +т (уьзь(о ) (2*) с',.)"'1,. = приняв за нулевое приближенве (и ч) О. Здесь М' = М/2, к" = >а 3 = 4т. 16 (М")з Каждый шаг итераций (2') вчетверо менее трудоемок, чем шаг итераций (2), потому что расчетных точек вчетверо меньше. Кроме того, благодаря т' = 4т быстрее происходит погашение самой медленно убывающей компоненты ошибки. В соответстваи с (6) 3пз Злз Л =1 — „=1 — 4 — < Л~ 1 1 8 (М")' 8М' и для погашения вклада фн и в е раз нужно вчетнеро меньше итераций. Результат итераций по формуле (2*) обозначим У'.
Проинтерполируем У* на исходи>ю сетку (линейно). Гладкие компоненты будут получены почти правильно. Возникающая при интерполяции погрешность будет относительно нитерполируемой гладкой функции мала, но ее фурье-разложение будет содержать все гармоники (погрешность интерполяции негладная из-за изломов в узлах нитерполяпии). Кроме того, негладкая компонента У*, не имеющая отношения к искомой поправке, при интерполяции тоже дает случайный вклад в негладкую составляющую полученной при интерполяции функции У. Итак, гладкая компонента разности (à — У близка к гладкой компоненте искомого решения и = (7 — о, но негладкая компонента не очень мала н носит случайный характер.
Поэтому следует проделать еще несколько шагов исходного итерационного процесса (2), приняв (7 — )Г за начальное приближение. Это быстро погасит привнесенную при интерполяции негладкую составляющую погрешности, ноторую итерации (2) гасят почти вдвое за один шаг. 2. Описание алгоритма. Ускорение сходимости, достигнутое за счет использования укрупненной сетки и итерационного процесса (2*), может окаэатьсл недостаточным. Прв большом М (мелкой сетке) задача (1*) на укрупненной сетке асе еще трудоемка. Поэтому при ее решении в свою очередь целесообразно проделать еще одно укрупнение сетки вдвое, при решении задачи на вчетверо укрупненной сетке снова использовать процесс удвоения сетки и увеличения т и т. д.
В экспериментах Р. П федоренко сетка укрупняетси не вдвое, а втрое. При М яэ 100 оказывается достаточным двух укр>пнеиий. Будем считать для простоты, что М = 2ь, т. и. М является некоторой степенью двойки. эллиптичпскии элллчи (гл. !г На исходной сетке делаем несколько шагов итераций (2), чтобы «выгладить» погрешность. Погрешность нам неизвестна, поэтому можно следить эа этим по невязке Льи» вЂ” ф, которая тоже выглаживается. Результат вычислений У и» запоминаем. Затем для поправки и рассматриваем задачу на укрупненной сетке, делаем несколько итераций (2*), чтобы выгладить «поправку к поправке» и результат Р* запоминаем (он занимает вчетверо меньше места в памяти, чем (!).
Для вычисления поправки к Р* рассматриваем задачу на еше вдвое укрупненной сетке, делаем несколько итераций с шагом т«« = 4«* = !бт и запоминаем результат Р"*. Этот процесс вычисления поправок к поправкам на вдвое укрупненных сетках продолжаем й раз, пока не дойдем до самой крупной сетки и поправки Рм»и Затем начинаем возврашение на мелную сетку. Сначала с самой крупной сетки интерполируем полученную там последнюю поправку Рым на сетку вдвое более мелкую, вносил эту проинтерполированную поправку в Рнь и») н делаем несколько итераций, чтобы погасить привнесенную при интерполяции ошибку.
Результат этих итераций интерполируем на еше вдвое более мелкую сетку, уточняем с его помощью хранящуюся для этой сетки поправку Риь-э>»>, делаем несколько итераций и производим следующую интерполяцию. На предпоследнем шаге после внесения в Р* поправки и итераций получим по- поправку Р; которую интерполируем на исходную сетку.
Проделав несколько итераций (2) над У вЂ” )', получим результат. ГЛАВА 12 ПОНЯТИЕ О ВАРИАЦИОННО-РАЗНОСТНЫХ И ПРОЕКЦИОННО-РАЗНОСТНЫХ СХЕМАХ В этой главе мы изложим способ построения разностных схсм, основанный на использовании той или иной вариационной или проекционной постановки краевой задачи, решение которой требуется численно найти. Этот способ, называемый иногда методом конечных элементов, позволяет строить пригодные разностные схемы на нерегулярных сетках, а также при меньших предположениях о гладкости искомого решения и коэффициентов уравнения.
Благодаря появляющейся свободе в выборе сеток узлы можно располагать гуще в тех частях области определения искомого решения, где решение ведет себя более сложно илн где нас интересуют более мелкие детали его поведения. Возможность целесообразно располагать узлы позволяет достигать требуемой точности при меньшем числе узлов сетки. Метод конечных элементов можно интерпретировать как одну из возможных конкретизаций классических вариационных методов решения краевых задач.
Поэтому мы сначала (ф 38) расскажем о классических вариацнонном и проекционном методах, а затем ($39) о варнационно-разностных схемах. 3 38. Вариациоиные и проекционные глетоды Е Вариациониая постановка краевых задач. Многие дифференциальные краевые задачи математической физики допускают естественные вариационные постановки. Мы ограничимся рассмотрением двух простых примеров таких задач и их вариационных постановок, иллюстрирующих, однако, суть дела.