Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математические основы моделирования сложных физических систем

.pdf
Скачиваний:
26
Добавлен:
14.03.2016
Размер:
2.94 Mб
Скачать

в узлах x = . В окрестности узла используем аппроксимацию

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

x,t

y

,t

 

 

 

xi

 

 

i

 

 

xi

 

 

 

 

i

y

i

 

,t

 

i

xi

y

 

,t

. (4.53)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда для частных производных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

x,t

y

 

 

,t

 

 

x

 

 

 

 

 

 

y

 

 

 

 

,t

 

 

x

 

 

 

(4.54)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

xi

 

 

 

 

i

 

 

 

 

 

i

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь

(x) - функции Хэвисайда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем новые обозначения. Любой функции

F

x,t

 

 

сопоставим

следующие сеточные функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

det

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

,t

=T

 

 

 

 

 

F

x,t

,

 

 

 

 

 

 

 

(4.55)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

det

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

,t

=Ti

 

 

 

 

 

F

x,t

,

 

 

 

 

 

 

 

(4.56)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

det

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F i

,t

=Si

 

 

 

 

 

F

x,t

,

 

 

 

 

 

 

 

(4.57)

 

 

 

 

 

 

 

 

 

 

 

 

 

def

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

,t =T

 

 

 

 

x

 

i

F

 

x,t .

 

 

 

 

 

(4.58)

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

i

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

Легко убедиться, что 1

 

=

 

1

h

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

3

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из (4.44) получаем правило сдвига:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.59)

 

 

Fi

 

,t

= Fi

 

 

hi

i

,t ;

 

 

Fi

,t

 

= Fi

 

hi

i

,t .

Из (4.16), (4.18), (4.19) имеем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

xi

 

 

 

, xi

 

, i

hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi

 

 

2

 

 

 

 

 

 

i

i

h

 

i

, x

 

=

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.60)

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, xi

 

 

i ,

i

hi

i

,

 

 

 

 

60

 

 

2

 

xi

, xi

 

hi i , i

 

 

 

 

 

 

 

 

 

2 i

i

h

i

, x = hi i

 

 

 

(4.61)

i i i

i

 

 

 

 

 

 

 

0, xi

i

hi

i ,

i

Поэтому

Fi hi i ,t = Ti hi i xi i hi i F x,t =

h

i

 

 

(4.62)

i i

 

 

 

=

dxi i i hi i , xi xi i hi i

i

i

, x F x,t d .

 

 

 

i

i

 

i

 

 

Учитывая (4.18), (4.60), получаем правило сдвига

 

 

 

 

 

 

Fi

 

 

hi

 

i

,t = Fi

 

,t .

 

Аналогично

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fi

 

 

hi

 

i

,t = Fi

,t .

 

Используя (141), (148), (153), получаем аппроксимацию

 

 

 

S

 

 

 

A x,t

 

u

x,t

 

 

,t y ,t ,

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

i

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где оператор i

,t в интервале

i

i

определен по правилу

 

 

 

 

 

 

 

 

 

 

 

i

,t

y

,t

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ai

 

 

hi

 

i

,t y

,t ,

, i = xi

 

 

 

 

 

 

 

 

 

 

 

 

 

hi

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ai

,t y

,t ,

 

 

, i = xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi

 

 

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

Ai

 

 

 

hi i ,t y

 

,t

Ai

 

,t y

,t ,

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ai

 

 

 

hi

 

i

,t = Ai

,t ,

 

(4.63)

(4.64)

(4.65)

(4.66)

(4.67)

61

согласно (4.59).

Используя (4.45), (4.53), (4.58), (4.63), получим аппроксимацию

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

G x,t u

 

 

 

H

 

i

,t

y

 

,t

 

 

 

 

G

,t y ,t ,

(4.68)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где оператор

H

определен в интервале

i

i

по правилу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H i

 

 

,t

y

,t

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gi

hi

i

,t y

,t ,

 

 

 

 

 

 

 

, i = xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gi

 

 

,t

y

 

 

 

,t

,

 

 

,

i

= xi

 

 

 

(4.69)

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

hi

 

i Gi

 

 

hi

 

 

 

i

,t y

hi

 

 

 

 

i

 

 

Gi

,t y

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определим сеточную функцию:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

,t

