Порядок выполнения работы
Классификация краевой задачи.

Линейное дифференциальное уравнение второго порядка такого вида относится к уравнениям гиперболического типа. Данное уравнение описывает колебание струны в зависимости от времени. Здесь переменная у имеет физический смысл времени, поэтому в дальнейшем будет рассматриваться такая задача:
где
и
.
Первая краевая задача для уравнения колебания струны состоит в поиске решения уравнения, удовлетворяющего начальному и граничным условиям.
В данной задаче начальные и граничные условия имеют следующий смысл:
Начальные условия (в начальный момент времени t=0):
задаёт форму
струны.
задаёт распределение
скоростей.
Граничные условия:
означает, что по такому закону движется
левый конец струны.
-
вид граничного условия третьего рода
на правом конце отрезка.
- плотность внешней силы, рассчитанная
на единицу длины.
Явная разностная схема
j
+1
i i+1
j
j-1
Рис.1
Для сведения задачи к явной разностной схеме используем шаблон «крест», изображённый на рисунке 1.
Конечно-разностная
схема для данной задачи имеет вид:
с погрешностью
аппроксимации порядка
.
Обозначим
и выразим
через остальные значения сеточной
функции, входящие в уравнение:
(3)
Для того чтобы система стала полностью определённой, дополним её уравнениями, полученными из аппроксимации краевых и начальных условий:
(4)
(5)
Для аппроксимации
2-го начального условия (с погрешностью
порядка
)
разложим функциюU(x,t)
в окрестности точки (x,0)
по формуле Тейлора:
.
Учитывая уравнение краевой задачи (1) и условие (2) запишем:
.
Перейдём к конечным
разностям, записываемым в узле (i,1)
(т.е. на первом временном слое):
.
(6)
Данная формула используется на начальном этапе для вычисления значения функции U(x,t) на первом слое, по известным значениям функции на нулевом слое и на границе.
Принимая во внимание
(4):
.
(7)
Для аппроксимирования
2-го граничного условия (с погрешностью
порядка
)
разложим функциюU(x,t)
в окрестности точки (1,t)
по формуле Тейлора:
![]()
Используя уравнение краевой задачи (1) и условие (2) получаем:
![]()
Перейдя к конечным разностям, записываемым в узле (M-1,j), получаем:
(8)
Выразим из (8)
:
(9)
Подставляя в (8)
j=0
и учитывая (4), получаем:
(10)
Подставляя далее в (6) i=M и учитывая (4), получаем:
(11)
Из (3) при i=M, j=0, получим:
![]()
Учитывая (4) и подставляя сюда (11) и (10), находим:
(12)
Объединяя полученные результаты, получаем аппроксимацию краевого условия третьего рода, т.е. значение функции на границе i=M, в явном виде:
![]()
![]()
Текст функции, вычисляющий матрицу решения размерностью MxN, приведены в Приложении.
Устойчивость решения.
Для уравнений гиперболического типа метод спектральных гармоник приводит к следующему условию устойчивости:
,
т.е. если это условие
устойчивости не будет выполнено, то в
процессе рекуррентного решения возможно
накапливание ошибок от слоя к слою.
Отсюда, в частности, получаем для явной
схемы (
)
условие устойчивости Куранта-Леви:
.
Итак, U(i,j) при j=0 и j=1 определены. Включается рекуррентная процедура описываемая уравнением (3) и вычисляется U(i,j) для всех i=1,2,...,M-1, для каждого фиксированного j=2,...,N-1. Далее приведена таблица значений функции для явной схемы (N=25,M=10), поверхность функции, являющейся решением нашего дифференциального уравнения и полученная с помощью явной разностной схемы (N=40; M=20), а также график 40 линий уровня (N=40; M=20).
|
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
0.0400 |
0.0361 |
0.0323 |
0.0287 |
0.0253 |
0.0220 |
0.0189 |
0.0159 |
0.0131 |
0.0105 |
0.0240 |
|
0.0800 |
0.0723 |
0.0653 |
0.0589 |
0.0531 |
0.0480 |
0.0435 |
0.0397 |
0.0365 |
0.0365 |
0.0909 |
|
0.1200 |
0.1087 |
0.0989 |
0.0905 |
0.0835 |
0.0780 |
0.0739 |
0.0713 |
0.0705 |
0.0840 |
0.1856 |
|
0.1600 |
0.1453 |
0.1331 |
0.1235 |
0.1165 |
0.1120 |
0.1101 |
0.1108 |
0.1168 |
0.1584 |
0.2901 |
|
0.2000 |
0.1820 |
0.1680 |
0.1580 |
0.1520 |
0.1500 |
0.1520 |
0.1586 |
0.1786 |
0.2598 |
0.3916 |
|
0.2400 |
0.2189 |
0.2035 |
0.1939 |
0.1901 |
0.1920 |
0.1998 |
0.2157 |
0.2599 |
0.3815 |
0.4870 |
|
0.2800 |
0.2559 |
0.2397 |
0.2313 |
0.2307 |
0.2380 |
0.2537 |
0.2843 |
0.3628 |
0.5128 |
0.5820 |
|
0.3200 |
0.2931 |
0.2765 |
0.2701 |
0.2739 |
0.2881 |
0.3145 |
0.3671 |
0.4862 |
0.6428 |
0.6855 |
|
0.3600 |
0.3305 |
0.3139 |
0.3103 |
0.3197 |
0.3425 |
0.3836 |
0.4668 |
0.6241 |
0.7659 |
0.8030 |
|
0.4000 |
0.3680 |
0.3520 |
0.3520 |
0.3681 |
0.4018 |
0.4632 |
0.5841 |
0.7678 |
0.8831 |
0.9330 |
|
0.4400 |
0.4057 |
0.3907 |
0.3951 |
0.4194 |
0.4669 |
0.5554 |
0.7167 |
0.9082 |
1.0003 |
1.0677 |
|
0.4800 |
0.4435 |
0.4301 |
0.4398 |
0.4738 |
0.5395 |
0.6620 |
0.8589 |
1.0398 |
1.1234 |
1.1978 |
|
0.5200 |
0.4815 |
0.4701 |
0.4861 |
0.5322 |
0.6215 |
0.7826 |
1.0027 |
1.1624 |
1.2543 |
1.3175 |
|
0.5600 |
0.5197 |
0.5108 |
0.5343 |
0.5957 |
0.7146 |
0.9140 |
1.1403 |
1.2801 |
1.3892 |
1.4270 |
|
0.6000 |
0.5580 |
0.5523 |
0.5850 |
0.6660 |
0.8196 |
1.0505 |
1.2669 |
1.3981 |
1.5207 |
1.5319 |
|
0.6400 |
0.5966 |
0.5949 |
0.6391 |
0.7447 |
0.9352 |
1.1847 |
1.3820 |
1.5192 |
1.6415 |
1.6379 |
|
0.6800 |
0.6354 |
0.6389 |
0.6980 |
0.8330 |
1.0577 |
1.3097 |
1.4887 |
1.6416 |
1.7486 |
1.7472 |
|
0.7200 |
0.6747 |
0.6850 |
0.7630 |
0.9308 |
1.1811 |
1.4214 |
1.5917 |
1.7595 |
1.8439 |
1.8565 |
|
0.7600 |
0.7147 |
0.7343 |
0.8355 |
1.0361 |
1.2987 |
1.5194 |
1.6938 |
1.8660 |
1.9324 |
1.9586 |
|
0.8000 |
0.7561 |
0.7880 |
0.9161 |
1.1446 |
1.4043 |
1.6065 |
1.7942 |
1.9566 |
2.0181 |
2.0469 |
|
0.8400 |
0.7995 |
0.8476 |
1.0040 |
1.2504 |
1.4944 |
1.6868 |
1.8882 |
2.0310 |
2.1014 |
2.1188 |
|
0.8800 |
0.8459 |
0.9138 |
1.0964 |
1.3471 |
1.5690 |
1.7630 |
1.9693 |
2.0928 |
2.1778 |
2.1766 |
|
0.9200 |
0.8965 |
0.9866 |
1.1888 |
1.4294 |
1.6308 |
1.8345 |
2.0326 |
2.1463 |
2.2410 |
2.2255 |
|
0.9600 |
0.9518 |
1.0645 |
1.2752 |
1.4944 |
1.6833 |
1.8974 |
2.0767 |
2.1934 |
2.2860 |
2.2697 |
|
1.0000 |
1.0119 |
1.1439 |
1.3497 |
1.5424 |
1.7292 |
1.9457 |
2.1039 |
2.2322 |
2.3118 |
2.3092 |

