Решения змішаної завдання для рівняння гіперболічного типу методом сеток
Кількісна вирішення завдання полягає у обчисленні наближених значень ui, j рішення u (x, t) в вузлах (xi, tj) при і =1, … n, j=1,2, …, m. Алгоритм рішення грунтується у тому, що ухвалено рішення кожному наступному шарі (j = 2,3,4, … n) можна було одержати перерахунком рішень із двох попередніх верств (j=0,1,2, …, n-1) за такою формулою (5). На нульовому часовому шарі (j=0) рішення знаємо… Читати ще >
Решения змішаної завдання для рівняння гіперболічного типу методом сеток (реферат, курсова, диплом, контрольна)
МІНІСТЕРСТВО СПІЛЬНОГО І ПРОФЕСІЙНОГО ОСВІТИ Р.Ф.
КУРГАНСЬКИЙ ДЕРЖАВНИЙ УНИВЕРСИТЕТ.
Кафедра прикладний та вищої математики.
Лабораторна робота № 43.
на тему:
Рішення змішаної завдання для рівняння гіперболічного типу методом сеток.
Група М-2136.
Выполнил студент _______________________.
Проверил викладач Воронова Лілія Ивановна.
Курган 1998.
Розглянемо змішану завдання для хвильового рівняння ((2 u/ (t2) = з 2 * ((2u/ (x2) (1). Завдання полягає у знаходженні функції u (x, t) задовольняє даному рівнянню при 0 < x.
Оскільки заміна змінних t (ct наводить рівняння (1) до виду ((2 u/ (t2) = ((2u/ (x2), то подальшому вважатимемо з = 1.
Для побудови разностной схеми виконання завдання будуємо у сфері D = {(x, t) | 0 (x (a, 0 (t (T } сітку xi = ih, i=0,1 … n, a = h * n, tj = j* (((, j = 0,1 …, m, (m = T і аппроксимируем рівняння (1) в кожному внутрішньому вузлі сітки на шаблоні типу «крест».
t.
T.
j+1 j.
j-1.
0 i-1 і i+1.
Використовуючи для апроксимації приватних похідних центральні разностные похідні, отримуємо таку разностную апроксимацію рівняння (1) .
ui, j+1 — 2uij + ui, j-1 ui+1,j — 2uij + ui-1, j.
(2 h2.
(4).
Тут uij — близьке значення функції u (x, t) в вузлі (xi, tj).
Вважаючи, що (= (/ h, отримуємо трехслойную разностную схему ui, j+1 = 2(1- (2)ui, j + (2 (ui+1,jui-1,j) — ui, j-1, і = 1,2 … n. (5).
Для простоти у цій лабораторної роботі задано нульові граничні умови, тобто. (1(t) (0, (2(t) (0. Отже, у схемі (5) u0, j= 0, unj=0 всім j. Схема (5) називається тришаровій на трьох тимчасових шарах з номерами j-1, j, j+1. Схема (5) явна, тобто. дозволяє вочевидь висловити ui, j через значення u з попередніх слоев.
Кількісна вирішення завдання полягає у обчисленні наближених значень ui, j рішення u (x, t) в вузлах (xi, tj) при і =1, … n, j=1,2, …, m. Алгоритм рішення грунтується у тому, що ухвалено рішення кожному наступному шарі (j = 2,3,4, … n) можна було одержати перерахунком рішень із двох попередніх верств (j=0,1,2, …, n-1) за такою формулою (5). На нульовому часовому шарі (j=0) рішення знаємо з початкового умови ui0 = f (xi).
Для обчислення рішення першою шарі (j=1) у цій лабораторної роботі прийнято найпростіший спосіб, котра перебувала тому, що й покласти (u (x, 0)/ (t ((u (x, () — u (x, 0))/ ((6), то ui1=ui0+ + ((xi), i=1,2, … n. Тепер для обчислення рішень наступних шарах можна застосовувати формулу (5). Рішення кожному наступному шарі виходить перерахунком рішень із двох попередніх верств за такою формулою (5).
Вищеописана схема аппроксимирует завдання за точністю до Про ((+h2). Невисокий порядок апроксимації по (пояснюється використанням занадто грубої апроксимації для похідною по е у формулі (6).
Схема стійка, якщо виконано умова Куранта (< h. Це означає, що малі похибки, виникаючі, наприклад, при обчисленні рішення першою шарі, ні необмежено зростати за переходу до кожному новому тимчасовому прошарку. За виконання умов Куранта схема має рівномірної сходимостью, тобто. при h (0 рішення разностной завдання рівномірно прагне регшению вихідної змішаної задачи.
Недолік схеми у цьому, що тільки выбраная величина кроку сітки h у бік x, з’являється обмеження на величину кроку (по перемінної t. Якщо потрібно зробити обчислення для великого значення величини T, вона може знадобитися дуже багато кроків із перемінної t. Зазначений гнедостаток уражає всіх явних разностных схем.
Для оцінки похибки рішення звичайно вдаються до методів згущення сетки.
Аби вирішити змішаної завдання для хвильового рівняння по явною разностной схемою (5) призначена частина програми, позначена Subroutine GIP3 Begn … End. Ця підпрограма обчислює рішення кожному шарі по значенням рішення із двох попередніх слоев.
Вхідні параметри: hx — крок сітки h по перемінної x; ht — крок сітки (по перемінної t; k — кількість вузлів сітки по x, a = hn; u1 — масив з k дійсних чисел, у якому значення рішень на (j — 1) часовому шарі, j = 1, 2, …; u2 — масив з n дійсних чисел, у якому значення рішень на j — м часовому шарі, j = 1, 2, …; u3 — робочий масив з k дійсних чисел.
Вихідні параметри: u1 — масив з n дійсних чисел, у якому значення рішення з j — м часовому шарі, j = 1, 2, …; u2 — масив з n дійсних чисел, у якому значення рішення з (j +1) — м часовому шарі, j = 1, 2, … .
До частини програми, визначеної як Subroutine GIP3 Begin … End відбувається циклічне звернення, пеоред першим зверненням до програми елементам масиву u2 присвоюються початкові значення, а елементам масиву u1 — значення щодо рішень першою шарі, вычислинные по формулам (6). При виході з підпрограми GIP3 в масиві u2 перебуває значення рішення на новому часовому шарі, а масиві u1 — значення рішення попередньому слое.
Порядок роботи программы:
1) опис масивів u1, u2, u3;
2) присвоєння фактичних значень параметрами n, hx, ht, облюдая умова Куранта;
3) присвоєння початкового значення рішення елементам масиву і розрахований по формулам (6) значення рішення першою слое;
4) звернення до GIP3 в циклі k-1 раз, якщо потрібно знайти рішення на kм шарі (k (2).
Пример:
0.5 0.5.
Вирішити завдання про коливанні струни одиничної довжини з закріпленими кінцями, початкове положення якій зображено малюнку. Початкові швидкості рівні нулю. Обчислення виконати з кроком h по x, рівним 0.1, з кроком (по t, рівним 0.05, провести обчислення для 16 тимчасових верств з пресою результатів кожному шарі. Отже, завдання має вид.
((2 u/ (t2) = ((2 u/ (x 2), x ([ 0, 1 ], t ([ 0, T ], u (x, 0) = f (x), x ([ 0, a ], (u (x, 0)/ (t = g (x), x ([ 0, a ], u (0, t) = 0, u (1, t) = 0, t ([ 0, 0.8 ],.
(2x, x ([ 0, 0.5 ], f (x) = (g (x) = 0.
(2 — 2x, x ([ 0.5, 1 ] ,.
Будуємо сітку з одинадцяти вузлів по x і виконуємо обчислення для 16 верств по t. Програма, й одержують результати обчислення наведено далее.