- •Курсовая работа: «Численное решение разностных уравнений, аппроксимирующих краевую задачу».
- •Москва 2005 г.
- •1. Классификация задачи
- •2. Постановка задачи
- •3. Физическая интерпретация
- •4. Сетки и сеточные функции
- •5. Разностная аппроксимация
- •6. Обзор и анализ шаблонов
- •7. Решение явной схемой
- •8. Решение неявной схемой
- •9. Решение модельной задачи
- •10. Решение поставленной задачи
- •11. Список литературы
6. Обзор и анализ шаблонов
На рисунке приведены несколько шаблонов, которые могут быть использованы для решения задачи на сетке:
Хотя формально первая схема является явной, а все остальные неявными, фактически при расчёте смешанной задачи Коши они ведут себя, как явные. Погрешность аппроксимации каждой схемы можно легко оценить разложив по формуле Тейлора в узле, что и сделано в [1]. Приведём лишь результаты:
для первой схемы
для второй схемы
для третей схемы
для четвёртой схемы
Для оценки устойчивости первой схемы можно применить принцип максимума. Критерий равномерной устойчивости по начальным данным принимает вид:
Он выполняется только при так называемом условии Куранта . Таким образом, первая схема является условно устойчивой в норме. В [1] доказывается необходимость условия Куранта методом разделения переменных. Устойчивость второй схемы аналогична устойчивости первой. Третья схема безусловно устойчива. Четвёртая схема безусловно устойчива в норме.
Также для оценки устойчивости можно использовать метод гармоник. Исследуем устойчивость следующей схемы:
,,
, ,,
,
,
,
Для того чтобы система была устойчивой , опять получаем так называемое условие Курантаи таким образом, наша явная схема является условно устойчивой. Аналогично можно исследовать и другие схемы.
7. Решение явной схемой
Для решения явной схемы выберем следующий шаблон (также известный как "уголок"):
Запишем систему разностных уравнений:
Выразим :
Чтобы система стала полностью определённой необходимо дополнить её уравнениями, полученными для аппроксимации краевых и начальных условий:
,
,
Решение по данной схеме реализовано в MatLabв виде функции
function u = treq_exp_solve(a, L, T, f, bnd_x0, bnd_0t, dx, dt, scheme)
исходный код которой, можно найти в файле src/treq_exp_solve.m
Параметр schemeдолжен быть установлен в"Jlike", чтобы использовать именно эту схему.
8. Решение неявной схемой
Рассмотрим теперь решение того же уравнения с помощью неявной схемы. Для начала разберёмся с неявным уголком:
Выбор обусловлен тем, что, как показано выше, такая схема является безусловно устойчивой. Получим систему разностных уравнений:
,,
Выразим :
,
Далее обратим внимание на более интересный шаблон, также известный как "квадрат":
Он представляет большой интерес, т.к. данная схема имеет второй порядок аппроксимации (что было показано выше). Более того, это схема является безусловно устойчивой. Запишем систему разностных уравнений:
Выразим :
Оба данных алгоритма реализованы в MatLabв виде одной функции. Параметрschemeуказывает функции какую схему следует использовать:
function u = treq_exp_solve(a, L, T, f, bnd_x0, bnd_0t, dx, dt, scheme)
исходный код которой, можно найти в папке src/treq_exp_solve.m
Параметр schemeможет принимать следующие значения:
"Jlike"- явный уголок
"7like"- неявный уголок
"quad"- квадрат
"old"- использовать старую схему (оставлено для совместимости с более ранними версиями функции)
Функция возвращает искомое решение уравнения с заданными начальным и граничным условиями.