Скачиваний:
38
Добавлен:
15.06.2014
Размер:
471.55 Кб
Скачать

Тема 6. Метод сеток для решения ДУ в частных производных

Одномерное нестационарное уравнение теплопроводности:

Явная и неявная схемы

Задача Дирихле для двумерного уравнения Пуассона

Метод простой итерации с релаксацией

Метод Зейделя

Метод продольно-поперечной прогонки

06/25/19

1

Задача о нагреве стержня, по которому пропускается ток

 

0

b

z

 

 

 

 

T=4c

 

Как получить такое

 

T=3c

 

T

 

распределение не

 

 

 

 

T=2c

 

проводя эксперимент?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T=1c

T=0

0

b

 

06/25/19

2

Одномерное нестационарное уравнение теплопроводности

u

 

 

 

u

 

u(0, t) 0 ;

u(b, t) 1;

u( x, 0) u0 ( x).

 

 

 

g

 

f ;

 

 

 

t

 

 

 

x

 

 

 

 

 

x

 

 

 

 

 

T

Область интегрирования

 

 

t

 

 

0 x b, 0 t T

 

 

 

 

Сетка

 

tk

 

h, (i 1)h, k , i 1... n1, k 0... K

 

 

 

Таблица искомого решения

 

xi

 

u

 

 

 

u

k ; u(x tk )

Xi-1

Xi+1

b

h

 

i

i

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

06/25/19

 

 

 

 

 

 

 

3

Получение конечноразностной схемы

t

ik xi 1/ 2 x xi 1/ 2 , k t (k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ik

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

x

x

tk

 

 

 

 

 

 

 

u

;

u k 1

u k

x

x

x

 

 

t

 

i

i

i-1

i

i+1

 

x

 

 

 

 

 

 

 

 

 

 

 

g

u

 

;

gi 1/ 2uik 11 gi 1/ 2 gi 1/ 2 uik 1 gi 1/ 2uik 11

 

 

 

x

 

 

 

 

h

2

 

 

x

 

 

 

 

 

 

06/25/19

4

Явная схема

u k 1 u k

 

 

 

gi 1/ 2uik 1

gi 1/ 2 gi 1/ 2

uik gi 1/ 2uik 1

 

 

i

i

 

 

 

 

 

 

fi

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

u k 1

u k

 

gi 1/ 2uik 1 gi 1/ 2 gi 1/ 2 uik gi 1/ 2uik 1

f

i

 

 

 

i

i

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

Погрешность и Условие устойчивости:

t

 

h o( h2 )

1

h2

tk

h N

2

tk+1

1

 

 

 

06/25/19

xi-1 xi xi+1

x

5

 

 

Реализация явной схемы

u(i)=u0; x(i)=(i-1)*h; gi(i)=G(x(i)+h/2); 1≤i≤N+1

th2= tau/h^2;

t=0;

Plot(x,u);

for k=1:K

for i=2:N

u1(i)=u(i)+th2*(gi(i-1)*u(i-1)-(gi(i-1)+gi(i))*u(i)+

gi(i)*u(i))+tau*f(i);

end

u1(1)=be0;

u1(N1)=be1;

Plot(x,u1);

u=u1;

t=t+tau;

end;

06/25/19

6

Неявная схема

u k 1 u k

 

 

gi 1/ 2uik 11

gi 1/ 2 gi 1/ 2

uik 1 gi 1/ 2uik 11

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fi

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

u k 1

 

 

 

g

 

h

2

 

g

 

u k 1

h

2

u k h2 f

 

i

1/ 2

 

g

i 1/ 2

i 1/ 2

 

u k 1

i 1/ 2

 

i

 

i 1

 

 

 

 

i

 

i 1

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aiui 1 biui ciui 1

di ,

i 2... n.

ai gi 1/ 2 ;

c g

i

1/ 2

;

 

 

 

i

 

 

b a c h2 / .

 

i

i

i

 

 

 

 

d

i

h2

/ uk h2

f

;

i 2...n.

 

 

i

 

i

 

 

h o( h2 )

абсолютно устойчива

06/25/19

t

tk+1

t

1k

xi-1 xi xi+1

x

 

7

Метод прогонки

Прямой ход:

c / b ;

d

1

/ b ;

b 1; c 0; d

1

0

1

1

1

1

1

1

1

 

for i 2...n 1

i ci / bi ai i 1 ; i di ai i 1 / bi ai i 1 ;

Обратный ход:

u

 

n1

;

 

n1

1

n1

 

 

 

 

for i n...1

ui iui 1 i .

06/25/19

8

Реализация метода прогонки

u(i)=u0; x(i)=(i-1)*h; gi(i)=G(x(i)+h/2);

1≤i≤N+1

for k=1:K

 

c(1)=…; b(1)=…; d(1)-…;

 

for i=2:N

 

a(i)=

 

b(i)=

 

c(i)=

 

d(i)=

 

end

 

ks(1)=-c(1)/b(1); et(1)=d(1)/b(1);

 

for i=2:N1

z=b(i)+a(i)*ks(i-1);

ks(i)=-c(i)/z; et(i)=(d(i)-a(i)*et(i-1))/z;

end;

u1(N1)=be1;

For i=N:-1:1

u1(i)=ks(i)*u1(i+1)+et(i);

End;

Plot(x,u1);

u=u1;

t=t+tau;

end;

06/25/19

9

Неявная схема второго порядка Кранка-Николсона

uik 1 uik

0.5L u k 1 0.5L u k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

i

 

 

 

 

x i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

 

 

u

k 1

 

 

g

 

g

i 1/ 2

u

k 1

g

 

 

u

k 1

h2

g

 

 

 

 

 

 

 

 

 

 

 

 

i 1/ 2

 

i 1

 

 

 

i 1/ 2

 

 

 

 

i

 

 

 

i 1/ 2 i 1

 

 

0.5

 

 

 

u

k

 

 

g

 

 

g

 

 

 

u

k

g

 

 

u

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

g

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

 

i

1/ 2

 

i 1

 

 

i 1/ 2

 

i 1/ 2

 

i

 

 

 

 

i 1/ 2

i 1

 

 

 

i

h o(

2

2

устойчива

 

hабсолютно)

06/25/19

10