h

 

 

 

G

,t ,

 

 

 

 

,

 

 

x .

(4.70)

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i

i

 

 

i

 

 

 

 

 

 

 

 

 

 

i

i

 

 

Используя (4.16), (4.17), (4.66), (4.68), (4.69), получаем аппроксимацию:

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

u

 

 

 

T

 

G x,t u x,t

 

S

 

A x,t

 

 

 

x,t

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

(4.71)

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G

 

,t y ,t

 

 

Li

 

,t y ,t ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

где оператор L определен по правилу:

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zi

 

hi

 

i

,t y

,t ,

 

, i = xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi i

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L ,t

=

 

 

 

 

2

 

zi

,t

y

,t ,

 

 

 

, i

= xi

(4.72)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi

 

 

 

 

i

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zi

,t y

 

 

,t

,

 

, i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

где по определению для сеточной функции

 

 

y

 

 

=

 

 

1

 

 

y

hi

 

 

y

.

 

 

 

 

 

 

(4.73)

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если для производной

 

u

использовать аппроксимацию вида (4.53), то

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для сеточной функции T

K

x,t

 

 

u

получим аппроксимацию:

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

n

 

 

y

,t

 

 

 

 

 

y

 

 

 

 

T

K

x,t

x,t

 

 

 

 

Ki

,t

 

 

 

K

,t

 

,t ,

(4.74)

t

 

 

 

 

 

 

t

 

 

 

t

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

где оператор

K

определяется аналогично

оператору

(4.69),

 

с

заменой

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обозначения функции G на функцию K .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При использовании

аппроксимации

(4.74)

в

левой

части

уравнения

(4.52) появятся недиагональные члены при производной по времени, что будет препятствовать использованию излагаемых в [3], [4] алгоритмов расщепления.

Исходя из этих соображений, для члена с временной производной,

используем аппроксимацию, оставив лишь диагональный член

T

K

x,t

 

 

u

 

x,t

K ,t

y

,t .

(4.75)

 

 

 

 

 

 

 

 

 

t

 

 

t

 

 

Используя (4.45), (4.54), (4.56), получим аппроксимацию

 

T

B

x,t

 

 

u

x,t

,t

y

,t ,

(4.76)

 

 

 

 

 

 

i

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

где оператор определен по правилу:

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,t

y

,t =

 

 

 

 

 

 

i

 

 

 

 

 

63

Bi

,t y ,t ,

 

, i = xi

 

i

 

 

 

 

Bi

,t

y

 

 

,t ,

 

, i

= xi

(4.77)

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi i

Bi

,t y

hi

i Bi

,t y

 

,

þ

 

 

 

2

i i

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для внутренних узлов аппроксимация (4.76) в одномерном случае на равномерной сетке получена методом Галеркина в [3], с.201.

Определим сеточные функции:

qi

,t

= S

Ai

x,t

 

Ei

x

,t

/ Di

 

x

,t

,

(4.78)

 

 

i

 

 

 

i

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

,t

= S

Ai

x,t

 

Gi

x

,t

/ Di

 

x

,t .

(4.79)

 

 

 

 

i

 

 

 

i

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для аппроксимации граничных операторов в (4.52) необходимо

использовать аппроксимацию

следа функции

 

u

x,t

 

на гранях

параллелепипеда. Из (4.53) получаем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

u

x,t

y

,t

 

 

x j

j

y

,t

,

 

ji

,

(4.80)

 

 

i

 

j=1

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

u

x,t

y

,t

 

 

x j

j

y

 

 

,t

,

 

ji .

(4.81)

 

 

j

 

 

 

i

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

i

 

 

 

 

 

 

 

 

 

 

Использование (4.80), (4.81) в (4.52) приводит к необходимости повторного расщепления разностных операторов после расщепления (4.52) на задачи, определенные на дробных временных интервалах или расщепление

(4.52) на систему уравнений [3], [4].

Поэтому в окрестности граничных узлов используем аппроксимацию

u x,t

y ,t ,

ji .

(4.82)

 

i

 

 

 

64

 

 

Определим сеточные функции

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

(4.83)

ri

,t

=

 

 

i

qi

,t

 

i

qi

,t

,

,

 

 

 

 

 

 

hi

 

 

hi

 

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

(4.84)

ti

,t

