Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р8.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.72 Mб
Скачать

Точках функції

Таким чином, задачу розв’язку еліптичних рівнянь ми апроксимували дискретною задачею, яка має другий порядок точності і яка має однозначне рішення. Це рішення збігається до рішення з початкової задачі при нескінченному згущенні вузлів сітки за двома змінними одночасно.

8.3 Параболічні рівняння

Як приклад параболічного рівняння розглянемо рівняння теплопровідності

, (8.14)

з початковими умовами за змінною

при (8.15)

і крайовими умовами за просторовою координатою х

, , при (8.16)

Рівняння (8.14) можна інтерпретувати як задачу визначення температури тонкого однорідного стержня (бруса) довжиною l, якщо відомий розподіл температури в стержні у початковий момент часу t = 0 (початкова умова (8.15)) і відома зміна температури на кінцях стержня х = 0 і х=l у будь-який момент часу t (граничні умови (8.16)) Коефіцієнт а2 в (8.14) визначається теплофізичними властивостями матеріалу, а функція g(t,x) виражає дію зовнішнього теплового джерела на стержень і вважається заданою.

Із умов (8.15) і (8.16) видно, що область  - прямокутник зі сторонами у системі координат , а її границя утворена відрізками прямих , , і . Як і раніше розіб’ємо прямокутник на прямокутників зі сторонами і , тобто

, (8.17)

. (8.18)

Значення функції у вузлах позначимо через (рис 8.6) Аналогічне позначення введемо і для функції .

Рисунок 8.6 – Сітка області

Часткові похідні і замінимо різницевими апроксимаціями першого порядку

,

.

Оскільки (див. рис. 8.6) , , то

, (8.19)

. (8.20)

Замінюючи в рівнянні (8.14) часткові похідні і їх апроксимаціями (8.16) і (8.17).

Отримаємо наступне рівняння

,

, , (8.21)

де .

До рівнянь (8.21) слід додати початкові та граничні умови, які отримаємо шляхом апроксимації функції умов (8.15) і (8.16) . Маємо

, (8.22)

(8.23)

Якщо індекси i та j в (8.21) будуть набувати значень від 1 до n-1 і від 1 до m-1 відповідно, то в результаті отримаємо систему (n-2)(m-2) алгебраїчних лінійних рівнянь з (n-2)(m-2) невідомими. Складання такої системи рівнянь опирається на шаблон різницевої схеми (8.18) (рис 8.7).

Рисунок 8.7 – Шаблон різницевої схеми (8.21)

Апроксимація рівняння (8.14) різницевою схемою (8.21) може привести до того, що обчислювальний процес стає нестійкий. Це означає, що помилки, які виникають на одному шарі можуть збільшуватись на наступних парах для деякою . Для того щоб отримати стійку схему обчислень розмір, кроку повинен підкорятись нерівності .

Інший спосіб отримання різницевої схеми, яка апроксимує параболічне рівняння (8.14) полягає в апроксимації першої похідної лівою різницею

. (8.24)

Після заміни другої і першої похідних в (8.14) їх апроксимаціями (8.20) і (8.24) отримаємо

Звідси знаходимо, що

. (8.25)

Зміні, які входять у різницеву схему (8.25), утворюють шаблон, який показано на рис. 8.8.

Рисунок 8.8 – Шаблон для різницевої схеми (8.25)

Структура системи рівнянь (8.25) така, що значення невідомих можна обчислювати для кожного шару окремо. Враховуючи, що на нульовому шарі значення відомі, формула (8.25) дає можливість безпосередньо обчислювати всі значення для першого шару. Знаючи значення першого шару, можна обчислити значення для другого шару і т.д.

Отже, для знаходження значень у вузлах першого шару необхідно розв’язати систему лінійних алгебраїчних рівнянь

,

де , , .

Значення величин у вузлових точках другого шару отримаємо як розв’язок системи

,

де , , , і т. д.