График, иллюстрирующий решение

Линии уровня
Неявная разностная схема
Для аппроксимации используем Т-образный пятиточечный шаблон:
![]()
![]()

![]()
Уравнение аппроксимируется следующей системой разностных уравнений:
с
(13)
погрешностью аппроксимации
.
Обозначим
и запишем (13)
следующим образом:
![]()
Дополним это уравнение уравнениями аппроксимации начальных и граничных условий.
Аппроксимация
1-го начального условия даёт нам следующее:
![]()
Аппроксимация
1-го краевого условия (условие второго
рода):
![]()
Для аппроксимирования
2-го начального условия (с погрешностью
порядка
)
разложим функциюU(x,t)
в окрестности точки (x,0)
по формуле Тейлора:
.
Учитывая уравнение краевой задачи (1) и условие (2) и переходя к конечным разностям:
.
(14)
Эта формула отличается от аналогичной для явной схемы тем, что аппроксимация разностной производной второго порядка по x производится на первом слое, а не на нулевом. Запишем (14) к виду удобному для применения метода прогонки:
(15)
Используя формулы для аппроксимации 2-го краевого условия, полученнные для явной схемы, имеем:
![]()
![]()
Преобразуем их к виду, удобному для использования метода прогонки:
![]()
![]()
Вычисление прогоночных коэффициентов.
Сначала найдем U(i,j) на слое j=1. Определим прогоночные коэффициенты. Учитывая 1-ое граничное условие и уравнение (15) получаем:

