Главная > Математика > Вычислительные методы для инженеров
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 15.2. Метод конечных разностей: основные понятия

Метод конечных разностей (или метод сеток) является одним из универсальных и широко используемых методов решения краевых задач. Его популярность во многом объясняется относительной простотой подхода к дискретизации дифференциальных уравнений. Суть метода состоит в следующем. Область непрерывного изменения аргумента заменяют конечным (дискретным) множеством точек (узлов), называемым сеткой. Вместо функций непрерывного аргумента рассматривают функции, определенные только в узлах сетки, — сеточные

функции. Производные, которые входят в дифференциальное уравнение и краевые условия, заменяют их разностными аналогами — линейными комбинациями значений сеточных функций в некоторых узлах сетки. В результате краевую задачу заменяют дискретной краевой задачей (разностной схемой), представляющей собой систему конечного числа линейных или нелинейных алгебраических уравнений. Решение разностной схемы (предполагается, что оно существует) принимают за приближенное решение краевой задачи.

Несмотря на кажущуюся простоту метода, при его использовании приходится решать ряд проблем. Например, следует иметь в виду, что для одной краевой задачи можно построить большое число различных разностных схем, среди которых далеко не все пригодны для использования на практике.

В этом параграфе мы покажем, как применяется разностный метод для решения краевой задачи (15 3), (15.4), ограничиваясь для простоты изложения случаем уравнения с постоянным коэффициентом . В этом случае краевая задача принимает вид

1. Построение сетки и введение сеточных функций.

Произведем дискретизацию области непрерывного изменения аргумента х, заменив отрезок сеткой конечным набором точек (рис. 15.1). Точки х, называются узлами сетки

Рис. 15.1

Для простоты изложения в этом параграфе будем считать сетку равномерной с шагом Тогда для всех Заметим, что при шаг (сетка измельчается).

Сетка естественным образом разбивается здесь на два подмножества: Множество внутренних узлов состоит из тех узлов которые лежат внутри интервала Множество граничных узлов состоит из двух узлов лежащих на границе отрезка

Далее будем вычислять решение краевой задачи не в произвольных точках отрезка а только в узлах сетки Таким образом, искомой окажется не функция и, а сеточная функция Значения

этой функции в узлах будем обозначать через и рассматривать как приближения к значениям и решения задачи (15.9), (15.10). Введем также сеточные функции принимающие в узлах сетки значения

2. Построение разностной схемы.

Напомним (см. гл. 12), что производную можно аппроксимировать второй разностной производной:

с погрешностью где Используя формулу (15.11), заменим теперь в каждом из внутренних узлов дифференциальное уравнение (15.9) приближенным равенством

связывающим неизвестные значения решения в трех последовательных узлах сетки.

Потребуем теперь, чтобы значения искомой сеточной функции удовлетворяли во всех внутренних узлах сетки уравнениям (15.12), в которых знак приближенного равенства заменен на знак равенства:

В результате дифференциальное уравнение (15.9) оказалось аппроксимированным его дискретным аналогом — разностным уравнением (15.13).

Естественно потребовать, чтобы в граничных узлах сеточная функция удовлетворяла равенствам

Таким образом, мы пришли к системе линейных алгебраических уравнений (15.13), (15.14), в которой число уравнений совпадает с числом неизвестных и равно Решая эту систему (которую мы будем называть системой сеточных уравнений), можно найти сеточную функцию

Введем линейный разностный оператор с помощью равенства

и запишем систему сеточных уравнений (15.13), (15.14) в следующем виде:

Дискретную задачу (15.15), (15.16), зависящую от параметра А, принято называть разностной схемой для краевой задачи (15.9), (15.10).

3. Вычисление решения разностной схемы с помощью метода прогонки.

Приведем систему сеточных уравнений к виду

Как нетрудно видеть, эта система есть частный случай системы линейных алгебраических уравнений вида

матрица которой трехдиагональна. Здесь

Напомним, что эффективным методом решения таких систем является метод прогонки (см. § 5.9), вычисления которого состоят из двух этапов: прямого и обратного хода.

Прямой ход метода прогонки заключается в вычислении прогоночных коэффициентов При коэффициенты вычисляют по формулам

а при по рекуррентным формулам

При прямой ход завершают вычислением значения

Обратный ход метода прогонки дает значения неизвестных. Сначала полагают а затем значения остальных неизвестных находят по формуле

Вычисления ведут в порядке убывания значений индекса t от до 0.

Применительно к решению систему (15.17), (15.18) расчетные формулы метода прогонки упрощаются.

Прогоночные коэффициенты вычисляют по формулам

где

Обратный ход дает значения неизвестных (напомним, что значения известны). Для этого производят вычисления по формулам

Замечание. Очевидно, что коэффициенты (15.19) удовлетворяют неравенствам

Отсюда следует, что для системы (15.17), (15.18) выполнены условия диагонального преобладания: Поэтому в силу теоремы 5.4 вычисления по формулам (15.20) могут быть доведены до конца (ни один из знаменателей не обратится в нуль). Кроме того, обратная прогонка устойчива по входным данным.

