Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / ЧМ.Лабы.Лисовец / ЧМ.курсач.by mice / doc / Курсовая работа.doc
Скачиваний:
35
Добавлен:
17.04.2013
Размер:
513.54 Кб
Скачать

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"- использовать старую схему (оставлено для совместимости с более ранними версиями функции)

Функция возвращает искомое решение уравнения с заданными начальным и граничным условиями.