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

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

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

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

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

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

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

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

05.01.2011

1

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

0

 

b

z

 

 

 

 

T=4c

 

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

 

 

 

T

T=3c

 

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

 

 

 

T=2c

 

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

 

 

 

T=1c

T=0

0

b

 

05.01.2011

2

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

u

 

 

 

u

 

f ;

u ( 0, t ) 0 ;

u ( b, t ) 1 ;

u ( x , 0 ) u 0 ( x ).

g

 

 

 

 

t

 

x

x

 

 

 

 

 

T

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

 

 

 

 

t

 

 

0 x b , 0 t T

 

 

 

 

 

 

Сетка

 

 

tk

 

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

k 0 ... K

 

 

 

 

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

Xi-1

xi

Xi+1

u h

u ik

u ( xi t k )

b

 

 

 

 

 

 

 

x

 

 

 

05.01.2011

3

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

 

k

x

i 1 / 2

x x

i 1 / 2

, k t ( k 1)

t

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

u

 

f

 

 

 

 

g

 

 

ik

 

 

 

 

 

 

 

 

 

t

x

x

 

tk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

k 1

 

 

k

 

 

u

u

xi-1 xi xi+1

 

 

 

 

i

 

i

x

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

k 1

g

 

g

 

 

 

 

k 1

g

 

 

 

k 1

g

i 1 / 2

u

i 1 / 2

i

1 / 2

u

i 1 / 2

u

 

g

 

 

 

 

i 1

 

 

 

i

 

 

i 1

 

 

 

 

 

 

 

 

 

h 2

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

05.01.2011

4

Явная схема

 

 

 

u ik 1

u ik

 

 

 

g i 1 / 2

u ik 1

g i 1 / 2 g i 1 / 2

u ik

g i 1 / 2

u ik 1

 

f i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

g

 

 

g

 

 

 

k

 

g

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

u

 

 

 

u

 

u

 

 

 

 

 

 

 

k 1

 

 

k

 

 

i 1 / 2

 

i 1

 

 

 

i 1 / 2

 

i 1 / 2

 

i

 

 

 

i 1 / 2

 

 

i 1

f

 

 

 

u

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h o ( h 2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 2

 

 

 

 

 

 

tk+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

1

 

 

 

 

 

 

 

 

 

 

 

t1k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

05.01.2011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi-1

 

xi xi+

 

 

x

5

1

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

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;

05.01.2011

6

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

g i 1 / 2

 

 

 

 

 

k 1

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u ik 1 u ik

 

 

 

 

g i 1 / 2 u i 1

 

 

g i 1 / 2 u i

 

g i 1 / 2 u i 1

f i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

2

 

 

 

 

 

 

 

 

 

h

2

 

 

 

 

g i 1 / 2

uik11

 

g i 1 / 2 g i 1 / 2

 

 

 

uik 1 g i 1 / 2

uik 1

1

 

 

uik

h 2 f i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a i

 

 

 

 

ci

 

 

d i ,

i 2 ... n .

 

 

 

 

 

 

 

 

 

u i 1 bi u i

u i 1

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a i g i 1 / 2 ;

 

 

 

 

ci g i 1 / 2 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

i

a

i

c

i

h 2 / .

 

 

 

 

 

 

 

 

d

i

h 2

/ u k

h 2 f

;

i 2 ... n.

 

 

 

 

 

i

i

 

 

tk+1

t1k

h o ( h 2 )

 

 

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

xi-1 xi xi+1

x

05.01.2011

 

7

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

Прямой ход:

 

1

c

1

/ b ;

 

1

d

1

/ b ;

b 1; c

1

0; d

1

0

 

 

1

 

 

1

1

 

 

fo r i 2 ...n 1

i ci / bi ai i 1 ; i d i ai i 1 / bi ai i 1 ;

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

 

 

 

 

 

 

 

 

 

1

u

n 1

n 1

;

n 1

 

 

 

 

 

 

fo r

i n ...1

 

 

 

u i i u i 1 i .

05.01.2011

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;

05.01.2011

9

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

 

u ik 1

u ik

 

 

 

 

 

 

 

k 1

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 .5 L x u i

 

 

0 .5 L x u i

f i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 .5

 

g

 

 

 

 

 

 

k 1

g

 

 

g

 

 

 

 

 

 

 

 

k 1 g

 

 

 

 

 

 

k 1

 

 

 

i 1 / 2

u

i

1 / 2

i 1 / 2

u

 

i 1 / 2

u

 

 

 

 

 

 

 

h

2

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 .5

 

 

 

 

 

 

k

g

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

g

 

 

 

 

 

f

 

 

 

 

 

i 1 / 2

u

i 1 / 2

i 1 / 2

 

u

i 1 / 2

u

 

i

 

 

 

 

 

 

 

 

 

 

h

2

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

i

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h o ( 2 h 2 ) а б с о л ю т н о у с т о й ч и в а

05.01.2011

10