4. Существование и единственность решения.

Согласно последнему замечанию, систему сеточных уравнений (15.17), (15.18) с помощью эквивалентных преобразований можно привести к системе вида (15.21), (15.22), из которой однозначно находятся неизвестные. Таким образом, справедлива следующая теорема.

Теорема 15.8. Решение разностной схемы (15.15), (15.16) существует и единственно.

Как будет показано ниже, разностная схема (15.15), (15.16) обладает рядом свойств, аналогичных соответствующим свойствам краевой задачи (15.9), (15.10).

5. Принцип максимума.

Как уже отмечалось ранее, важным свойством задачи (15.9), (15.10) является принцип максимума. Естественно

потребовать, чтобы и для разностной схемы был справедлив дискретный аналог этого свойства. Более того, невыполнение для разностной схемы принципа максимума можно рассматривать как серьезный дефект, ставящий под сомнение возможность ее использования на практике.

Лемма 15.1 (принцип максимума для системы сеточных уравнений). Пусть сеточная функция является решением системы сеточных уравнений

коэффициенты которой удовлетворяют условиям (15.23). Тогда если для всех то

Предположим, что неравенство не выполнено. Так как по условию значения в граничных узлах неотрицательны то максимальное значение функции положительно и достигается во внутреннем узле сетки: «щах

Пусть максимальный среди индексов для которых силу такого выбора справедливы неравенства Так как то Учитывая, что из равенства (15.24), взятого при получим следующую цепочку неравенств:

Полученное противоречие доказывает, что

Теорема 15.9 (принцип максимума). Пусть сеточная функция является решением разностной схемы (15.15), (15.16). Тогда если то

Для доказательства достаточно заметить, что коэффициенты соответствующей системы сеточных уравнений (15.17), (15.18) удовлетворяют условиям (15.23), и воспользоваться леммой 15.1.

Заметим, что произвольную сеточную функцию можно считать решением разностной схемы (15.15), (15.16), если выбрать правую часть и граничные значения специальным образом, а именно положить Учитывая это замечание, сформулируем теорему 15.9 иным образом:

Теорема 15.10. Пусть сеточная функция удовлетворяет неравенствам Тогда

Из этой теоремы вытекает следующий важный результат.

Теорема 15.11 (теорема сравнения). Пусть сеточные функции и удовлетворяют неравенствам

Тогда

Согласно условию, сеточная функция удовлетворяет неравенствам

Поэтому в силу теоремы что эквивалентно неравенству

Аналогично, удовлетворяет неравенствам

Следовательно, что эквивалентно неравенству

Итак,

6. Априорная оценка решения.

Оценим максимум модуля решения разностной схемы через данные дискретной задачи (правую часть уравнения и краевые значения). Предварительно установим справедливость двух вспомогательных утверждений.

Лемма 15.2. Для решения разностной схемы

справедлива оценка

Введем сеточную функцию Заметим, что Поэтому в силу теоремы сравнения что эквивалентно оценке Лемма 15.3. Для решения разностной схемы

справедлива оценка

Введем сеточную функцию где Заметим, что Непосредственной проверкой нетрудно убедиться в том, что Таким образом,

и поэтому в силу теоремы сравнения Так как максимум квадратичной функции достигается при и равен то и из неравенства следует оценка (15.30).

Сформулируем теперь основной результат этого пункта. Теорема 15.12. Для решения разностной схемы (15.15), (15.16) справедлива априорная оценка

Заметим, что сеточную функцию можно представить в виде суммы: где решение разностной схемы (15.25), (15.26), решение разностной схемы (15.28), (15.29). Пользуясь неравенством и оценками (15.27), (15.30), приходим к неравенству (15.31).

7. Устойчивость.

Рассмотрим вопрос о чувствительности решения разностной схемы к погрешностям задания правых частей разностных уравнений. Пусть решение разностной схемы (15.15), (15.16), а решение разностной схемы

где

Назовем разностную схему (15.15), (15.16) устойчивой, если при любых справедлива оценка

где постоянная К не зависит от Отметим, что эта оценка является аналогом оценки (15.8), справедливой для краевой задачи.

Теорема 15.13 (об устойчивости разностной схемы). Для разностной схемы (15.15), (15.16) справедлива оценка (15.34) с постоянной

Заметим, что сеточная функция и является решением разностной схемы

Применяя для оценивания теорему 15.12, приходим к неравенству (15.34).

Замечание. Значение постоянной К в неравенстве (15.34) для разностной схемы (15.15), (15.16) совпадает в силу замечания на с. 487 со значением соответствующей постоянной в неравенстве (15.8). Этот факт говорит о том, что разностная схема обладает такой же чувствительностью к ошибкам задания исходных данных, что и краевая задача.

8. Аппроксимация.

Пусть и решение дифференциального уравнения Назовем сеточную функцию погрешностью аппроксимации разностного уравнения

Из определения следует, что справедливо равенство

означающее, что функция и удовлетворяет разностному уравнению (15.35) с точностью до погрешности аппроксимации.

