
- •І. Основні поняття
- •1.1. Класифікація диференціальних рівнянь у частинних похідних
- •1.2. Апроксимація частинних похідних
- •1. 3. Метод сіток (ідея методу)
- •Іі. Розв’язок змішаної задачі для рівняння теплопровідності методом сіток
- •2.1. Постановка задачі
- •2.2. Явна різницева схема. Проблема стійкості
- •IV. Лабораторна робота 1
- •Варіанти індивідуальних завдань
- •Контрольний приклад
- •V. Неявна різницева схема
- •5.1. Побудова неявної різницевої схеми
- •5.2. Обчислювальна схема (алгоритм) рішення неявної різницевої схеми методом прогону
- •5.3. Блок-схема алгоритму Структурна схема програми рішення першої крайової задачі для рівняння параболічного типу за неявною різницевою схемою методом прогону
- •5.4. Програма рішення першої крайової задачі дня рівняння параболічного типу методом прогону (за неявною схемою)
- •VI. Лабораторна робота 2
- •Контрольний приклад
- •VII. Схема кранкa –ніколсона
- •7.1. Зауваження про стійкість і точність розв’язку
- •7. 2. Побудова і рішення різницевої схеми Кранка - Ніколсона
- •7.3. Алгоритм рішення різницевої схеми Кранка – Ніколсона методом прогону
- •7. 5. Програма рішення першої крайової задачі для рівняння параболічного типу за різницевою схемою Кранка-Ніколсона
- •VIII. Лабораторна робота 3
- •Завдання
- •Контрольний приклад.
- •IX. Рішення змішаної задачі для хвильового рівняння методом сіток
- •9.1. Постановка задачі. Алгоритм методу
- •9. 2 . Обчислювальна схема рішення задачі
- •9.3. Структурна схема програми рішення змішаної задачі для хвильового рівняння методом сіток
- •9. 4. Программа рішення змішаної задачі для хвильового рівняння методом сіток
- •X. Лабораторна робота 4
- •Варіанти індивідуальних завдань
- •Контрольний приклад
- •Хі. Рішення рівняння лапласа методом сіток
- •11.1. Побудова різницевої схеми
- •11.2. Принцип максимуму. Оцінка похибок і збіжність рішень різницевих рівнянь
- •11. 3. Рішення еліптичної різницевої схеми
- •XII. Проблеми збіжності рішення. Алгоритм чисельного рішення
- •12.1 Збіжність рішення
- •12.2. Алгоритм чисельного рішення задачі Діріхлє для рівняння Лапласа ітераційним методом Гауса-Зейделя
- •12.3. Структурна схема програми рішення задачі Діріхлє для рівняння Лапласа методом сіток
- •12. 4. Програма рішення задачі Діріхлє для рівняння Лапласа
- •XIII. Лабораторна робота 5
- •Контрольний приклад
12.2. Алгоритм чисельного рішення задачі Діріхлє для рівняння Лапласа ітераційним методом Гауса-Зейделя
1. Область D неперервної зміни аргументів заміняється кінцевою (дискретною) множиною точок (вузлів) сітки:
, де h
– крок по осі ох, l-
крок по осі оу,
2. Обчислюємо граничні значення рішення:
a)
б)
3. Задаємо
початкові значення рішення
у всіх внутрішніх вузлах сітки:
.
4.
Знаходимо наближені рішення у всіх
внутрішніх вузлах сітки по
(12.52),
проходячи значення
при кожному
,
прийнявши як критерій закінчення
ітераційного процесу умову
(12.53).
12.3. Структурна схема програми рішення задачі Діріхлє для рівняння Лапласа методом сіток
12. 4. Програма рішення задачі Діріхлє для рівняння Лапласа
program Dirikhle_Prob;
uses Crt;
const
n=10; m=10; e=0.001; h=1;l=1;
var
u:array[0..m*trunc(1/l)+1,0..n*trunc(1/h)+1] of real;
i,j,it,m1,n1:integer;
r,d,unew:real;
p:boolean;
procedure Libman;
begin
p:=false;
for i:=1 to m1-1 do begin
for j:=1 to n1-1 do begin
unew:=0.25*(u[i+1,j]+u[i-1,j]+u[i,j-1]+u[i,j+1]);
d:=abs(unew-u[i,j]);
if d>e then p:=true;
u[i,j]:=unew;
end;
end;
end;
function F1(x:real):real; {u[0,k]}
begin
F1:=0;
end;
function F2(x:real):real; {u[n,k]}
begin
F2:=64-12*x;
end;
function F3(x:real):real; {u[i,0]}
begin F3:=x*x*x;
end;
function F4(x:real):real; {u[i,m]}
begin
F4:=x*x*x-27*x;
end;
begin
ClrScr;
n1:=trunc(n/h);
m1:=trunc(m/l);
{початкові значення вузлів}
for i:=0 to m1 do begin
for j:=0 to n1 do u[i,j]:=0;
end;
for j:=0 to m1 do u[0,j]:=F1(j*h);
for j:=0 to m1 do u[n1,j]:=F2(j*h);
for i:=1 to n1 do u[i,0]:=F3(i*h);
for i:=1 to n1 do u[i,m1]:=F4(i*h);
{основні обчислення}
Libman;it:=1;
while p and (it<100) do begin
Libman;it:=it+1;
end;
{вивід результатів}
WriteLn('результати обчислень:');
Write(' ');
for j:=0 to n1 do write(j*h:2,' ');
WriteLn(' ');
Write(' ');
for i:=m1 downto 0 do begin
Write(' ',(i*l):2,' ');
for j:=0 to n1 do Write(u[i,j]:5:2,' ');
WriteLn(' ');
end;
WriteLn(' ');
Write(' ');
for j:=0 to n1 do Write(j*h:2,' ');
WriteLn(' ');
WriteLn(' ');
WriteLn('число ітерацій: ',it:2);
WriteLn('похибка e= ',e:1:3);
ReadKey
end.
XIII. Лабораторна робота 5
З а в д а н н я 4. Знайти наближене рішення задачі Діріхлє для рівняння Лапласа
у квадраті
з вершинами:
,
з граничними умовами виду:
,
,
,
,
вибравши
квадратну сітку з шагом
з точністю рішення
.
ВАРІАНТИ КОНТРОЛЬНИХ ЗАВДАНЬ
№ |
|
|
|
|
1 |
|
|
|
|
2 |
|
|
0 |
|
3 |
0 |
|
|
|
4 |
|
|
0 |
|
5 |
|
|
|
|
6 |
|
0 |
0 |
|
7 |
|
|
|
|
8 |
|
0 |
|
0 |
9 |
0 |
|
|
|
10 |
|
|
|
|
11 |
|
|
|
|
12 |
|
|
|
|
13 |
|
40 |
|
40 |
14 |
|
0 |
|
|
15 |
|
|
|
20 |
16 |
|
|
0 |
|
17 |
|
|
|
|
18 |
|
0 |
|
|
19 |
|
|
0 |
|
20 |
|
30 |
30 |
|
21 |
|
|
|
|
22 |
|
|
0 |
|
23 |
|
|
|
20 |
Варіанти індивідуальних завдань(закінчення) |
||||
№ |
) |
|
|
|
24 |
|
0 |
|
|
25 |
|
|
|
|