=

 

 

 

i

pi

,t

 

i

pi

,t

,

.

 

 

 

 

 

 

hi

 

 

hi

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

Используя (4.71), (4.75), (4.76), (4.82), получим аппроксимацию

уравнения (4.52):

K ,t

y ,t

= F

,t

G

,t y ,t

 

 

 

 

 

t

 

 

(4.85)

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Li

,t y

,t

i

,t y

,t

ti

,t y ,t

ri ,t ,

i=1

 

 

 

 

 

 

 

 

 

 

 

Для того, чтобы получить стандартную эволюционную задачу,

аппроксимацию начального условия запишем в виде:

 

 

 

 

 

y

,0

= T

u0 x

= u

,

 

(4.86)

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

4.5. Расщепление эволюционной задачи Коши В результате разностной аппроксимации по пространственным

переменным получена общая эволюционная задача Коши (4.85), (4.86) на множестве сеточных функций в области . Проведем расщепление этой задачи на систему дифференциальных уравнений согласно общей стандартной схеме [3] с.501, [4], с.133. Представим уравнение (4.85) в виде

K ,t

y ,t

=

Ai ,t y ,t

fi ,t ,

,

(4.87)

 

 

 

n

n

 

 

 

 

 

 

 

 

 

 

 

 

t

 

i=1

i=1

 

 

 

где

65

 

 

 

 

 

 

 

 

 

 

A1 y = Ly p1 y t1 y z1

Gy

 

 

 

 

 

 

 

 

 

 

 

 

 

Ai y = Ly

i y

 

ti y

 

 

zi ,i = 2,..., n

 

(4.88)

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F1 = F, Fi = 0,i = 2,..., n

 

 

 

 

 

Введем временную сетку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t j

, j = 0,1,...,tn = 0.

 

 

 

 

На промежутке

t j ,t j

1

произведем расщепление уравнения (4.87) на цепочку

задач Коши

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K

 

v1

 

= v

F ,t

 

= t

 

,t

 

 

,v t = y t

 

 

 

 

 

 

 

 

 

1

j

j

1

j

 

 

 

 

 

 

t

 

 

A

1

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

............................................................................... ,

(4.89)

 

 

 

 

K

 

vn

= v

F ,t

 

 

,v t

 

 

= v

t

 

 

 

 

 

 

 

 

 

 

 

j

j

 

j

 

 

 

 

 

 

 

t

 

 

A n

n

 

 

n

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где vi = vi

,t ,

 

 

 

. Чтобы замкнуть цепочку положим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

,t j 1 = vn

,t j

1

 

, y

 

,0

= u

 

(4.90)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

Каждый оператор

Ai

является локально одномерным,

определен на

множестве

 

 

 

и по

переменной

 

i

 

 

представляется трехдиагональной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

матрицей.

Поэтому на

 

j

после дискретизации по времени каждая задача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

системы (4.89) сводится к линейной системе, которая может быть решена методом прогонки. Таким образом, представленная схема расщепления

является экономичной [3], [4].

 

 

 

Каждое уравнение системы (4.89) имеет вид:

 

 

 

 

 

v ,t

 

 

 

 

K

,t

= A ,t v ,t F ,t ,t

j ,

(4.91)

 

 

 

t

 

 

 

Понимая (4.91) в обобщенном смысле, сопоставим ему интегральное

66

тождество:

 

 

 

 

t j

1

 

v

,t

 

 

 

 

 

 

 

 

 

 

K

,t

 

t

dt =

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

t j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t j

1

 

 

 

 

 

t j

1

 

 

 

 

 

=

A ,t

v

,t j t

dt

 

j

t F ,t dt,

(4.92)

 

 

t j

 

 

 

 

 

 

t j

 

 

 

 

где функция

j

W /

j

. Без ограничения общности считаем функцию

j

 

2

 

 

 

 

 

 

 

 

 

нормированной:

t j 1

j

t j

t dt = 1.

(4.93)

На отрезке t j ,t j

1

используем аппроксимацию

 

 

 

 

 

 

 

v ,t

1

 

v j

1

 

 

v j

 

 

 

,v

 

,t

v j 1

1

 

 

v j ,

(4.94)

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= t

j 1

t

j

,v j

= v

 

,t

j

,v j

1

= v

,t