Сеточную функцию используют для предварительной оценки того, насколько точно аппроксимируется дифференциальное уравнение его разностным аналогом. Говорят, что разностное уравнение (15.35) аппроксимирует дифференциальное уравнение если при и аппроксимирует его с порядком (при

Лемма 15.4. Пусть коэффициенты дважды непрерывно дифференцируемы на отрезке Тогда разностное уравнение (15.15) аппроксимирует дифференциальное уравнение со вторым порядком, причем справедлива оценка

Прежде всего заметим, что в силу теоремы 15.2 функция и имеет на отрезке непрерывную производную

В силу определения погрешности аппроксимации имеем

где погрешность аппроксимации производной ее разностным аналогом по формуле (15.11). Таким образом, справедливость оценки (15.37) установлена.

В общем случае дополнительно возникает проблема изучения погрешности аппроксимации краевых условий. Однако для краевых условий (15.10) эта проблема отсутствует, так как сеточная функция удовлетворяет им точно.

9. Сходимость.

Пусть и решение краевой задачи, а — решение соответствующей разностной схемы. Назовем погрешностью разностной схемы сеточную функцию принимающую значения в узлах сетки

Будем говорить, что разностная схема сходится при если при и сходится с порядком точности (при если для погрешности справедлива оценка где С некоторая постоянная, не зависящая от А.

Покажем, что разностная схема (15.15), (15.16) сходится со вторым порядком точности.

Теорема 15.14. Пусть функции дважды непрерывно дифференцируемы на отрезке Тогда для погрешности разностной схемы (15.15), (15.16) справедлива оценка

где

Введем сеточную функцию значения которой в узлах сетки совпадают с точными значениями решения краевой задачи, т. е. Равенство (15.36) означает, что можно рассматривать как решение разностной схемы (15.32), (15.33), где . В силу теоремы 15.13 для справедлива оценка

Учитывая теперь неравенство (15.37), из (15.39) получаем оценку (15.38).

Замечание. Сходимость разностной схемы (15.15), (15.16) со вторым порядком точности вытекает из того, что схема устойчива и обладает аппроксимацией со вторым порядком относительно А.

10. Оценка погрешности по правилу Рунге.

Полученная в теореме 15.14 априорная оценка (15.38), как правило, оказывается непригодной для практической оценки погрешности разностной схемы. На практике чаще применяются апостериорные оценки погрешности, использующие расчеты на сгущающихся сетках. Пусть, например, и решения разностной схемы (15.15), (15.16), соответствующие шагам Тогда в соответствии с правилом Рунге при определенных условиях справедлива приближенная формула

Отметим, что она применима только в узлах сетки т. е. там, где определены обе сеточные функции

Пример 15.1. Используя разностную схему (15.15), (15.16) с шагом найдем приближенное решение краевой задачи

и оценим его погрешность по правилу Рунге. Вычисления будем вести с шестью значащими цифрами.

В данном случае и система сеточных уравнений (15.17), (15.18) примет вид

При приходим к следующей системе уравнений относительно неизвестных

Решая ее с помощью метода прогонки, находим значения, представленные в столбце табл. 15.1. Заметим, что в данном случае точное решение задачи известно: и Значения точного решения и вычисленные с их использованием погрешности приведены во столбцах той же таблицы.

Таблица 15.1 (см. скан)

Оценим теперь погрешность, используя правило Рунге. Возьмем шаг Решая соответствующую систему сеточных уравнений:

получаем значения, представленные в столбце табл. 15.1. В последнем столбце этой таблицы даны приближенные значения погрешности, полученные по формуле (15.40). Заметим, что в данном примере правило Рунге дает весьма хорошие результаты.

11. Влияние вычислительной погрешности.

При расчетах с достаточно крупными шагами влиянием вычислительной погрешности на решение часто можно пренебречь. Однако все же следует иметь в виду, что при решении системы (15.17), (15.18) методом прогонки происходит накопление вычислительной погрешности. Известно, что при вычислительная погрешность может возрастать здесь пропорционально где ем — относительная точность представления чисел в ЭВМ. Таким образом, при достаточно малых значениях шага А возможна катастрофическая потеря точности.

Сделанное выше утверждение перестанет казаться неправдоподобным, если мы убедимся в том, что при малых А вычислительная погрешность может привести к существенному искажению решения уже на этапе составления системы сеточных уравнений. Пусть, например, для решения краевой задачи (15.9), (15.10) используется разностная схема с шагом а вычисления ведутся на -разрядной десятичной

ЭВМ. Заметим, что для такой ЭВМ . Так как здесь то результатом вычисления коэффициента после округления до 6 значащих цифр мантиссы является число Следовательно, даже если остальные вычисления будут производиться точно, то фактически окажется найденным не решение системы (15.42), а решение системы

соответствующей краевой задаче

Поскольку в результате оказалась решенной "не та задача", найденные значения и будут существенно отличаться от искомых . В данном конкретном случае погрешность будет достигать 5%. В общем случае погрешность может оказаться значительно больше.

<< Предыдущий параграф Следующий параграф >>
Оглавление