Авторы: А.С. Холодов, А.И. Лобанов, А.В. Евдокимов |
А.С. Холодов, А.И. Лобанов, А.В. Евдокимов
РАЗНОСТНЫЕ СХЕМЫ ДЛЯ РЕШЕНИЯ ЖЕСТКИХ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Предисловие Данная книга написана на основе конспекта односеместрового курса лекций, под несколько иным названием читаемого на факультетах управления и прикладной математики (ФУПМ) и аэрофизики и космических исследований (ФАКИ) Московского физико-технического института (на ФУПМ с 1985 года). Лекции поддерживаются лабораторным практикумом из 8 работ по соответствующим разделам курса. В общем “вычислительном” образовании студентов ФУПМ эти лекции стоят между вводным курсом вычислительной математики (в объеме книг [1,2]) и фундаментальным курсом теории разностных схем (в объеме книги [3]). Это обстоятельство, а также естественное желание возможно большего охвата идей и конкретных разностных схем из всего огромного числа разработанных к настоящему времени, определило содержание и характер изложения материала данного курса. В качестве основного подхода к построению разностных схем для простейших (модельных) уравнений принят известный метод неопределенных коэффициентов (позволяющий рассматривать достаточно обширные семейства схем), дополненный анализом этих семейств в пространстве неопределенных коэффициентов. Анализ разностных схем в пространстве коэффициентов (предложенный в [4]) оказался достаточно универсальным и весьма конструктивным средством не только для качественного сравнения различных схем (типа: устойчива – неустойчива, монотонна – немонотонна, первого – второго порядка аппроксимации и т.п.) но, в определенном смысле, и количественного их сопоставления (например, в смысле “расстояния” между схемами в пространстве неопределенных коэффициентов, если принять достаточно естественную гипотезу о том, что близкие в таком пространстве схемы близки и по своим свойствам). Поскольку курс в целом ориентирован на методы решения нелинейных дифференциальных уравнений, характерной чертой которых являются разрывные решения, области больших градиентов (“пограничные слои”) и т.п., достаточно большое внимание уделено построению монотонных (мажорантных) схем. При переходе от модельных уравнений к линейным системам и нелинейным уравнениям в курсе активно используются характеристические свойства уравнений гиперболического типа и аналогичные методы расщепления для других типов уравнений, интегро-интерполяционный метод (метод интегрального тождества) и другие эффективные способы обобщения схем с сохранением заложенных в модельные схемы свойств. Численное интегрирование жестких систем обыкновенных дифференциальных уравнений (ОДУ) Жесткие ОДУ Линейные однородные уравнения первого порядкаРассмотрим вначале простейшее уравнение (1) на отрезке (2) и задачу Коши для (1) u(0) = u 0 (3) Решение (1)-(3), очевидно, (4) Если , имеем неограниченное (неустойчивое) решение (рис. 1 .1).
В этом случае нет ничего, что могло бы в аналогичных, но более сложных случаях (нелинейные системы) облегчить жизнь вычислителю. Надо интегрировать (1) с шагом по времени, обеспечивающим необходимую точность до тех пор, пока это возможно. Если , то решение задачи (1)-(3) ограниченное ( ). С точки зрения вычислителя важна величина отрезка интегрирования T . Если , то имеем обычную ситуацию (рис. 1 .2), можно пользоваться стандартными методами численного интегрирования (Эйлера, Эйлера–Коши, Рунге–Кутты, Адамса и т.д.). Если , то имеем решение типа “пограничного слоя” (рис. 1 .3) с резким изменением u на малом (в масштабе T ) отрезке [0,T 0 ] . В аналогичных, но более сложных ситуациях (когда положение “пограничного слоя” заранее неизвестно и т.д.) при численном интегрировании возникают осложнения, которые и будут рассмотрены позднее. Основная идея заключается в том, чтобы численный метод обеспечивал качественно правильное поведение численного решения на участке “пограничного слоя” (при ), т.е. быстрое затухание, и возможно точнее воспроизводил решение на основном участке интегрирования (вне “пограничного слоя”). Системы линейных однородных уравненийПусть имеется J уравнений (1) j = 1,…,J (5) с начальными условиями . Если обозначить , и перейти к векторной форме , (6) то, сделав замену , где , т.е. полагая , получим вместо (6) однородную линейную систему ОДУ . (7) Так как , то или . Наоборот, если задана система (7), то умножая ее скалярно J раз на левые собственные векторы матрицы A , определяемые, как это следует из (7), с точностью до их длины, из J линейных однородных систем или (8) приходим к эквивалентной (7) совокупности уравнений (5), связанных друг с другом только через начальные условия v(0) = v 0 или . (9) Здесь – собственные значения матрицы A , т.е. корни характеристического уравнения , (10) – многочлен степени J . Решение каждого из уравнений (5) имеет вид (4), т.е. , а значит, решение задачи Коши (7),(9) есть , т.е. является линейной комбинацией экспонент (если все действительны) или имеет более сложный характер с присутствием гармонических составляющих (если среди будут комплексно-сопряженные корни уравнения (10)). Пример: задача Коши для линейного однородного уравнения второго порядка, , ( , a, b – константы). Обозначим и введем вектор , тогда , или, в векторной форме, , , где – собственные значения матрицы A из (10): , . При |a|~|b|~1 , приближенно имеем , ; , . Далее, из (8) , , при . Тогда, учитывая, что , получаем: , . Если оба действительны, то имеем комбинацию двух экспонент, затухающих при ? 1 <0 и ? 2 <0. Если ? 1 = ? + i ? , ? 2 = ? – i ? , то u ( t ) = e ?t {[( u 1 – ?u 0 ) sin ( ?t )]/ ? + u 0 cos ( ?t )} , и на экспоненту e ?t накладываются гармонические колебания с периодом T * ~1/ ? , т.е. характер поведения решения определяется собственными значениями матрицы A . В общем случае можно выделить следующие четыре характерных ситуации:
Случай А не доставляет вычислителю никаких хлопот, проходят стандартные методы (явные схемы Рунге–Кутты, Адамса т.п.), уже изучавшиеся в курсе вычислительной математики. Случай Б практически безнадежен (неустойчивые по Ляпунову системы ОДУ). Случай В довольно часто встречается на практике и для него, в принципе, есть специальные методы, основанные на осреднении быстроосциллирующих гармоник (методы осреднения и т.п.). Случай Г мы и будем рассматривать (жесткие системы ОДУ). Для матрицы A большой размерности найти все собственные числа (полная спектральная задача) не очень просто из-за ее плохой обусловленности. Действительно, для жесткой системы число обусловленности матрицы A (11) или, приближенно, || A ||Т >>1, и отсюда идут все неприятности. Здесь и в дальнейшем || · || – норма матрицы. Нелинейные жесткие уравненияРассмотрим одно сингулярно возмущенное уравнение , , , , (12) В случае если предельное (вырожденное) уравнение (12) при при каждом значении t имеет единственное решение , (13) и в окрестности этого предельного решения , (условие устойчивости решений (12)), имеем ситуацию, изображенную на рис. 1 .5. Аналогичная ситуация была и в примере 1.1.3 при малых (в том случае предельное уравнение было ). Как и в линейном случае, поведение решения разделяется на два характерных участка: пограничный слой для малых (его длина ), и близкое к предельному решению (13) поведение при . Обычно определяемый “физикой задачи” участок интегрирования . Рис. 1 .5. Поле решений уравнения (12) Пример: сингулярно возмущенная нелинейная система второго порядкаРассмотрим следующую автономную (правая часть не зависит от времени) систему двух нелинейных уравнений: , , , , , , . (14) Убедимся, что система жесткая. Записав (14) в векторной форме u={x,y} , , , имеем: или . Если мало, то , . Видно, что , при , поэтому ? 2 называют нормальной частью спектра, а ? 1 – жесткой частью спектра. Предельное уравнение: или , , . (15) В случае уравнения Ван дер Поля ; (16) (которое важно во многих приложениях, например, в радиотехнике), получаем предельное уравнение и поле решений в фазовой плоскости, изображённое на рис. 1 .6. Рис. 1 .6. Поле решений уравнения Ван дер Поля Вдали от линии имеем почти горизонтальное поле направлений , на самой линии выделяются две устойчивые ветви AB и CD и одна неустойчивая ветвь BC . При любых начальных значениях траектория этой системы – замкнутая кривая BB?CC? . 1) На участке траектория почти горизонтальна и приближенно определяется уравнениями: , , (17) (пограничный слой). 2) При и система описывается предельными уравнениями (16) (квазистационарный режим вплоть до точки B ). Если и после т. B пользоваться предельными уравнениями (16), то мы бы двигались по BC . Но реальная система на этом участке неустойчива и система сходит с этой ветви на ветвь DB?C . На этом участке и решение определяется поведением . 3) Опять пограничный слой (17) при , за ним квазистационарное движение на участке B?C при , пограничный слой и т.д. (все повторяется). Рис. 1 .7. Компоненты решения уравнения Произвольная система нелинейных уравненийВ случае задачи Коши для общей системы нелинейных уравнений , , , , (18) поведение ее решения вблизи некоторой точки определяется матрицей Якоби A . Определение 1 . 1 . Система называется жесткой, если для всех t,v (т.е. на решениях (18)), собственные значения матрицы A удовлетворяют условиям: , , , . (т.е. расположены как на рис. 1 .4Г). Для оценки можно взять легко вычисляемую величину нормы матрицы A , для оценки – величину следа матрицы ; можно заменить на величину 1/Т, определяемую обычно из физики задачи. То есть простейшим критерием жесткости системы могут служить неравенства Т || A ||>>1, Sр( A )<<–1 (иногда ограничиваются даже одним условием (11)), однако надежных простых способов нет, и поэтому нужны численные методы, работающие без проверок на жесткость. Примеры простейших разностных схем для жестких ОДУ Способы построения схемПри численном решении задачи (18) с помощью разностных схем в некоторой последовательности точек вычисляются значения . Способов вычисления (разностных схем) изобретено множество, однако, не очень сильно отличаясь по качеству получаемого численного решения в стандартном случае (рис. 1 .4А), далеко не все из них пригодны для расчета жестких систем ОДУ (рис. 1 .4Г). В идейном плане можно выделить три основных подхода к их построению. (19) Вводя расширенный искомый вектор u={v,w}, получаем для него уравнение u t = B(t,v)u + r(t,v) , где ( r = 0, если f явно не зависит от t , т.е. в случае автономной системы). Увеличивая размерность u (т.е. вычисляя в точках t= t n не только v , v t = f , но и и т.д.), этот процесс можно продолжить (конечно, если f задается аналитически и соответствующие производные от f не очень громоздки). Всевозможные гибриды из 1 , 2 , 3 и ряд других подходов. Требования к численным методам решения жёстких систем ОДУКаким же условиям должны удовлетворять разностные схемы для решения жестких систем? Разберем на примере системы (14) два простейших метода – явный и неявный методы ломаных, называемые также схемами Эйлера. На участке пограничного слоя (его протяженность ) для воспроизведения решения пригоден практически любой обеспечивающий необходимую точность численный метод с шагом . Например, даже для явной схемы Эйлера в линейном случае (7) имеем из условия устойчивости . Для примера (14),(16) (уравнение Ван дер Поля) , что не является здесь обременительным. Общее число шагов по времени ~10?100 тоже вполне приемлемо. Однако это ограничение на шаг интегрирования действует и на участках квазистационарного решения (С?B, B?C) и для прохождения таких участков потребуется уже шагов! А это уже неприемлемо при очень малых . Возможный выход – переход к решению предельной системы (15), в которой уже не фигурирует, а условие устойчивости (конечно, линеаризованное, т.е. действующее в небольшой окрестности кривой C?BB?CC?) или вполне приемлемо. При численном решении на участках С?B и BС? полной системы (14), (16) хорошо работает неявный метод Эйлера Для решения получающейся на каждом шаге по t нелинейной относительно v n+1 системы используется какой-либо итерационный метод (например, метод Ньютона). В случае линейной системы (7) в неявном методе Эйлера (20) условие устойчивости выполняется для любых при . Поэтому при использовании метода (20) для задачи (14),(16) на участках С?B, BС? нет проблем, исключая, конечно, тот факт, что матрица A плохо обусловлена для жестких систем и при обращении матрицы ( E – A ) могут возникнуть трудности при больших . Проведённый анализ показывает, (да и просто по графику x(t) на рис. 1 .7 видно), что шаг интегрирования на разных участках следует выбирать разным , и численный метод должен позволять это делать достаточно просто. Это первая характерная особенность жестких систем. То есть надо уметь предсказывать момент появления пограничных слоев, а это определяется собственными значениями матрицы Якоби. Отметим также, что в неявном методе Эйлера для системы (14) , , т.е. приближенно мы как бы решаем предельную систему (15), так как . Менять шаг интегрирования в процессе счета можно, но далеко не всегда нас интересует детальное поведение решения в пределах пограничного слоя. В таких случаях можно брать и по неявной схеме проходить пограничный слой за один шаг по времени. Посмотрим еще, что будет происходить в неявной схеме вблизи точки B (или С) на примере уравнения Ван дер Поля (14), (16). Имеем: , . Вблизи точки B с координатами {x n ,y n } имеем , т.е. кубическое относительно искомого x n+1 уравнение, решения которого изображены на рис. 1 .8. Рис. 1 .8. К алгоритму расчёта уравнения Ван дер Поля по неявной схеме Эйлера Выбор в итерационном методе в качестве начального приближения {x n ,y n } при решении этого кубического уравнения может не дать сходимости. Это следствие вырождения исходной системы (14), и за этим надо следить (варьируя и т.п.). Например, задается некоторая точность сходимости итерационного процесса и минимально ( m ) и максимально ( M ) допустимые числа итераций. Если за M итераций процесс не сходится, уменьшают, если сходится за меньшее, чем m число итераций, то увеличивают и т.д. Далее>>вернуться к оглавлению |