j

1

 

 

(4.95)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обозначим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t j

1

 

 

 

v

 

,t

 

 

 

 

 

 

 

 

 

 

 

K j

 

=

 

 

K

,t

 

 

t dt, A j

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t j 1

 

 

 

 

 

 

 

 

 

 

 

 

t j

1

 

 

 

 

 

 

 

 

 

=

 

 

A

,t

 

 

j t

dt, F j

 

 

=

F

,t

j t

 

dt.

(4.96)

 

 

 

 

t j

 

 

 

 

 

 

 

 

 

 

 

 

t j

 

 

 

 

 

 

 

 

Тогда для (4.92) получим аппроксимацию в виде схемы с весами:

 

 

 

 

 

 

 

 

 

 

K j

 

v j 1

 

 

v j

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= A j

 

v j

1

1

 

 

 

v j

 

F j

,

 

 

 

 

(4.97)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

67

 

 

 

 

 

 

 

 

 

 

 

 

Если соответствующие функции непрерывны, то по теореме о среднем

K j

= K ,t* , A j

= A ,t** , F j

= F ,t*** ,

(4.98)

где t*,t**,t*** - некоторые значения из

j

.

 

 

 

 

 

 

 

Каждая разностная задача (4.97) может быть решена методом прогонки,

т.к. все разностные операторы в (4.97) представляются трехдиагональными матрицами.

4.6. Пример вычислительной программы

Программа fem4.cpp рассчитывает источник F(x,t) = 0 в уравнении

 

u

n

2u

n

A u

n

B

n

B u

 

F (x,t) = K (x,t)

 

i=1 Ai

 

 

i

 

 

u i=1

i

 

i

 

 

Gu,

t

xi2

i=1

xi xi

xi

i=1

xi xi

а также граничные условия

u

Ei = Ci (xi ,t) Di (xi ,t) xi (xi ,t).

Пользователю необходимо задать функции для вычисления

 

u

 

2u

 

A

 

B

 

 

K , u,

 

,

 

, A ,

i

,

B ,

i

, G,

C ,

D

 

x2

 

 

 

x

 

i

x

i

x

i

i

 

i

 

i

 

i

 

i

 

 

В программе fem4.cpp приведен пример тестирования для точного решения

 

u =

1

(x3 y3 t3 ),

 

 

3

 

 

 

 

 

где

 

 

 

 

A = x3

y3 t2 , B = x3 y3

 

t, G = x u t, C = 1, D = 1.

i

i

 

i

i

Результаты приведены в выходном файле fulltest.tex. Аппроксимация точного

решения порядка 1%.

68

5. ВОЛНОВОЕ УРАВНЕНИЕ С ЗАТУХАНИЕМ

5.1. Классическая постановка начально-краевой задачи Волновое уравнение описывает многие физические процессы в

различных разделах физики. В том числе оно описывает и транспорт быстрых электронов в веществе, если учитываются флуктуации потерь энергии. Это уравнение гиперболического типа с начальными условиями и граничными условиями. Роль времени в этом уравнении играет потерянная энергия.

Пусть в полосе x

 

[a,b] , t t0

поставлена следующая граничная задача

для неизвестной функции u = u(x,t)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2u

 

K (x,t)

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

t2

t

 

 

 

=

 

A(x,t)

 

 

u

B(x,t)

 

 

u

G(x,t)u

F (x,t), x

(a,b)

(5.1)

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x

 

 

 

 

 

x

 

 

 

 

 

 

 

с линейными краевыми условиями третьего рода

 

 

 

 

C (x,t)u(x,t)

D (x,t)

 

u

 

 

= a,

= b,

(5.2)

 

 

 

= 0,

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

x=

 

 

 

и начальными условиями

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u(x,t)

 

t=t0

= u0 (x),

 

u

 

 

= u1(x),

x [a,b].

 

(5.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

t =t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

При определенных предположениях об условиях гладкости функциональных коэффициентов задача (5.1) - (5.3) имеет единственное классическое решение

u(x,t) C2 ([a,b] [t

, )).

0

 

Это волновое уравнение, в котором коэффициент A(x,t) имеет размерность квадрата скорости, коэффициенты при первых производных K(x,t) и B(x,t)

определяют затухание волны в пространстве и во времени, коэффициент

69