Бінарна алгебраїчна операція
Химия

Решення змішаного завдання


Решення змішаного завдання

Завантажити реферат: Розв’язання змішаної задачі

Розглянемо змішану задачу для хвильового рівняння ( 2 u / t2) = c 2 * ( 2u / x2) (1). Завдання полягає у відшуканні функції u(x,t), що задовольняє даному рівнянню при 0 < x < a, 0 < t £ T, початковим умовам u(x,0) = f(x), ¶ u(x,0)/ ¶ t = g(x) , 0 £ x £ a і нульовими крайовими умовами u(0,t) = u(1,t)=0.

Оскільки заміна змінних 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* tm = T і апроксимуємо рівняння (1) у кожному внутрішньому вузлі сітки на шаблоні типу “хрест”.

Використовуючи для апроксимації приватних похідних центральні похідні похідні, отримуємо наступну різницеву апроксимацію рівняння (1) .

Тут uij — наближене значення функції u(x,t) у вузлі (xi,tj).

Вважаючи, що l = t / h, отримуємо тришарову різницеву схему

ui,j+1 = 2(1- l 2 )ui,j + l 2 (ui+1,j- ui-1,j) — ui,j-1 , i = 1,2 … n. (5)

Для простоти у цій лабораторної роботі задані нульові граничні умови, тобто. m 1

Чисельне рішення задачі полягає у обчисленні наближених значень ui,j рішення u(x,t) у вузлах (xi,tj) при i =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, t) — u(x,0 ) )/ t (6) , то ui1 = ui0 + t (xi), i = 1,2, … n. Тепер для обчислення рішень на таких шарах можна застосовувати формулу (5). Рішення на кожному наступному шарі виходить перерахунком рішень із двох попередніх шарів за формулою (5).

Описана вище схема апроксимує завдання з точністю до (t + h2). Невисокий порядок апроксимації по t пояснюється використанням занадто грубої апроксимації для похідної е у формулі (6).

Схема стійка, якщо виконано умову Куранта t < h. Це означає, що малі похибки, що виникають, наприклад, при обчисленні рішення на першому шарі, не будуть необмежено зростати під час переходу до кожного нового тимчасового шару. За виконання умов Куранта схема має рівномірної збіжністю, тобто. при h ® 0 розв'язання різницевої задачі рівномірно прагне рішення вихідної змішаної задачі.

Недолік схеми в тому, що як тільки обрана величина кроку сітки h у напрямку x з’являється обмеження на величину кроку t по змінній t . Якщо необхідно зробити обчислення для великого значення величини T, то може знадобитися велика кількість кроків змінної t. Зазначений гніздо характерний всім явних різницевих схем.

Для оцінки похибки рішення зазвичай вдаються до методів згущення сітки.

Для вирішення змішаної задачі для хвильового рівняння за явною схемою різниці (5) призначена частина програми, позначена Subroutine GIP3 Begn … End . Дана підпрограма обчислює рішення кожному шарі за значеннями рішення з двох попередніх шарів.

Вхідні параметри:

hx — крок сітки h по змінній х;

ht — крок сітки t змінної 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 ).

Приклад:

Розв’язати завдання про коливання струни одиничної довжини із закріпленими кінцями, початкове положення якої зображено малюнку. Початкові швидкості дорівнюють нулю. Обчислення виконати з кроком h x, рівним 0.1, з кроком t по 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 ] ,

Будуємо сітку з 11 вузлів x і виконуємо обчислення для 16 шарів по t. Програма та результати обчислення наведені далі.

© Реферат плюс



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *