- •Курсовая работа
- •Теоретические сведения.
- •§1 Классификация задач.
- •Первая краевая задача для уравнения теплопроводности.
- •§2 Метод сеток.
- •§3 Разностная аппроксимация дифференциальных операторов.
- •Решение задачи.
- •Решение задачи с помощью явной разностной схемы
- •Решение задачи с помощью неявной разностной схемы
- •Приложение 1.
- •Приложение 2.
- •Неявная схема.
- •% Result - the matrix of results
- •Close all warning off
- •Главная функция.
Решение задачи с помощью неявной разностной схемы
В неявной схеме для получения решения на последующем слое необходимо решать систему алгебраических уравнений специального вида. Преимущество использования неявных схем заключается в существенном ослаблении требований к шагам сетки для выполнения условия устойчивости.
Рассмотрим снова нашу краевую задачу. Для аппроксимации уравнения используем следующий шаблон:
(i-1
, j+1) (i
, j+1) (i-1
,j+1)
(
i , j)
Аппроксимация дифференциального уравнения
(4)
Приведем (4) к виду, удобному для применения метода прогонки:
(5)
Аппроксимация начального условия
(6)
Аппроксимация 1-го граничного условия
Граничное
условие второго рода выглядит следующим
образом:
(в нашем случае
).
Для его аппроксимирования разложимU(x,y)
в окрестности точки (0,у) в ряд Тейлора:
![]()
Используя исходное уравнение и граничное условие, получим:
![]()
Перейдем к конечным разностям, записываемым в узле (1,j), т.е. на первом слое:
отсюда
(7)
Аппроксимация 2-го граничного условия
Граничное
условие второго рода выглядит следующим
образом:
.
Для его аппроксимирования разложим
U(x,y)
в окрестности точки (1,у) в ряд Тейлора:
![]()
Используя исходное уравнение и граничное условие, получим:
![]()
Перейдем к конечным разностям, записываемым в узле (М-1,j), т.е. на предпоследнем слое:
отсюда
(8)
Таким
образом, построена неявная разностная
схема аппроксимирующая краевую задачу
с погрешностью аппроксимации порядка
.
Полученная система линейных алгебраических
уравнений (5)-(8) описывается трехдиагональной
матрицей:

и в общем случае имеет вид:
где
(9)
Для решения таких систем применяется метод прогонки.
Вычисления прогоночных коэффициентов
Из (7) имеем:

Из (8) получаем:

На основе (5) можно записать:

Алгоритм
решения системы (9) состоит из двух
этапов: прямого и обратного хода прогонки.
Обозначим
,
тогда из первого уравнения системы
следует:
![]()
Подставим
во второе уравнение системы (9) приi=1
и выразим
:

Продолжая подстановку далее, получим на к-ом шаге уравнение
,
к =1,2,…М-1
(10)
где
и
;
(11)
причём
(12)
Формулы
(11) определяют прямой ход прогонки, в
результате которого рекуррентно
вычисляются прогоночные коэффициенты
и
.
Далее по известному коэффициенту
из (12) определяются
и
,
а затем по формуле (10) находятся остальные
.
Это обратный ход прогонки.
Устойчивость и корректность метода прогонки обеспечивается при условии выполнения следующей теоремы:
если коэффициенты системы уравнений метода прогонки удовлетворяют следующие условия

причем хотя бы одно из неравенств {1} или {2} является строгим, тогда для метода прогонки имеют место неравенства:
к
оторые
гарантируют корректность и устойчивость
метода прогонки. Выполнение этих условий
проверяется в процессе работы программы.
Приложение 1.
(для разбиения М=100 и N=20000)
Поверхности.
Явная схема.

Неявная схема.

Изолинии.
Явная схема.

Неявная схема.

Зависимость
от
при
фиксированных
.
Явная схема.


Неявная схема.

Сравнение явной и неявной схем.