Для передостаннього шару, коли , будемо мати

.

У кожній із двох розглянутих різницевих схем (8.21) і (8.25) для обчислення значень на і-ому шарі використовуються значення функції , на двох сусідніх шарах. Звідси і їх назва – двошарові схеми.

При цьому різницева схема (8.21), яка є формулою для безпосереднього обчислення шуканих значень носить назву – явної схеми, а схема (8.25), яка для своєї реалізації вимагає розв’язку систем алгебраїчних рівнянь (при переході від шару до шару) називається неявною схемою.

Приклад 8.2. Розв’язати числовим методом параболічне рівняння , коли відсутня дія зовнішнього джерела тепла, тобто .

Шляхом вибору безрозмірних величин: і рівняння (8.14) можна привести до вигляду, у якому коефіцієнт при частковій похідні буде дорівнювати одиниці.

Оскільки і , то і . Підставляючи значення і у рівняння (8.14), отримаємо

. (8.26)

Виберемо масштаб часу таким, щоб коефіцієнт у рівнянні (8.26) був рівний одиниці, тобто

.

При такому виборі рівняння (8.26) набуде такого вигляду:

. (8.27)

з початковою умовою

для і (8.28)

і граничними умовами

, для і ,

, для і , (8.29)

де .

Графік розподілу температури вздовж стержня в початковий момент часу показано на рис.8.9.

Рисунок 8.9 – Розподіл температури вздовж стержня у початковий момент часу

Крок дискретності виберемо таким, щоб виконувалась умова . Візьмемо .

Інтервал зміни розіб’ємо на частин. Тоді , а і відповідно .

Для розв’язку задачі (8.27) з початковою умовою (8.28) і граничними умовами (8.29) використаємо явну різницеву схему (8.21). Відповідне алгоритмічне забезпечення має назву EqualizationHeat-conducting, де індексація починається не з нуля, а з одиниці тому в (8.21) індекс замінимо на . У результаті отримаємо

, (8.30)

де .

EqualizationHeat-conducting

Процедура розв'язку рівняння теплопровідності

Вхід:fi(x)-заноситься у підпроцедуру run_fiX

alfa(t)=u(0,t)i beta(t)=u(l,t)

l i tk - праві точки інтервалів [0;l] i [0;tk]

a-постійна у рівнянні теплопровідності

n i m-число точок решітки [0;l] i [0;tk]

Вихід:U-матриця розв'язків

Вхідні дані

1 l=1

2 tk=0.5

3 c1=0

4 c2=0

5 a=1

6 m=80;

7 n=21

Кроки tau і h на решітці

8 h=1/(n-1)

9 tau=tk/(m-1)

Параметри рівняння та ініціалізація U

9 gama=tau*a^2/h^2;

10 gama_1=1-2*gama;

11 Створити нульову матрицю U розміром nxm

12 Створити нульовий вектор fi розміром n-2

Граничні умови

13 U(1,1:m)=c1

14 U(n,1:m)=c2;

Генерування значень функції u(x,t) другого рядка

15 x=0

16 for i=2 to n-1

17 x=x+h

18 fi=fun_fiX(x)

19 U(i,1)=fi

20 end for

21 for i=1 to n

22 X(i)=(i-1)*h

23 F(i)=fun_fiX(X(i))

24 end for

25 Побудувати графік розподілу температури вздовж стержня у

початковий момент часу в координатах F,X

Генерування значень функції u(x,t) наступних рядків

26 for j=2 to m

27 for i=2 to n-1

28 U(i,j)=gama_1*U(i,j-1)+gama*(U(i-1,j-1)+U(i+1,j-1))

29 end for

30 end for

31 Побудувати графік функції у координатах x,y,U

Підпроцедура fun_fiX

fi=fun_fiX(x)

Функція, що задає початкові умови fi(x)

fi=4*x*(1-x)

Результати роботи програми відображені на рис. 8.10.

Рисунок 8.10 - Графік функції