Теперь вычислим граничные прогоночные коэффициенты на том же слое:

Методом прогонки находим U(i,1) где i=1...M;
Теперь зная значения функции при j=0,1, мы можем найти U(i,j), где j=2...N.
Используя уравнение (2) и 1-ое граничное условие находим прогоночные коэффициенты:

Теперь вычислим граничные прогоночные коэффициенты:

Методом прогонки находим U(i,j), где i=1...M, j=2..N.
Далее приведена таблица значений функции для неявной схемы (N=25, N=10), поверхность функции, являющейся решением нашего дифференциального уравнения и полученная с помощью неявной разностной схемы (N=40; M=20), а также график 40 линий уровня (N=40; M=20).
|
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
0.0400 |
0.0361 |
0.0323 |
0.0287 |
0.0253 |
0.0220 |
0.0189 |
0.0159 |
0.0132 |
0.0116 |
0.0240 |
|
0.0800 |
0.0724 |
0.0654 |
0.0590 |
0.0532 |
0.0481 |
0.0436 |
0.0399 |
0.0375 |
0.0407 |
0.0726 |
|
0.1200 |
0.1090 |
0.0992 |
0.0908 |
0.0838 |
0.0783 |
0.0743 |
0.0722 |
0.0737 |
0.0859 |
0.1179 |
|
0.1600 |
0.1458 |
0.1338 |
0.1242 |
0.1172 |
0.1127 |
0.1111 |
0.1131 |
0.1221 |
0.1450 |
0.1760 |
|
0.2000 |
0.1829 |
0.1692 |
0.1593 |
0.1533 |
0.1515 |
0.1543 |
0.1632 |
0.1826 |
0.2160 |
0.2449 |
|
0.2400 |
0.2203 |
0.2055 |
0.1961 |
0.1924 |
0.1947 |
0.2040 |
0.2226 |
0.2544 |
0.2967 |
0.3231 |
|
0.2800 |
0.2581 |
0.2427 |
0.2346 |
0.2344 |
0.2426 |
0.2606 |
0.2912 |
0.3362 |
0.3854 |
0.4092 |
|
0.3200 |
0.2961 |
0.2808 |
0.2750 |
0.2796 |
0.2953 |
0.3242 |
0.3685 |
0.4264 |
0.4806 |
0.5017 |
|
0.3600 |
0.3344 |
0.3198 |
0.3173 |
0.3279 |
0.3531 |
0.3947 |
0.4538 |
0.5233 |
0.5808 |
0.5996 |
|
0.4000 |
0.3730 |
0.3598 |
0.3616 |
0.3797 |
0.4159 |
0.4718 |
0.5456 |
0.6252 |
0.6850 |
0.7015 |
|
0.4400 |
0.4119 |
0.4008 |
0.4079 |
0.4349 |
0.4837 |
0.5547 |
0.6428 |
0.7306 |
0.7920 |
0.8064 |
|
0.4800 |
0.4512 |
0.4428 |
0.4564 |
0.4937 |
0.5562 |
0.6427 |
0.7436 |
0.8380 |
0.9009 |
0.9131 |
|
0.5200 |
0.4908 |
0.4860 |
0.5071 |
0.5558 |
0.6330 |
0.7344 |
0.8466 |
0.9463 |
1.0103 |
1.0204 |
|
0.5600 |
0.5309 |
0.5303 |
0.5599 |
0.6212 |
0.7132 |
0.8286 |
0.9503 |
1.0543 |
1.1193 |
1.1273 |
|
0.6000 |
0.5713 |
0.5757 |
0.6148 |
0.6892 |
0.7957 |
0.9238 |
1.0533 |
1.1608 |
1.2266 |
1.2325 |
|
0.6400 |
0.6123 |
0.6223 |
0.6715 |
0.7592 |
0.8795 |
1.0184 |
1.1543 |
1.2648 |
1.3312 |
1.3351 |
|
0.6800 |
0.6536 |
0.6699 |
0.7297 |
0.8304 |
0.9632 |
1.1112 |
1.2521 |
1.3650 |
1.4317 |
1.4338 |
|
0.7200 |
0.6954 |
0.7184 |
0.7887 |
0.9016 |
1.0453 |
1.2006 |
1.3455 |
1.4604 |
1.5273 |
1.5275 |
|
0.7600 |
0.7374 |
0.7673 |
0.8478 |
0.9718 |
1.1245 |
1.2855 |
1.4335 |
1.5498 |
1.6165 |
1.6152 |
|
0.8000 |
0.7795 |
0.8161 |
0.9061 |
1.0395 |
1.1992 |
1.3644 |
1.5147 |
1.6321 |
1.6985 |
1.6958 |
|
0.8400 |
0.8213 |
0.8642 |
0.9624 |
1.1033 |
1.2683 |
1.4363 |
1.5881 |
1.7060 |
1.7720 |
1.7682 |
|
0.8800 |
0.8625 |
0.9107 |
1.0155 |
1.1619 |
1.3302 |
1.5000 |
1.6526 |
1.7705 |
1.8360 |
1.8313 |
|
0.9200 |
0.9026 |
0.9546 |
1.0641 |
1.2139 |
1.3839 |
1.5541 |
1.7068 |
1.8244 |
1.8893 |
1.8840 |
|
0.9600 |
0.9410 |
0.9949 |
1.1069 |
1.2580 |
1.4279 |
1.5977 |
1.7498 |
1.8666 |
1.9308 |
1.9253 |
|
1.0000 |
0.9770 |
1.0305 |
1.1425 |
1.2927 |
1.4612 |
1.6295 |
1.7802 |
1.8959 |
1.9596 |
1.9540 |

График, иллюстрирующий решение

Линии уровня
