Дьяченко В.Ф. Основные понятия вычислительной математики (1185904), страница 13
Текст из файла (страница 13)
Поатому т итераций эквивалентны некоторой явной схеме, использующей 2т+ 1 значений и-го слоя. Для устойчивости последней, как всегда, необходимо выполнение некоторого неравенства вида — < сопэФ, (ть)1 т. е. г ' сопел.т». Таким образом, необходимое число итераций т — у' г. Мы видим, что при небольших г итерационные методы могут оказаться вполне удовлетворительными и даже конкурировать с методом прогонки, поскольку позволяют разделить вычислительный процесс на несколько парал- лельных ветвей и не требуют запоминания больших массивов коэффициентов прогонки Л, лт. Иногда целесообразно комбинировать оба метода, применяя прогонку на отдельных участках и «склеивая» их итерациями.
Наконец, последнее замечание. Мы исследовали только случай линейных разностных уравнений. Если для итерационных методов это не является ограничением, то метод прогонки использует линейность уравнений по существу. Для решения нелинейных уравнений никаких методов, кроме итерационных, нет. Однако итерации можно делать по-разному. Выше мы рассмотрели явный алгоритм типа ио"') = гр (и(")). При больших г он оказывается медленно сходящимся, из-за необходимости учета области зависимости решения. Последняя определяется свойствами задачи, которые в значительной степени проявляются уже в ее линейной модели. Обладая столь эффективным средством, как метод прогонки,мы можем при построении итерационного процесса использовать неявные, но линейные алгоритмы, сводя задачу к решению, на каждой итерации, линейной системы.
Это должно дать быстро сходящийся процесс. Пусть, например, в рассмотренной выше задаче коэффициент а зависит от искомой функции, а = а (с)). Конечно, можно, при аппроксимации аадачи разностной, брать а (ие), но допустим, что это по каким-то причинам нас не устраивает и мы испольвуем а (и""). Тогда система разностных уравнений (19») оказывается нелинейной, г = г (и»). Естественно положить г = г (и«" ) и, решая и) линейную систему ()91) методом прогонки, получать 1~+1) и» ). Если в качестве начального приближения использовать иг = и„, то скорость сходимости втерацион(е) е ного процесса, и~~,") -ь и~~', будет определяться величиной фактического изменения решения от слоя к слою.
Задачи 1. Оценить порядок количества арифметических операций, необходимого для решения системы Л линеиных уравнений общего вида методом исключения. 2. Если задан способ решения системы уравнений, возникающей при использовании неявной схемы, то тем самым определен оператор перехода от слоя к слою, и мы можем интерпретировать схему как явную, записав ее в виде Во»~ )) (оч + т)е) Используя устойчивость вадачи, т. е. условие ограниченности степеней оператора В, )(В" )( ~( сопз(, исследовать поведение ошибок, возникающих в влы иа-за округления правой части, при возрастании л, лт(( 3. Исследовать разностную задачу влы,льг "о л л=1,2,..., К, ел + 1 л л л + 1 л л + "г-) =О, т л хлн лей = где га, означает, что это значение соответствует точке х аыя = (й+ Чз)й.
Применить метод прогонки, используя соотношение вида ла-г = ь(аа я+Ма или ла-г = гала+Ма. Проверить вычислительную корректность алгоритма относительно ошибок округления. Построить аналогичную схему для решения нелинейной задачи на интервале 0 ~ х ~ Х, на краях которого ваданы граничные условия и (д О) = х ((), у (г, Х) = О ((). 4.
Пусть при проведении рассмотренного выше процесса (201) (г) () л л(з"ь() = а ~ "+) ", Й =О, ~1,..., 1+ 2г мы ограничиваемся Л итерациями, т. е. и"+г = л(а'), л(е) = л'„' (для простоты отбросим граничные условия). Проверить, что полученная разностная схема устойчива для любых г и Л'. Доказать, что ошибка аппроксимации пропорциональна ве- личине (1 + 2г) 87 + =О, ди дР (р) дг дх д(г ди + =О, дг дх и(о, ) =и,(х), (г(0, х) = 1'е(х) Длн этого положить „() а(ч) ) ям) й+ с( )(3+ а' 2 где, очевидно, а(о) аэ ь(о) (и ~~ с(е) (в )о «а 01 и найти а(~) с помощью формулы итерациопного процесса.
Так каи то, виая а(~), легко определить ошибку аппроксимации. ГЛАВА П1 5 10. РАСЧЕТ РАЗРЫВНЫХ РЕШЕНИЙ Во всех предыдущих рассмотрениях мы предполагали, что точное решение исходной задачи есть гладкая функция. При исследовании аппроксимации, при построении линейных моделей задач мы существенно испольэовали это допущение. Для дифференциальных задач оно естественно, так как, по самому смыслу решения, оно должно иметь хотя бы те производные, которые входят в уравнения. Наличие в решении каких-либо особенностей, нарушающих гладкость, требует дополнительного исследования и, при необходимости, соответствующего видоизменения метода. Ничего более определенного сказать нельзя, так как каждая особенность особенна по-своему.
Здесь мы ограничимся изучением этого вопроса только для одного практически важного случая, когда решение является кусочно-гладкой функцией, имеющей разрывы. Обратимся к примеру — + У я — — Ю, У(О, л) = Уе(х). (203) Если решение У (г, л) — гладкая функция, то это наша старая, хорошо изученная аадача. Однако в некоторых случаях требования гладкости и существования решения могут оказаться исключающими друг друга. Так, решение задачи (203), очевидно, удовлетворяет системе ли — =Ю, нь т. е. постоянно вдоль прямых яе + Пе (ле) ь 5 в.
Ф. дьяченко вз Этв линии называют характеристиками — вдоль них уравнения задачи вырождаются в соотношения между дифференциалами функции (или функций). Наклон каждой характеристики в нашей задаче определяется значением функцииУэ (х) в точке кз — точке пересечения данной характеристики с линией начальных данных 8 = 0 (рис. 12). Нетрудно видеть, что в г (з,1 случае, если У, (х) хотя б б' бы на небольшом участке 11 оси к будет убывающей Ф функцией, то характери- стики, исходящие из то,т чек этого участка, пересе- кутся. Поскольку каждая Рве. 12.
из них приносит свое, независимое, значение функции, то это приведет к неоднозначности решения в точке пересечения. Выход из положения подсказывается задачами, описывающими реальные физические процессы (гидродинамика). Ои заключается в допущении разрывных решений. В частности, указанная неоднозначность будет свидетельствовать о возникновении разрыва. Но если мы допускаем разрыв в решении, то, поскольку в точке разрыва производные не определены и дифференциальные уравнения теряют смысл, мыдолжны заменить последние конечными соотношениями, которые свяжут значения функции по обе стороны разрыва. Если продолжить аналогию с гидродинамическими задачами, то следует предположить, что эти соотношения должны выражать для разрывных решений те же физические законы, что и дифференциальные уравнения — для гладких.
Формально-математическая процедура получения их выглядит следующим образом. Пусть П (х, )) — гладкая функция, удовлетворяющая з некоторой области плоскости х, 1 уравнению (203). Проинтегрируем (203) по любой части Я этой области. Легко получить, что где последний, криволинейный, интеграл берется по контуру à — границе Я. Следовательно, если У (х, г) — решение (203), то ~ГГдх ~™ Ф 0 (204) г где Лх, Лг — стороны прямоугольника.
При стягивании прямоугольника в точку отношение Лх/ЛГ стремится к Х' (г) и последнее равенство в пределе дает (У' — Гг ) Х' = ( — ) — (-~-) . (205) Как мы видели выше, пересечение характеристик и возникновение разрыва происходит лишь при ГГ ) У . Можно покавать, что только такие (для нашей задачи) разрывы могут существовать. Сокращая (205) на ГГ+ — У и дополняя его укааанным неравенством, получим 2 гг +у~ (206) для любого контура Г. При использовании (204) вместо (203) мы можем не требовать от функции У (х, г) ни гладкости, ни непрерывности.
Поэтому для получения соотношений на разрыве следует испольэовать именно его. Будем рассуждать так. Разрыв в решении, воз- а-х(г) никнув, затем перемещается, описывая в плоскости х, 8 некоторую кривую х = Х (г). Рассмотрим Рвс. $3. маленький элемент атой кривой и построим на нем как на диагонали прямоугольный контур Г (рис. 13).
Поскольку прямоугольник мал, то в каждой из его половин можно считать функцию У постоянной и равной У вЂ” слева, У+ — справа. Вычисляя интеграл (204) для такого контура, получаем Это соотношение между У, У+ и Х' заменяет на линии разрыва х = Х (0 дифференциальное уравнение (203). Итак, расширим постановку задачи (203) и допустим наличие разрывов на некоторых линиях х = Х (г), удовлетворяющих соотношениям (206). Перейдем к конструированию численного метода решения задачи (203), (206).
Самым естественным представляется просто использование рассмотренных ранее методов с соответствующей модификацией их лишь в непосредственной окрестности линий разрыва. Это не составляет проблемы, во всяком случае для нашей простой задачи, однако имеет ряд неудобств. Нестандартные формулы для расчета величин на линии разрыва и в ближайших к ней точках должны учитывать все возможные случаи расположения этой линии относительно точек основной сетки. Броме того, нужно рассчитывать на воэможность возник«овения разрыва и, следовательно, проверять получаемое решение соответствующим образом (во всех расчетных точках). Ясно, что это намного увеличивает объем вычислительного алгоритма, он теряет свою простоту и компактность, по существу, из-эа ничтожно малого количества расчетных точек.
В связи с этим часто предпочитают другой путь построения расчетных формул, к описанию которого мы и перейдем. С точки зрения разностной задачи понятие разрывности решения формально лишено смысла, поскольку сеточная функция определяется на дискретном множестве точек — расчетной сетке. С другой стороны, как мы видели, условие на разрыве (206) является следствием дифференциального уравнения (203) и, следовательно, «содержится» в нем. Из теории дифференциальных уравнений известно, что разрывное решение можно получить как предел гладкого решения возмущенного уравнения при стремлении параметра возмущения к нулю. Этот факт мы можем использовать, так как, применяя тот илн иной численный метод, мы всегда заменяем исходную задачу другой — разностной, возмущенной задачей. Будем осуществлять аппроксимацию в два этапа.