Матрицы результатов.
Явная схема.
0 1.8795 3.6390 5.2674 6.7204 7.9489 8.9089 9.5666 9.9009 9.9051 9.5863
0 1.9210 3.7248 5.3957 6.8887 8.1548 9.1505 9.8426 10.2106 10.2484 9.9641
0 1.9486 3.7853 5.4838 6.9974 8.2772 9.2809 9.9771 10.3476 10.3882 10.1090
0 1.9658 3.8248 5.5370 7.0529 8.3243 9.3111 9.9847 10.3304 10.3477 10.0501
0 1.9757 3.8472 5.5604 7.0626 8.3069 9.2561 9.8858 10.1861 10.1614 9.8297
0 1.9804 3.8560 5.5594 7.0353 8.2381 9.1348 9.7064 9.9487 9.8721 9.5003
0 1.9817 3.8545 5.5402 6.9808 8.1335 8.9698 9.4771 9.6578 9.5289 9.1201
0 1.9808 3.8461 5.5093 6.9110 8.0113 8.7873 9.2326 9.3566 9.1831 8.7477
0 1.9787 3.8344 5.4745 6.8395 7.8926 8.6162 9.0100 9.0899 8.8853 8.4368
0 1.9766 3.8234 5.4452 6.7825 7.8014 8.4885 8.8482 8.9011 8.6808 8.2309
0 1.9756 3.8184 5.4325 6.7587 7.7644 8.4380 8.7859 8.8303 8.6064 8.1589
Неявная схема.
0 1.8794 3.6389 5.2673 6.7202 7.9486 8.9086 9.5662 9.9006 9.9047 9.5859
0 1.9210 3.7247 5.3955 6.8885 8.1546 9.1503 9.8423 10.2103 10.2481 9.9637
0 1.9485 3.7852 5.4837 6.9972 8.2770 9.2807 9.9768 10.3472 10.3878 10.1087
0 1.9658 3.8248 5.5369 7.0527 8.3241 9.3108 9.9845 10.3301 10.3474 10.0498
0 1.9756 3.8472 5.5603 7.0625 8.3067 9.2559 9.8856 10.1859 10.1611 9.8294
0 1.9804 3.8560 5.5594 7.0352 8.2379 9.1346 9.7062 9.9485 9.8719 9.5000
0 1.9817 3.8545 5.5401 6.9808 8.1334 8.9697 9.4770 9.6576 9.5287 9.1199
0 1.9808 3.8461 5.5092 6.9110 8.0112 8.7872 9.2325 9.3565 9.1830 8.7475
0 1.9787 3.8343 5.4745 6.8395 7.8926 8.6161 9.0099 9.0898 8.8851 8.4366
0 1.9766 3.8234 5.4452 6.7824 7.8013 8.4884 8.8482 8.9010 8.6806 8.2308
0 1.9756 3.8184 5.4325 6.7587 7.7644 8.4380 8.7858 8.8302 8.6062 8.1588
Матрица ошибок (явная - неявная).
1.0e-003 *
0 0.0477 0.0823 0.1265 0.1766 0.2272 0.2738 0.3133 0.3442 0.3655 0.3775
0 0.0465 0.0811 0.1245 0.1736 0.2229 0.2684 0.3071 0.3373 0.3583 0.3704
0 0.0432 0.0774 0.1187 0.1646 0.2105 0.2527 0.2887 0.3172 0.3376 0.3501
0 0.0382 0.0714 0.1092 0.1501 0.1906 0.2278 0.2601 0.2862 0.3060 0.3196
0 0.0320 0.0634 0.0966 0.1310 0.1646 0.1959 0.2237 0.2476 0.2674 0.2833
0 0.0253 0.0539 0.0815 0.1085 0.1346 0.1596 0.1832 0.2054 0.2265 0.2466
0 0.0186 0.0433 0.0648 0.0842 0.1029 0.1221 0.1424 0.1644 0.1883 0.2144
0 0.0125 0.0326 0.0480 0.0603 0.0725 0.0871 0.1056 0.1288 0.1572 0.1906
0 0.0073 0.0229 0.0329 0.0394 0.0468 0.0584 0.0766 0.1024 0.1361 0.1771
0 0.0036 0.0157 0.0220 0.0247 0.0292 0.0397 0.0587 0.0873 0.1256 0.1727
0 0.0024 0.0133 0.0184 0.0199 0.0237 0.0340 0.0535 0.0833 0.1235 0.1729
Максимальная ошибка = 3.774749201017613e-004
