Вы находитесь на странице: 1из 126

621.454.

3
. _______


..-.,
___________..
__.__.09




: 160100 -

...,

. .

. .

2009

621.454.3

. 126, . 63, . 5, . 18 .
, ,
,
, ,
, .

.



.


.


.
:
-
;
-
;
-
.
,

.
: , 4 ,
18 , 2 , 22
; 31 .
.

.
..
.

126

, . 409-2

1
1.1
1.2
1.3 -
1.4
2
2.1
2.2
2.3

3

3.1
3.2 ,

3.3
3.4
3.5
3.6
3.7
3.8

4

4.1
4.2
4.3
4.4
4.5

4
6
8
8
16
21
26
32
32
37
41
58
58
59
62
64
65
67
68
71
77
77
78
88
97
99
101
102
104


E , /;
F , 2;
G , /;
, ;
I , /;
L , ;
R , /;
S , 2;
, ;
, /;
, /;
e , ;
h , ;
k ;
m , ;
r , ;
t , ;
u , /;
u, v, w , /;
;
;
, /3.


0 ;
i, j ;
;
;
;
;
;
.

;
;
;
.


()
,
, , ()
. ,
,
( , ,
, .), ,

.
,
:
1) ;
2) ();
3) ;
4)
.
, ,
,
,
,
. ,
,

.
,

()
.
6

,
.

.
,
.

:

.

1
1.1


.
1.1.

1 ; 2- ; 3 ;
4 ; 5 .
1.1 .

()
, .

.
, , ,
.
.

, .
.
, ,
() . ,
,
.

.

.

, .
.


.
:
.
;
.
.
.

.
u=

de
,
d

(1.1)

de () d.
S
():
m =Su ..

(1.2)


.

[3].
1. , , . .
.
9

, .
2. , , . .
.
.
, .
3. , , . .
.


.
,
, , ,
( , ) .

V .

:
MT
+1 .
V =e ln 
MK

(1.3)


:
2k RT
e = ,
k-1

(1.4)

R ,
k=cp /cv .
,
:
I1 = e g ,
g .
10

(1.5)

(1.3) ,

(
). ,
, .
( )
(1.4) ,
.
, .
, ,
: .
, .

. .

, ()
.

, .
, ,
,
- , .

,
( , , ).
(
).

[4]

800-1200 , 2000-2500 ,
~ 200 .

.
11

,
. , ,
, , , .
, ,
[3]. , , ,
,
,
; , , ,
, , ,

.
,
. , ,
.

, .
.

. , ,
.
.
,
, ( 1,8 /3).
, , 250
( 340 ).

[5]. ,
50-70 ,
100 .

12

. ,
20-60 , 60.

, .

1,5-6,5 5-20 .

. ,

-55 75 .

,
(2500-2700 ) 20-200 c,

, .

, ,
. ,
, , .
-
, , (
, , . .).
230-250
1,7 /3
.
400-600
1500-2000
. [5] 20, 40 65
.
100-300 .
200-300 .
13

3500-3800 3000-3200 , . . 85%


. 300-350 ,
100-140 40-50 ;
100 . 20-30 ,
20000-25000 .

2400-4600 . -1
12,7 ; 41 ; 9
;
240 . 1,2 7,5 9 .
450 . -3
4600 .
.
.
31-40 ,
1000-12000 .
400900 . 900 360
, 900 ; 65 250
. 4,5 20 .

.

6,6 .
45 15,9 . .

6,6

45 .
, 1
2-4 , .

14

1.2 .

1.2
[6]. ,
,
15


, ,
.
1.2
,
,
.
.

, (
). ,
, .

, , ,
.
~ 10-25%.
,
(
), -
. ,
, , ,
. .
,
.
:
; ;

,
.
16

. [3],
, ,
.
,
.
,

,

.
, ( ,
) , , ,
, . .
, , .

1.3
( ) [5].

[5]:
60-70% ,
10-15% ,
5-10% ,
10-20% ,
0,1-1% ,
0,5-2% .
17

.
.
(),
1.3 1.4.

1.4 ( )

(p/p0=68) [5].


7-10% ( ),
,

, 1.1 [5]:
1.1 .

, %
, %
, /

30
70
698

18

25
75
864

20
80
1010

15
85
1050

10
90
1260

, 20-25%

( );
, .
.
, .

,
. ,
,
.
[5].
15-20%
- 15
, 30 ,
50 .
- .

, ,

. ,
.

, 1.2 [5]:
1.2 (%).

2
70,0

62,0

16,0

18,0

11,0

2,5

0,5

19

19,5
0,5


200 , 30
( )
.
.
80C, 75-80C 10 .

.
250 50 .
[5],
( 1.3).
1.3 (%).

60-70

10-15
1-2

19

60-70
10-12
15-20
2


.
1.4
41,5 ( ).
1.4 .


NH4ClO4
Al
Fe2O3

, /

71,0
15
0,30

, %
71,0
70,0
15
15
1,0
2,25

75,0
15
0,50

13,7

13,0

12,75

9,50

10,7

14,5

17,8

13,2

115
915
405 . , 90,5%
20

(, , ),
. , ,
15% , 71% , 0,3%
13,7%
1,5-1,6 .
, 90-90,5% ,
,
1,8 /3, 2-3
6-7 20-30 .
[5].
1.3 -


-
.

( ),


.
,
[3].

, . ,

, ,
, .
, ,

, .
21

, ,

[5].

(
), ,
.
, , . ,
,
, , ,
, , ,

(,

), .
,
,
. , ,
,
.
. .
,
1.5 1.6 [5].


1.5 .
22

1.6 [5].

. ,
,
,
- ,

.


.


.

-
.


.

.
23

[3]. ,
,

.

( 1.6).

,
, ,
.
,
.
,
,
.

.

.
= f (p) .
u=Bp

(1.6)

u=A1 +B1 p.

(1.7)

(1.6) (1. 7) , , 1 ,
.
.
24


.

, , = 0,6-0,8 [5]. , ,

( ):
1

BS 1-
= 
,
AF

(1.8)

(,
); F .

, ,

.

. ,
; ,

.

,
, ,
.

.
,
[3].

25

1.4

, ,
, ,
.
.
, 1.5,
.

( ) ,
[3].
.
.
,

.
,
,

.

1.7 .
26

. .

.
. . [4]:
S
(1.9)
= ,
F
S , F
( 1.8).

1.8 .

,
. ,

.

:
u S= w F,

(1.10)

, u , ,
w .
,
, .

w =

u
.

(1.11)

, ,

. ,
, pv ( ~ 0,7).
27

.

w
/ ~.

(1.12)

).

.
, .

. ,
, ,
1.8 . ,
,
.

,
.

u u0;
( ) :
u
=
.
(1.13)
u0
(w)
.
[3]
=1+c(w -w.. ),

(1.14)

w.. ,
, . . =1, c .

28


()
, .
.
,
,
.

. ,
,
, .
, ,
, ,
.

w,
w. ,

1.9. ,

w
w , = 1:
*
w
.
=
(1.15)
 w *

1.9 [3].
29


= 1 + c , >
.

1
,

(1.16)

w ,

(1.14).

, .
,
.
[7]


m

w
=+  cf0 ,
u0

(1.17)

cf0 ,
(1.18).
cf0 =0,0592Re-0,2 ,

(1.18)

Re .
(1.17)
[7]: = 0,843; = 1,58; m = 1,264.
,
, (1.17), 1. ,
(<1) ,

,
:
m

w
w
=+  cf0 , +  cf0 >1

u0
u0
m

w

c 1
 =1, + 
u0 f0

30

(1.19)


:
u =u0 =u01 p ,

(1.20)

u01 , p ,
 .
[4].
, -, , -,

.
,

,


w /u0 , u0 
.
.
,
,
.

31

2
2.1

,
.

[8].
,

.
,

,
.
,

.

,
, ,
.

.
,
, ,
.
,
, , ,

.
32

,
.
, ,

.

,
, .


,
.
v
, ,
, ,
, ..
v =

1
F

v x dF ,
F

(2.1)

F .
,
,
.
,

.

.
,
, ,
.
33


,
, ,

,
.
,
. , ,
, .
.
.

. , ,
, .
, ..
, .
,
,
,
().
.

, .
, ,
() [8].
,

S,

V,
.

34

,
() S.
V.
,
.
() ,

.
, ,
, ""
. ,
.
,
, ,

V, S.
, ,


.

- ,
,
:

dF
v x dF = T uT dh,
t
x

F
F
h

v x dF + v x2 dF = dF ,

t F
x F
x F

v2
p v2
p v2

I
dF
v
I
dF
u
I
+
+
=
+
+
+
x 2
T T + 2 dh,

2
x

F
F
h

35

(2.2)

p, , v , ; I
; T, uT
; h .
(2.2) ,
.
:
p = RT ,

(2.3)

R ; T .
,
,
:
F
= uT dh.
t h

(2.4)

:
T

I = cv dT .
0

, v ,

I = c vT .

(2.5)

1.

, ,

F
p
pdF = pF + p
= F ,

x F
x
x
x

(2.2) (2.4) :

36


I
t

F + vF = T uT h,
x
t

p
vF + v 2 F = F ,
t
x
x
2
2

v
p v
+ F + v I + + F = T uT hH T ,
2
x
2

(2.6)

F
= uT h.
t

HT ,
( ).
(2.6) [2]:

F + vF = f1 ,
x
t

p
= f2,
vF + v 2 F + F
t
x
x

FE + FvE + Fpv = f 3 ,
t
x
x
F
= uT h.
t

E = I +

(2.7)

v2
;
2

f1, f2, f3 .
2.2

.


,
,
, ,
,
- [2].
37

,
,
(, ,
).

( ).

[3]:
, ,
;

.
.
,
, .
,

, .

,
:
-
r ru rv
+
+
= 0;
t
z
r

(2.8)

[(

)]

ru p + u 2 r ruv
+
+
= 0,
t
z
r
rv ruv p + v 2 r
+
+
= p;
t
z
r

[(

38

)]

(2.9)
(2.10)

-


u 2 + v2
p u2 + v2
r u I + +
r
I +
2
2



+
+
t
z

p u2 + v2
r
v I + +
2


+
= 0.
r

(2.11)

:
, v
( z , r z),
p, I.
, ,
.
p = p( , I ).

(2.12)

(2.8)...(2.11)
A0 A1 A2
+
+
.
t
z
r

.

.

(2.8)...(2.12)
,
. 2.1.
(2.8)...(2.12)
,
N N,
, .
.

39

2.1 [3].

.

.
( ) .
: ) I,
H; )
; ) ,
,
. ( )

. N N ( )

. ,
. N N ,
,
.
, ( t = 0)
u, v, , , I = f (0, z, r).
2.2
, [3].

40

2.2 ( ),
.

2.3


, :
,
, .

2.3 .


q1, q2, q3 ( 2.3) [2]:
H1H 2 H 3

A+
H 2 H 3B +
H 1 H 3C +
H1H 2 D = F .
t
q1
q2
q3
41

(2.13)


v
w

uv
wv
u 2
u

2
wv

v

uv

A = v ; B =
; D =
;
; C =
2

uw

vw
w

p




p
p
E
u E +
v E +
w E +

H
H

vH
d

wH
d
2
3
3
12
2
13

q1

H 1 H 3 p uH 3 d 21 wH 1d 23
F =
;
q2

p
H H
uH 2 d 31 vH1d 32
1 2

q3

d12 = u

H
H 1
H
H
v 2 ; d13 = u 1 w 3 ;
q1
q2
q1
q3

d 21 = v

H
H 2
H
H
u 1 ; d 23 = v 2 w 3 ;
q2
q1
q2
q3

d 31 = w

H 3
H
H
H
u 1 ; d 32 = w 3 v 2 .
q3
q1
q3
q2

Hi (i=1, 2, 3) , :
2

x y z
+
+
.
H i =
qi qi qi

(2.14)

( ) .
,
.

,
.
,
, ,
42


. ,
(, )
.
.
2.4 ,
, .

0 , 0L1; L1L ; 0L
, 0, ; AB, EF
, L1L; ,
EF OL1.
2.4 .

, , L1 A .
2.5 .

2.5, L1
.
43

, 0 ( 2.4)
.
0 0D ,
L 0L1.

2.4 CD

, L
.
L
, 0 01 .
:

= .
EF ,
DF CD .
, ,
, L1C L1D ( 2.5)
. :

x2 y2
+
= 1,
a2 b2
a=|L1C|, a=|L1D|.
, ,
, ,
~
~~
~
~~
L1BA ( 2.5). BA A , a L1B
.

y
= tg .
x

(2.15)

y (2.15),

1 tg 2
x = 2 + 2
b
a
2

x.
44

x y (2.15).

~
L1A = x 2 + y 2 .
,
L ( 2.4) .
LGHL2 ,
2.6.

~
LDG

EF 2.4,

L.
() LB1H CD,
, .
= 0 .
,
, 2.6.
L2B1H.
.

~
LL2 ; L2B1H LDG
.
2.6 LGHL2 ,
L1L.
45

: =1 x=L2B1, a
L2H.

~
L2B1H LDG G

, HG
LGHL2.
LGHL2 1,
( = 0) LG.
1 1 1
~
LDB1L 2 , = 0.
11
, :
B1H = A1C.

1 LC
LCA1.

LC =

A1C
.
tg

, , LB1H.
LB1H ( 2.6),
CD 2.4.
, /2.

. 2.7,

F ( x, y ) = 0.

(2.16)

LGHL2 2.7
LH.

LH. LB1H 2.7 1


. 1 . 2.6
. (2.16),
,
46

2.7, x 1
2.7. LB1.

2.7
.

,
= arctg

B1H
.
LB1

(2.17)

LH LB1 HB1.
LCBl.
LB1 LC .
,
1,

(B1C )2 = (LC)2 + (LB1 )2 2(LC)(LB1 )cos .

(2.18)

, L
( ),
LH ( 2.7) L1A ( 2.5)
.
2.4 0 .
2. , = /2
3/2, .

.

47

CD EF ,
L ,
HG ( 2.6).
= 0 DF ( 2.4).
= .
= /2 3/2 ( 2.7) ( 2.5)
x, GH .
CD EF
. = 0
DF .
/2 EF
CD |DF| .
/2 , 3/2 , ,
3/2 2 |EC|,
|EC| |DF|.

EF CD DF, .
~
LH ( 2.7) L1A ( 2.5) .
, 0 (/2, 0), ,
, LGH
( 2.6). LH LG LH ( 2.7)
~
L1A ( 2.5).
LH (
~
2.7) L1A ( 2.5) . , LH
LG ( 2.6).
, LGH .
LG LH 1.
LG LH ,
LG = LH cos 1 .

1.
48

GH:
GH = LH sin 1 .

, LGH ,
HG .
, HG .
LA1H.
LH . 1 1
. LA1=LC/cos .
, LA1H
1 LH LA1, :

(HA1 )2 = (LH )2 + (LA1 )2 2(LH )(LA1 )cos 1.

2
2
2
LH ) + (LA1 ) (HA1 )
(
cos 1 =
..
2(LH )(LA1 )

(2.19)

cos 1, 1.
1 LGH , LG LH
,

(HG )2 = (LH )2 + (LG )2 2(LH )(LG )cos 1 .

(2.20)

HG LGH .
HG LGH ( 2.6)
,
, 1 2.
LGH .
~
1 1 2.

.
i (i = 1,2).

= 1 + 2.
= |HG|.
49

HG LGH ( 2.6)
,
HG LGH.
HG, ,
. .
,
,

=

r
.
R ( , )

(2.21)

.
x y
,
x = R ( , ) sin ,
.
x = R ( , ) cos .

(2.22)

L1L ( 2.4).
2.4 = 0 EF 0.
z,
2.8. ,
2.4 = 0. L1L
0L1L 2.4 .
d . + d 0N
N.

NK

0L1,

= 0 . NK z
. -
.
z.

50

2.8 0MN,
dz d.

NK 0L,
0N QMN. 0N R1( + d).

R1 ( + d ) = R ( ) +

dR
d . .
d

(2.23)

0MN /2+.
, :
NM
=
d

R1
R
=
.

cos
sin +
2

, (d)2,

NM =

R d
.
cos

L 0L1 LK1.
LK1=K1S+SL=KM+SL.

KM = KN MN = R1 sin( + d )
51

R d
.
cos

cos d = 1, sin d = d,
R

R1 ( + d ) = R ( ) +
(sin + cos d ) =

R
= R ( ) sin + R ( ) cos +
sin d .

KM = R( ) sin R( ) tg sin d +

R
sin d .

: SL+KM=0K1tg.
0K1=R()cos.

SL = R ( ) sin + R ( ) tg sin d

R
sin d + R( ) sin =

R
= R ( ) tg
sin d .

(2.24)

z
d :
dz = NM LS =

R d R sin 2
R
d +
sin d =

cos
cos

sin d .
= R ( ) cos +

(2.25)

R
z = R ( ) cos +
sin d ,

(2.26)

, .
z ,
, ,
, 2.8, dz
.

52

R() .
z, L1L,
.
, ,
z z0 z,
( = 0), .
2>>3/2 , /2>>0, z0
z, L ( 2.6).
z0 HG ( 2.6)
~
L 2 LDB1 , = 0.
z0 , .
z0 2.6.
LGH
HN, = 0
z.
2.9 1 .
HN , z
z 1 ( 2.9).
LB1 2.6
0L 2.8, 2.9 , , 0L1
2.4 2.8.
1 z,
0L1.
L 1.
LRB1.
LR 2.9 0L1 2.4
~.
LD

~ G ( 2.9) LF
LD

( 2.4).

53

B1 H = 0; MB1 z0 B1.
2.9 0MN,,
dz d.

LRB1 LB1
B1R = LB1 sin .

B1R z
,, L.
z0 B1R , :
z 0 = LB1 sin .

z0

(2.27)
,

HG ( 2.6).
~
z0 G z0 D
~
LD sin .
54

z0
~
G, ' LDB1L 2 ( 2.6,
~
2.9), L 2 B 2 H1B1
HG H1 ( 2.10). z 1
z 2.

~
, , L 2 B 2 H1 , HG.

12.
LB2 12 ,
, (2.16)
( 2.7).
12 , ,
LB2, (2.16)
.

z0=|R1B2|
2.10 z0 B2.
55

2 0L1 2.8.
B2M1.
L 21.
LR1. LM1 ,
LB2 ('+ ).

LB2

LR1B2 R1B2.
R 1B 2 = LB 2 sin ( '+ )

(2.28)

R1B2 z0 z
H1.
z , ,
z0(, ) ,
(2.26), . :

R
z = R( ) cos +
sin d z 0 ( , ).

(2.29)


= 0.
, . z0
, .
,

,
S ,
HG
LGH (. 26). .
.
(2.22), (2.29)
(2.14) q1 = , q2 = q3 = , :

56

H 1 = R( , );
2 R 2 z 2
H 2 = R + +
;

(2.30)

R z
H3 =
+
.

(2.30) (2.13),


.

57

3

3.1

,
. . . . .

,
.
() ,
. , ,
,
.
( ) ,
, [1]:
1. , ,
( ),
;

.
 u , v, E
2. ,
.
3.
(, v, , )
,
.
,
t
( ),
(
);
58

,

(
); , ,

,

( t
, ).

() .
3.2

. ,
k- ,
.

R ; L ;
r ; r ; l .
3.1 .
59

( 3.1),
. 3.1,
l,
,
.

(2.8)(2.11),
:
r
+divrW=0,
t
ru
p
+divruW+ =0,
t
z
rv
p
+divrvW+ =0,
t
r
rE
+divrEW+divrpW=0,
t

(3.1)

W=ui+vj.
p, , W , ; i, j
z r;
:
E=cv T+W2 /2,

(3.2)

v , .
(3.1) :
p=(k-1)I,

(3.3)

I=E-W2 /2=cv T () ,
k=cp /cv ,
p .

,
.
()

60

).

, ,
, , ,
. , ,
,
.

, ,

. ,

, .
(3.1) ,
. ,

( 3.1).
wS,
, :
w =T uT ,

(3.4)

, u ,
, wS
.
,
W (, v W z, r )
a;

a;

a2; R
( ); t R/a.

61

3.3

() ( 3.2)
z r.
i ( r) j ( z) .

3.2 .

,
, () .
div(rW), =(1, u, v, E),
, (3.1) .
, , ,
, (3.1) (3.1) , v, .
ru p
+ =0,
t z
rv p

+ =0,
t r
rE
+divrpW=0.

62

(3.5)

(3.5) tn, x,
( ) i, j:
u n
n
i,j   rz=- pni,j+1/2 -pni,j-1/2
r,
t i,j
v n
n
i,j   rz=- pni+1/2,j -pni-1/2,j
z,
t i,j
E n
n
i,j   i-1/2rz=
t i,j

(3.6)

=- pni,j+1/2 uni,j+1/2 -pni,j-1/2 uni,j-1/2


(i-1/2)r +
+ ipni+1/2,j vni+1/2, -(i-1)pni-1/2,j vni-1/2,j
z ,
:
n

n
f n fi,j -fi,j
, f=u, v, E.
  =
t
t i,j

(3.7)

(3.5) -
:
pni,j+1/2 -pni,j-1/2 t
n
n
,
u i,j =ui,j ni,j
z
vni,j =vni,j -

pni+1/2,j -pni-1/2,j t
r

ni,j

ipni+12,j vni+12, -i-1pi-12,j vni-12,j


n
i,j =Eni,j - 
E
+
i- 12r

(3.8)

pni,j+1/2 uni,j+1/2 -pni,j-1/2 uni,j-1/2 t


+
 n .
z
i,j

(3.8) u , v, E
tn+t,
.
, , c
[9]:
63

ui+12 =

ui +ui+1 pi -pi+1
+
,
2
2a

p +p
ui -ui+1
pi+12 = i i+1 +
a ,
2
2

(3.9)

.
(3.9)
,
,
( 0,1) Ku,
:
Kua

t
<1,
s

(3.10)

a , s z r.
3.4
,
.
t Mn .
,
. , (3.1)
:
n+1
(i-1/2)r2 z=ni,j (i-1/2)r2 z-Mni+1/2,j +Mni-1/2,j -Mni,j+1/2 +Mni,j-1/2
i,j

(3.11)

, ,
Mni,j+1/2 =(i-1/2)r2 ni,j+1/2  u ni,j+1/2 t.

(3.12)

 .
,
. Mn
, .
Mn .
:

64

vni,j +vni+1,j
n
 ii,j
rzt, vni,j +vni+1,j >0,
2
n
Mi+1/2,j =
n
n
 n u i,j +u i+1,j
n
n
i
rzt,

v

+v

i,j
i+1,j <0,
i,j

2
 ni,j +u ni,j+1 2
n u
(i-1/2)i,j
r t, u ni,j +u ni,j+1 >0,
2
Mni,j+1/2 =
n
n
u

+u

n i,j  i,j+1
r2 t, u ni,j +u ni,j+1 <0.
(i-1/2)i,j
2

(3.13)

.

tn ( u v
),
, .


E (3.1)
(3.8) (3.13).
3.5
,
tn+1=tn+t.
,
, (
) E,
:
Mn+1 =Mn +  Mn ,
Pn+1 =Pn +  Pn ,
En+1 =En +  En .
65

(3.14)

Mn , t
;
.  Pn  En .
(3.14) , ,
, , t
.
, Mn (
)
( ). Mn
.
,
, Mn
.
, ,
Dni,j (i, j) k=1, 2, 3 4,
3.3.

3.3 (i,j)

Dni,j(k), k,
:
1, (i,j) k,
Dni,j (k)= 
0, (i,j) k.

(3.15)


, X (, v, E) tn+1=tn+t
:

66

n+1
=ni,j +
i,j

1
Dni,j (1)Mni,j-1/2 +Dni,j (2)Mni-1/2,j +
2
(i-1/2)r z

+Dni,j (3)Mni,j+1/2 +Dni,j (4)Mni+1/2,j -[1-Dni,j (1)]Mni,j-1/2 +[1-Dni,j (2)]Mni-1/2,j +


+[1-Dni,j (3)]Mni,j+1/2 + [1-Dni,j (4)]Mni+1/2,j  ,
Xn+1
i,j =

1
n
ni,j-1 Mni,j-1/2 +Dni,j (2)X
ni-1,j Mni-1/2,j +
(1)X
D
i,j
(i-1/2)r2 zn+1
i,j

(3.16)

ni,j+1 Mni,j+1/2 +Dni,j (4)X


ni+1,j Mni+1/2,j +X
ni,j (i-1/2) r2 zn +Dni,j (3)X
i,j
-[1-Dni,j (1)]Mni,j-1/2 -[1-Dni,j (2)]Mni-1/2,j -[1-Dni,j (3)]Mni,j+1/2 - [1-Dni,j (4)]Mni+1/2,j  .
, , .

( )
( ,
).
3.6
(t = 0)
,
(
).
-
, 3.1. ,
t = 0
( 3.1),
p = 100 , 0,
.
, k- ,
:
R=

8314 8314

=
326 

M
25,5

67

(3.17)

3.1 - .
3

, /
, /
, /

u1, /

T,

, /
v, /
, /
, /2
,
k-
,

1730
1220
0,4
1000
7
0,25
470
1954
1642
0,3
9,810-5
25,5
0,3
3028

3.7
, ,
3.4. ,
( )

DF, .
:
, CD DE
( );
AFK ; BC
;
EK
.

,
,
. ,
.
68

3.4 .

z M, r
N, AB (i,0) (i=1N),
BC (N+1,j) (j=1M), CF (i,M+1) (i=1N), AF (0,j)
(j=1M). z 3,
r g, FD (i,0) (i=1g),
DE (g+1,j) (j=1, 2, 3), EK (i,3) (i=1g), FK (0,j)
(j=1, 2, 3).
AB, CD DE
,
:
- AB (i=1N)
ui,0 =-ui,1 , vi,0 =-vi,1 , i,0 =i,1 ,

Ei,0 =Ei,1 ;

(3.18)

- CD (i=g+1N)
ui,M+1 =-ui,M , vi,M+1 =-vi,M , i,M+1 =i,M ,
- DE (j=1, 2, 3)
69

Ei,M+1 =Ei,M ;

(3.19)

ug+1,j =-ug,j , vg+1,j =-vg,j , g+1,j =g,j ,

Eg+1,j =Eg,j .

(3.20)

AFK ,

, :
u0,j =u1,j , v0,j =-v1,j , 0,j =1,j ,

E0,j =E1,j .

(3.21)

DF, ,
:
- (i=0g):

u
i,M+1 =ui,1 , vi,M+1 =vi,1 , i,M+1 =i,1 , Ei,M+1 =Ei,1 ;

(3.22)

- (i=0g):

u
i,0 =ui,M , vi,0 =vi,M , i,0 =i,M , Ei,0 =Ei,M .

(3.23)

EK ( , i=0g)
p,
:
k

(3.24)

p =p 2k+1k-1 ,
p .

,
(
) ( ):
ui,4 =ui,3 , vi,4 =vi,3 , i,4 =i,3 ,

p
u2i,4 +v2i,4
Ei,4 =
+
.
2
(k-1)i,4

(3.25)

(
)

, .
,
. ,

,
. ,
70

,
- .
3.8


,
BC ( 3.4). , ,
.
(3.8)(3.16)
, . . ,
,
( 3.4).
BC ,

3.5).

,
.

3.5 .


: Ai-1/2,j, Ai,j-1/2, Ai+1/2,j, Ai,j+1/2, fi,j, fi,j
y; Ai+1/2,j
(i+1/2, j), , . . ( i,j ,
fi,j = 1, Ak=1 (k=1, . . ., 4)).

,
71

(3.10). ,
f<<1 f=1

.
, . . Ai-1/2,j1, Ai,j-1/21,, fi,j 1,
.

.
, ,
, f>>1 .

: f=1 f<1 ( 3.6).

3.6 .

,
: f 0,5.
72

,
, :

r 1,5 dr r = min(r j ) .

(3.26)


rj-1 ( ) rj ( ) ( 3.5),
:
rj = (1 n) dr + e j ,

(3.27)

n , ; ej
(i, j).
ej :
e j = uTj t ,

(3.28)

uTj , (1.20).
, ,
, .
,
rj ( 3.5).
(3.27).


:

AN , j 1/ 2

r j 1
rj

(
)
1
r j 1 ( N 1)r +
r
N
r

+
j

2
2

, AN , j +1/ 2 =
,
=
(N 1/ 2)r 2
( N 1/ 2)r 2
Ai 1/ 2, j = Ai +1/ 2, j = 1,
fN, j =

(N 1)(r j 1 + r j )r + r j 1 r j +
(2 N 1)r

(rj r j1 )2
3

(3.29)

(3.8)(3.16)
.
Mn ( (3.13)), ,
,
73

. (3.8) (3.16)
fN,j.
:
pnN,j+1/2 AN,j+1/2
n
n
u N,j =uN,j -

- pnN,j-1/2 AN,j-1/2

pnN+1/2,j AN+1/2,j n
vN,j =vnN,j -

pnN-1/2,j AN-1/2,j 

t
,
fN,j nN,j
t
,
fN,j nN,j
n

AN+1/2,j N pnN+12,j vnN+12, - AN-1/2,j N-1p  vnN-12,j


n
N-1 2,j
N,j =EnN,j - 
+
E
N- 12r
+

AN,j+1/2 pnN,j+1/2 unN,j+1/2 - AN,j-1/2 pnN,j-1/2 unN,j-1/2


z

(3.30)

t
.
fN,j nN,j

()
fN,j n+1 (N-1/2)r2 z=
N,j

=fN,j nN,j (N-1/2)r2 z-MnN+1/2,j +MnN-1/2,j -MnN,j+1/2 +MnN,j-1/2

(3.31)

, ,
MnN,j+1/2 =AN,j+1/2 (N-1/2)r2
nN,j+1/2
u nN,j+1/2 t.

(3.32)

, , ()

1
DnN,j (1)MnN,j-1/2 +DnN,j (2)MnN-1/2,j +
2
(N-1/2)r z
+DnN,j (3)MnN,j+1/2 +DnN,j (4)MnN+1/2,j -([1-DnN,j (1)]MnN,j-1/2 +[1-DnN,j (2)]MnN-1/2,j +

=fN,j nN,j +
fN,j n+1
N,j

+[1-DnN,j (3)]MnN,j+1/2 + [1-DnN,j (4)]MnN+1/2,j  ,


Xn+1
N,j =

1
n
nN,j-1 MnN,j-1/2 +DnN,j (2)X
nN-1,j MnN-1/2,j +
(1)X
D
Nj
(N-1/2)r2 z fN,j n+1
N,j

nN,j+1 MnN,j+1/2 +DnN,j (4)X


nN+1,j MnN+1/2,j +X
nN,j (N-1/2)r2 z f n +DnN,j (3)X
N,j N,j
-[1-DnN,j (1)]MnN,j-1/2 -[1-DnN,j (2)]MnN-1/2,j -[1-DnN,j (3)]MnN,j+1/2 - [1-DnN,j (4)]MnN+1/2,j  .

74

(3.33)

, , ( Ak=1,
k=1,,n;

fN,j=1)

(3.30)(3.33)

(3.8), (3.11)(3.13), (3.16).



.
(1.19)
. w
(N, j).
(1.19) j=1,,M:
m
m
j uN, j
j uN, j
c  , + 
c  1
j =+ 
u0j f0j
u0j f0j
m
j uN, j
j =1, + 
c  1.
u0j f0j

(3.34)

(1.20)
p
r j=1,,M, (1.20)
:
uj =j u0 =j u01j pj 

(3.35)

wS ( 3.4)
(3.4):
wS =

  
.

(3.36)


, ,
,
,
r, -.

wS, (N+1, j) j=1,,M
, (3.37),
.
75

wS =

v N +1, j + v N , j
2

(3.37)

,
(N+1, j) j=1,,M (. .
-) :

v N +1, j = 2 wS v N , j .

(3.38)


:
u N +1, j = u N , j .

(3.39)

(. . )
( 3.1):
TN +1, j = 30280 .


:
p N +1, j = p N , j .

(3.40)

:
N +1, j =

p N +1, j
RTN +1, j

(3.41)


(3.2) (3.3):
u2N+1,j +v2N+1,j RTN+1,j
EN+1,j =
+
.
2
(k-1)

(3.42)


.
( )
.

76

4.1
Borland Delphi 7 Delphi
,

( ).
4.1.

4.1 .
77


( 3.1): R = 0,1 ; r = 0,05 ; r = 0,04 ;
L = 3 ; l = 0,0225 . 80.

20 r 400 z.
r 40.

( 3.2): dr = 0,0025 ; dz = 0,0075 .

[2],

Ku < 0,200,30, (3.10).
t,
Ku < 0,25:
t = 610-7 .
t 0,6 .

3 ( ).
4.2
4.1
,
( 4.2-4.5).
(i, j):
1 (20, 200);
2 (15, 200);
3 (10, 200);
4 (1, 200).

78

4.1
.

4.2 (, ) (t, )
1, 2, 3 4.


(i, 200) i = 120,
( 4.2).
79

4.3 (, 0) (t, )
1, 2, 3 4.

4.4 (v, /) (t, )


1, 2, 3 4.
80

4.5 (u, /) (t, )


1, 2, 3 4.

, 4.2-4.5,

, t ~ 0,025 ,

. ,
,
.
4.6

( 4.7-4.11) t = 0,6 c.
r (i, j) i = 1N:
1 (i, 400);
2 (i, 300);
3 (i, 100);
4 (i, 10).
81

4.6
r.

4.7 (, ) (r, )
1, 2, 3 4.
82

4.8 (T, 0) (r, )


1, 2, 3 4.

4.9 (v, /)
(r, ) 1, 2, 3 4.
83

4.10 (v, /)
(r, ), 2, 3 4.

4.11 (u, /)
(r, ) 1, 2, 3 4.
84

, 4.8-4.10 ,
3 4
r .
4.12

( 4.13-4.17) t = 0,6 c.
z (i, j) j = 1400:
1 (N, j);
2 (15, j);
3 (10, j);
4 (1, j).

4. 12
z.

, 1 ( 4.12)
,

t = 0,6 , r
N = 26,
63,75 z.
85

4.13 (, ) (z, )
1, 2, 3 4.

4.14 (T, 0) (z, )


1, 2, 3 4.
86

4.15 (v, /)
(z, ) 1, 2, 3 4.

4.16 (v, /)
(z, ), 1, 2, 3 4.
87

4.17 (u, /)
(z, ) 1, 2, 3 4.

4.3

. 3 ,
.


,
(1.8).
4.18


( 4.19-4.22).
(i, j):
1 (16, 3);
2 (8, 3);
3 (1, 3).
88

4.18
.

4.19 (, ) (t, )
1, 2 3.
89

4.20 (, 0) (t, )
1, 2 3.

4.21 (v, /) (t, )


1, 2 3.
90

4.22 (u, /) (t, )


1, 2 3.

4.23
,
( 4.24-4.27) t = 0,6 c.
r
(i, j) i = 116:
1 (i, 3);
2 (i, 2);
3 (i, 1).
,

z,

r
.

91

4.23
r.

4.24 (, ) (r, )
1, 2 3.
92

4.25 (T, 0) (r, )


1, 2 3.

4.26 (v, /)
(r, ) 1, 2 3.
93

4.27 (u, /)
(r, ) 1, 2 3.

4.28

( 4.29-4.32) t = 0,6 c.

4. 28
z.
94

z
(i, j) j = 13:
1 (16, j);
2 (6, j);
3 (1, j).

4.29 (, ) (z, )
1, 2 3.

4.30 (T, 0) (z, )


1, 2 3.
95

4.31 (v, /)
(z, ) 1, 2 3.

4.32 (u, /)
(z, ) 1, 2 3.

96

4.4

( 4.34)
( 4.33). , ,
,
,
.

4.33

(i, j):
1 (N, 390);
2 (N, 350);
3 (N, 300);
4 (N, 200).
97

4.34
1, 2, 3 4.


( 4.35)
t = 0,15 ; t = 0,3 ; t = 0,45 ; t = 0,6 .

4.35
.
98

( 4.36),
,
.

4.36 .

4.5
4.37 4.38

t = 0,6 .
4.39
t = 0,6 .
( ). ,
4.38 4.39
, .

99

4.37 .

4.38 .

4.39 .
100




.

. ,

0,1 ,

2,0225 (

0,0225 ), 0,04 ,
, 0,05 .

(, , )
0,6 .

. ,
,

.

.
,
,
.

101


1. .., ..
. .: , 1982. 392 .
2. .., .., .., ..,
.. . .:
, 1994. 304 .
3. .., .., .. .
.: , 1989. 464 .
4. .. . .:
, 1973. 176 .
5. .. . .:
, 1978. 192 .
6. A.M., ..
. .: 1995. 400 c.
7.

..

. .: , 2006. 298 .
8. .. .
.: , 1991. 560 .
9. .., .. ( ).
.: , 1977. 440 .
10. .. :
. : - , 2001.
164 .
11.

..,

..,

..

. .: , 1975. 131 .
12.

..,

..,

..,

. :
, 1985. 182 .
13. .., ..
. .: , 2001. 138 .
102

14. .. ..
. . .:
, 1987. 272 .
15. . .
: .- .: , 1988. 240 .
16. . .
. .: , 1983. 288 .
17.

..

, 1981. 223 .
18. .., ..
. .: , 1973. 348 .

103



()

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Math, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart,
TeeFunci, ComCtrls, ArrowCha, jpeg;
const N=40;
M=400;
g=16;
ht=200;
type

// r
// z
// (g<N-nn)
// (M-ht)

procedure Button1Click(Sender: TObject);


procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ro00, p00, pa, pkr, p_sr, p_sum, Tt, T0, Ta, R, rk, L, U10, rot, nu, v00, k, t, tk, dt,
dz,
dr, rkr, RR, ro_p, dtt, dttt, mu, x0, y0, x1, y1, Po: extended;
exit: boolean;
i, j, jj, nn, nnn, ti: integer;
P, E, RO, U, V, V0, U0, RO0, P0, E0, dMz, dMr, V01, U01, RO01, P01, E01: array[0..N+1,0..
M+1] of extended;
Pk, Ek, ROk, Uk, Vk, Vk0, Uk0, ROk0, Pk0, Ek0, dMzk, dMrk, Vk01, Uk01, ROk01, Pk01, Ek01:
array[0..g+1,0..4] of extended;
U_ks, V_ks: array[0..N,0..M+3] of extended;
Pr_gr, Pz_gr, U_gr, V_gr, Azv: array[0..N+1,0..M+1] of extended;
Prk_gr, Pzk_gr, Uk_gr, Vk_gr, Azvk: array[0..g+1,0..4] of extended;
D1, D2, D3, D4, Tg: array[0..N+1,0..M+1] of extended;
Dk1, Dk2, Dk3, Dk4, Tgk: array[0..g+1,0..4] of extended;
Re, eps,cf0, cf, b, A1, r1, f, A4, v000, Ut, Ut0, et, p_sr_s, p_sum_s, U_sum, U_sr,
RO_sum, RO_sr: array[0..M] of extended;
implementation
{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);


begin
rk:=strtofloat(Edit3.Text);
//
L:=strtofloat(Edit4.Text);
//
Po:=2*3.14159265359*rk*L/(3.14159265359*sqr(rk)); //
R:=326;
//
k:=1.19;
//.
Tt:=3028;
//
dr:=rk*2/N;
dz:=L/M;
dtt:=strtofloat(Edit2.Text);
dttt:=0.3*dr/sqrt(k*R*Tt);
Edit5.Text:=floattostr(dttt);
Label31.Caption:=floattostr(Po);
Label12.Caption:=floattostr(dr);
Label14.Caption:=floattostr(dz);
Label18.Caption:=floattostr(N);
Label19.Caption:=floattostr(M);
Label21.Caption:=floattostr(N/2);
Label30.Caption:=floattostr(g);
Label24.Caption:=floattostr(N*dr);
Label26.Caption:=floattostr(3*dz);
Label28.Caption:=floattostr(g*dr);
if dtt<=dttt then
begin
Label7.Caption:=' ';
Button1.Enabled:=true;
end;
if dtt>dttt then
begin
Label7.Caption:=' ';
Button1.Enabled:=false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled:=false;
// ( )
nn:=20;
// ( )
k:=1.19;
//.
T0:=3028;
//
rot:=1730;
//
p00:=10000000;
//
pa:=100000;
//
Tt:=3028;
//
R:=326;
//
mu:=0.000098;
// /
ro00:=p00/(R*T0); //
ro_p:=p00/(R*Tt); //
rk:=strtofloat(Edit3.Text);;
//
RR:=N*rk/(N-nn);
//
rkr:=g*rk/(N-nn);
//
L:=strtofloat(Edit4.Text);;
//

U10:=0.007;
//
nu:=0.25;
//
v00:=sqrt(k*R*Tt);
//
//
for i:=1 to N-nn do
for j:=1 to M do
begin
et[j]:=0;
V0[i,j]:=0;
U0[i,j]:=0;
P0[i,j]:=p00/(ro_p*sqr(v00));
RO0[i,j]:=ro00/ro_p;
E0[i,j]:=P0[i,j]/(RO0[i,j]*(k-1));
Tg[i,j]:=T0;
end;
//
for j:=1 to 3 do
for i:=1 to g do
begin
Vk0[i,j]:=0;
Uk0[i,j]:=0;
Pk0[i,j]:=p00/(ro_p*sqr(v00));
ROk0[i,j]:=ro00/ro_p;
Ek0[i,j]:=Pk0[i,j]/(ROk0[i,j]*(k-1));
Tgk[i,j]:=T0;
end;
eps[0]:=1;
for j:=1 to M do eps[j]:=1;//eps[j-1]+0.005;
t:=0;
//
nnn:=0;
//
tk:=strtofloat(Edit1.Text);
//
dtt:=strtofloat(Edit2.Text);
//
dt:=dtt*v00/RR;
dz:=(L/M)/RR;
//
dr:=(RR/N)/RR;
//
ti:=0;
//
//
for i:=0 to 3 do
begin
Chart2.Series[i].Clear;
Chart3.Series[i].Clear;
Chart4.Series[i].Clear;
Chart5.Series[i].Clear;
Chart6.Series[i].Clear;
Chart7.Series[i].Clear;
Chart8.Series[i].Clear;
Chart9.Series[i].Clear;
Chart10.Series[i].Clear;
Chart11.Series[i].Clear;
Chart12.Series[i].Clear;
Chart13.Series[i].Clear;
Chart14.Series[i].Clear;
Chart29.Series[i].Clear;
end;

for i:=0 to 2 do
begin
Chart15.Series[i].Clear;
Chart16.Series[i].Clear;
Chart17.Series[i].Clear;
Chart18.Series[i].Clear;
Chart19.Series[i].Clear;
Chart20.Series[i].Clear;
Chart21.Series[i].Clear;
Chart22.Series[i].Clear;
Chart23.Series[i].Clear;
Chart24.Series[i].Clear;
Chart25.Series[i].Clear;
Chart26.Series[i].Clear;
Chart27.Series[i].Clear;
Chart28.Series[i].Clear;
end;
exit:=false;
//
while not(exit) do
begin
for j:=1 to M do
begin
p_sum_s[j]:=0;
U_sum[j]:=0;
RO_sum[j]:=0;
end;
p_sum:=0;
for j:=1 to M do
for i:=1 to N-nn+nnn do
begin
p_sum_s[j]:=p_sum_s[j]+P0[i,j];
U_sum[j]:=U_sum[j]+U0[i,j];
RO_sum[j]:=RO_sum[j]+RO0[i,j];
p_sum:=p_sum+P0[i,j];
end;
p_sr:=p_sum/(M*(N-nn+nnn));
//
for j:=1 to M do
begin
p_sr_s[j]:=p_sum_s[j]/(N-nn+nnn); // /
U_sr[j]:=U_sum[j]/(N-nn+nnn);
// /
RO_sr[j]:=RO_sum[j]/(N-nn+nnn); // /
end;
pkr:=p_sr*power(2/(k+1),k/(k-1)); //
//
for j:=1 to M do Ut0[j]:=U10*power(p_sr_s[j]*(ro_p*sqr(v00))/pa,nu);
//
if t>=0.025 then
begin
for j:=1 to M do
begin
Re[j]:=RO_sr[j]*ro_p*abs(U_sr[j]*v00)*2*(rk+et[j])/mu; //
cf0[j]:=0.0592*power(Re[j],-0.2);
//
eps[j]:=0.843+1.58*power((RO0[N-nn+nnn,j]*ro_p*abs(U0[N-nn+nnn,j]*v00)*cf0[j]/(rot*

Ut0[j])),1.264);//
if eps[j]<1 then eps[j]:=1;
end;
end;
for j:=1 to M do
begin
Ut[j]:=U10*power(P0[N-nn+nnn,j]*(ro_p*sqr(v00))/pa,nu)*eps[j];//

//Ut[j]:=U10*power(p00/pa,nu);
v000[j]:=rot*Ut[j]/(p_sr_s[j]*(ro_p*sqr(v00))/(R*Tt));// /
//v000[j]:=rot*Ut[j]/ro_p;
if t>=0.025 then et[j]:=Ut[j]*t
else et[j]:=0;
//
end;
//P
// z
if (t>tk/4-0.001) and (t<tk/4) then
begin
Chart30.Series[0].Clear;
Chart31.Series[0].Clear;
for j:=1 to M do
begin
Chart30.Series[0].AddXY((j-0.5)*dz*RR, eps[j]);
Chart31.Series[0].AddXY((j-0.5)*dz*RR, et[j]);
end;
end;
if (t>tk/2-0.001) and (t<tk/2) then
begin
Chart30.Series[1].Clear;
Chart31.Series[1].Clear;
for j:=1 to M do
begin
Chart30.Series[1].AddXY((j-0.5)*dz*RR, eps[j]);
Chart31.Series[1].AddXY((j-0.5)*dz*RR, et[j]);
end;
end;
if (t>3*tk/4-0.001) and (t<3*tk/4) then
begin
Chart30.Series[2].Clear;
Chart31.Series[2].Clear;
for j:=1 to M do
begin
Chart30.Series[2].AddXY((j-0.5)*dz*RR, eps[j]);
Chart31.Series[2].AddXY((j-0.5)*dz*RR, et[j]);
end;
end;
if (t>tk-0.001) and (t<tk) then
begin
Chart30.Series[3].Clear;
Chart31.Series[3].Clear;
for j:=1 to M do
begin
Chart30.Series[3].AddXY((j-0.5)*dz*RR, eps[j]);
Chart31.Series[3].AddXY((j-0.5)*dz*RR, et[j]);
end;

end;
r1[0]:=(dr*RR)+et[1]-nnn*(dr*RR);
for j:=1 to M do
begin
r1[j]:=(dr*RR)+et[j]-nnn*(dr*RR);
end;
//
// ( )
for i:=1 to N-nn+nnn do
begin
P0[i,0]:=P0[i,1];
RO0[i,0]:=RO0[i,1];
E0[i,0]:=E0[i,1];
//
V0[i,0]:=-V0[i,1];
U0[i,0]:=-U0[i,1];
end;
// ( )
for i:=g+1 to N-nn+nnn do
begin
P0[i,M+1]:=P0[i,M];
RO0[i,M+1]:=RO0[i,M];
E0[i,M+1]:=E0[i,M];
//
V0[i,M+1]:=-V0[i,M];
U0[i,M+1]:=-U0[i,M];
end;
// ( / )
for i:=1 to g do
begin
P0[i,M+1]:=Pk0[i,1];
RO0[i,M+1]:=ROk0[i,1];
V0[i,M+1]:=Vk0[i,1];
U0[i,M+1]:=Uk0[i,1];
E0[i,M+1]:=Ek0[i,1];
end;
// ( /)
for j:=1 to M do
begin
P0[N-nn+nnn+1,j]:=P0[N-nn+nnn,j];
RO0[N-nn+nnn+1,j]:=(P0[N-nn+nnn+1,j]*(ro_p*sqr(v00))/(R*Tt))/ro_p;
V0[N-nn+nnn+1,j]:=-(2*v000[j]/v00-abs(V0[N-nn+nnn,j]));
U0[N-nn+nnn+1,j]:=U0[N-nn+nnn,j];
E0[N-nn+nnn+1,j]:=((sqr(V0[N-nn+nnn+1,j]*v00)+sqr(U0[N-nn+nnn+1,j]*v00))/2+R*Tt/(k-1
))/sqr(v00);
Tg[N-nn+nnn+1,j]:=Tt;
end;
// ( )
for j:=1 to M do
begin
RO0[0,j]:=RO0[1,j];
E0[0,j]:=E0[1,j];
V0[0,j]:=-V0[1,j];

U0[0,j]:=U0[1,j];
P0[0,j]:=RO0[0,j]*(k-1)*(E0[0,j]-(sqr(U0[0,j])+sqr(V0[0,j]))/2);
end;
//
// ( /)
for i:=1 to g do
begin
Pk0[i,0]:=P0[i,M];
ROk0[i,0]:=RO0[i,M];
Vk0[i,0]:=V0[i,M];
Uk0[i,0]:=U0[i,M];
Ek0[i,0]:=E0[i,M];
end;
// ( / )
for i:=1 to g do
begin
Pk0[i,4]:=pkr/(ro_p*sqr(v00));
ROk0[i,4]:=ROk0[i,3];
Vk0[i,4]:=Vk0[i,3];
Uk0[i,4]:=Uk0[i,3];
Ek0[i,4]:=(sqr(Vk0[i,4])+sqr(Uk0[i,4]))/2+Pk0[i,4]/((k-1)*ROk0[i,4]);
end;
// (. )
for j:=1 to 3 do
begin
Pk0[g+1,j]:=Pk0[g,j];
ROk0[g+1,j]:=ROk0[g,j];
Ek0[g+1,j]:=Ek0[g,j];
//
Vk0[g+1,j]:=-Vk0[g,j];
Uk0[g+1,j]:=-Uk0[g,j];
end;
// ( )
for j:=1 to 3 do
begin
ROk0[0,j]:=ROk0[1,j];
Ek0[0,j]:=Ek0[1,j];
Vk0[0,j]:=-Vk0[1,j];
Uk0[0,j]:=Uk0[1,j];
Pk0[0,j]:=ROk0[0,j]*(k-1)*(Ek0[0,j]-(sqr(Uk0[0,j])+sqr(Vk0[0,j]))/2);
end;
if ti=0 then
begin
ti:=1000;
Label3.Caption:=floattostr(t);
Label36.Caption:=floattostr(N-nn+nnn);
Label39.Caption:=floattostr(p_sr*ro_p*sqr(v00)/100000);
if t>=0.025 then
begin
Chart29.Series[0].AddXY(t, eps[M-10]);
// 1
Chart29.Series[1].AddXY(t, eps[M-50]);
// 2
Chart29.Series[2].AddXY(t, eps[M-100]);
// 3

Chart29.Series[3].AddXY(t, eps[M-200]);
end;

// 4

// ( )
Chart1.Series[0].AddXY(t, V0[N-nn,M-ht]*v00);
// 1
Chart2.Series[0].AddXY(t, E0[N-nn,M-ht]*sqr(v00)/1000000);
// 1
Chart3.Series[0].AddXY(t, P0[N-nn,M-ht]*ro_p*sqr(v00)/1000000);
// 1
Chart4.Series[0].AddXY(t, RO0[N-nn,M-ht]*ro_p);
// 1
Chart5.Series[0].AddXY(t, Tg[N-nn,M-ht]);
// 1
Chart6.Series[0].AddXY(t, U0[N-nn,M-ht]*v00);
// 1
Chart1.Series[1].AddXY(t,
Chart2.Series[1].AddXY(t,
Chart3.Series[1].AddXY(t,
Chart4.Series[1].AddXY(t,
Chart5.Series[1].AddXY(t,
Chart6.Series[1].AddXY(t,

V0[N-nn-5,M-ht]*v00);
// 2
E0[N-nn-5,M-ht]*sqr(v00)/1000000);
//
2
P0[N-nn-5,M-ht]*ro_p*sqr(v00)/1000000);
//
RO0[N-nn-5,M-ht]*ro_p);
// 3
Tg[N-nn-5,M-ht]);
// 2
U0[N-nn-5,M-ht]*v00);
// 2

Chart1.Series[2].AddXY(t,
Chart2.Series[2].AddXY(t,
Chart3.Series[2].AddXY(t,
Chart4.Series[2].AddXY(t,
Chart5.Series[2].AddXY(t,
Chart6.Series[2].AddXY(t,

V0[N-nn-10,M-ht]*v00);
//
3
E0[N-nn-10,M-ht]*sqr(v00)/1000000);
//
3
P0[N-nn-10,M-ht]*ro_p*sqr(v00)/1000000);
//
RO0[N-nn-10,M-ht]*ro_p);
// 3
Tg[N-nn-10,M-ht]);
// 3
U0[N-nn-10,M-ht]*v00);
// 3

Chart1.Series[3].AddXY(t,
Chart2.Series[3].AddXY(t,
Chart3.Series[3].AddXY(t,
Chart4.Series[3].AddXY(t,
Chart5.Series[3].AddXY(t,
Chart6.Series[3].AddXY(t,

V0[1,M-ht]*v00);
//
4
E0[1,M-ht]*sqr(v00)/1000000);
//
4
P0[1,M-ht]*ro_p*sqr(v00)/1000000);
//
RO0[1,M-ht]*ro_p);
// 4
Tg[1,M-ht]);
// 4
U0[1,M-ht]*v00);
// 4

// ( )
Chart19.Series[0].AddXY(t, Vk0[g,3]*v00);
// 1
Chart18.Series[0].AddXY(t, Ek0[g,3]*sqr(v00)/1000000);
// 1
Chart15.Series[0].AddXY(t, Pk0[g,3]*ro_p*sqr(v00)/1000000);
// 1
Chart16.Series[0].AddXY(t, ROk0[g,3]*ro_p);
// 1
Chart17.Series[0].AddXY(t, Tgk[g,3]);
// 1
Chart20.Series[0].AddXY(t, Uk0[g,3]*v00);
// 1
Chart19.Series[1].AddXY(t,
Chart18.Series[1].AddXY(t,
Chart15.Series[1].AddXY(t,
Chart16.Series[1].AddXY(t,
Chart17.Series[1].AddXY(t,
Chart20.Series[1].AddXY(t,

Vk0[8,3]*v00);
// 2
Ek0[8,3]*sqr(v00)/1000000);
// 2
Pk0[8,3]*ro_p*sqr(v00)/1000000);
// 2
ROk0[8,3]*ro_p);
// 2
Tgk[8,3]);
// 2
Uk0[8,3]*v00);
// 2

Chart19.Series[2].AddXY(t,
Chart18.Series[2].AddXY(t,
Chart15.Series[2].AddXY(t,
Chart16.Series[2].AddXY(t,
Chart17.Series[2].AddXY(t,
Chart20.Series[2].AddXY(t,
end;
ti:=ti-1;

Vk0[1,3]*v00);
// 3
Ek0[1,3]*sqr(v00)/1000000);
// 3
Pk0[1,3]*ro_p*sqr(v00)/1000000);
// 3
ROk0[1,3]*ro_p);
// 3
Tgk[1,3]);
// 3
Uk0[1,3]*v00);
// 3

//
if r1[0]>1.5*(dr*RR) then
begin
nnn:=nnn+1;
r1[0]:=(dr*RR)+et[1]-nnn*(dr*RR);
for j:=1 to M do
begin
r1[j]:=(dr*RR)+et[j]-nnn*(dr*RR);
end;
//
for j:=1 to M do
begin
P0[N-nn+nnn,j]:=P0[N-nn+nnn-1,j];
RO0[N-nn+nnn,j]:=RO0[N-nn+nnn-1,j];
V0[N-nn+nnn,j]:=V0[N-nn+nnn-1,j];
U0[N-nn+nnn,j]:=U0[N-nn+nnn-1,j];
E0[N-nn+nnn,j]:=E0[N-nn+nnn-1,j];
end;
// ("" /)
for j:=1 to M do
begin
P0[N-nn+nnn+1,j]:=P0[N-nn+nnn,j];
RO0[N-nn+nnn+1,j]:=(P0[N-nn+nnn+1,j]*(ro_p*sqr(v00))/(R*Tt))/ro_p;
V0[N-nn+nnn+1,j]:=-(2*v000[j]/v00-abs(V0[N-nn+nnn,j]));
U0[N-nn+nnn+1,j]:=U0[N-nn+nnn,j];
E0[N-nn+nnn+1,j]:=((sqr(V0[N-nn+nnn+1,j]*v00)+sqr(U0[N-nn+nnn+1,j]*v00))/2+R*Tt/(
k-1))/sqr(v00);
Tg[N-nn+nnn+1,j]:=Tt;
end;
// (. )
P0[N-nn+nnn,0]:=P0[N-nn+nnn,1];
RO0[N-nn+nnn,0]:=RO0[N-nn+nnn,1];
E0[N-nn+nnn,0]:=E0[N-nn+nnn,1];
//
V0[N-nn+nnn,0]:=-V0[N-nn+nnn,1];
U0[N-nn+nnn,0]:=-U0[N-nn+nnn,1];
// (. )
P0[N-nn+nnn,M+1]:=P0[N-nn+nnn,M];
RO0[N-nn+nnn,M+1]:=RO0[N-nn+nnn,M];
E0[N-nn+nnn,M+1]:=E0[N-nn+nnn,M];
//
V0[N-nn+nnn,M+1]:=-V0[N-nn+nnn,M];
U0[N-nn+nnn,M+1]:=-U0[N-nn+nnn,M];
end;
for j:=0 to M do
begin
A1[j]:=r1[j]*((N-nn+nnn-1)*dr*RR+r1[j]/2)/(sqr(dr*RR)*(N-nn+nnn-1/2));
end;
for j:=1 to M do
begin
f[j]:=((N-nn+nnn-1)*(r1[j-1]+r1[j])*dr*RR+r1[j-1]*r1[j]+sqr(r1[j-1]-r1[j])/3)/((2*(N-

nn+nnn)-1)*sqr(dr*RR));
A4[j]:=1;
end;
// ()
//
//
// ( )
//
for i:=1 to N-nn+nnn do
for j:=1 to M do
begin
Azv[i,j]:=sqrt(k*P0[i,j]/RO0[i,j]);
Azv[0,j]:=sqrt(k*P0[0,j]/RO0[0,j]);
Azv[N-nn+nnn+1,j]:=sqrt(k*P0[N-nn+nnn+1,j]/RO0[N-nn+nnn+1,j]);
Azv[i,0]:=sqrt(k*P0[i,0]/RO0[i,0]);
Azv[i,M+1]:=sqrt(k*P0[i,j]/RO0[i,M+1]);
end;
//, z
for i:=1 to N-nn+nnn do
for j:=0 to M do
begin
U_gr[i,j]:=(U0[i,j]+U0[i,j+1])/2+(P0[i,j]-P0[i,j+1])/(Azv[i,j]+Azv[i,j+1]);
Pz_gr[i,j]:=(P0[i,j]+P0[i,j+1])/2+(U0[i,j]-U0[i,j+1])*(Azv[i,j]+Azv[i,j+1])/4;
end;
//, r
for i:=0 to N-nn+nnn do
for j:=1 to M do
begin
V_gr[i,j]:=(V0[i,j]+V0[i+1,j])/2+(P0[i,j]-P0[i+1,j])/(Azv[i,j]+Azv[i+1,j]);
Pr_gr[i,j]:=(P0[i,j]+P0[i+1,j])/2+(V0[i,j]-V0[i+1,j])*(Azv[i,j]+Azv[i+1,j])/4;
end;
//
for i:=1 to N-nn+nnn-1 do
for j:=1 to M do
begin
U[i,j]:=U0[i,j]-(Pz_gr[i,j]-Pz_gr[i,j-1])*dt/(dz*RO0[i,j]);
V[i,j]:=V0[i,j]-(Pr_gr[i,j]-Pr_gr[i-1,j])*dt/(dr*RO0[i,j]);
E[i,j]:=E0[i,j]-((i*Pr_gr[i,j]*V_gr[i,j]-(i-1)*Pr_gr[i-1,j]*V_gr[i-1,j])/((i-1/2)*dr
)+(Pz_gr[i,j]*U_gr[i,j]-Pz_gr[i,j-1]*U_gr[i,j-1])/dz)*dt/RO0[i,j];
end;
//
//
for j:=1 to M do
begin
U[N-nn+nnn,j]:=U0[N-nn+nnn,j]-(A1[j]*Pz_gr[N-nn+nnn,j]-A1[j-1]*Pz_gr[N-nn+nnn,j-1])*
dt/(dz*RO0[N-nn+nnn,j]*f[j]);
V[N-nn+nnn,j]:=V0[N-nn+nnn,j]-(A4[j]*Pr_gr[N-nn+nnn,j]-Pr_gr[N-nn+nnn-1,j])*dt/(dr*
RO0[N-nn+nnn,j]*f[j]);
E[N-nn+nnn,j]:=E0[N-nn+nnn,j]-((A4[j]*(N-nn+nnn)*Pr_gr[N-nn+nnn,j]*V_gr[N-nn+nnn,j]-(

N-nn+nnn-1)*Pr_gr[N-nn+nnn-1,j]*V_gr[N-nn+nnn-1,j])/((N-nn+nnn-1/2)*dr)+(A1[j]*Pz_gr[N-nn+
nnn,j]*U_gr[N-nn+nnn,j]-A1[j-1]*Pz_gr[N-nn+nnn,j-1]*U_gr[N-nn+nnn,j-1])/dz)*dt/(RO0[N-nn+
nnn,j]*f[j]);
end;
//
for j:=1 to 3 do
for i:=1 to g do
begin
Azvk[i,j]:=sqrt(k*Pk0[i,j]/ROk0[i,j]);
Azvk[0,j]:=sqrt(k*Pk0[0,j]/ROk0[0,j]);
Azvk[g+1,j]:=sqrt(k*Pk0[g+1,j]/ROk0[g+1,j]);
Azvk[i,0]:=sqrt(k*Pk0[i,0]/ROk0[i,0]);
Azvk[i,4]:=sqrt(k*Pk0[i,4]/ROk0[i,4]);
end;
//, z
for j:=0 to 3 do
for i:=1 to g do
begin
Uk_gr[i,j]:=(Uk0[i,j]+Uk0[i,j+1])/2+(Pk0[i,j]-Pk0[i,j+1])/(Azvk[i,j]+Azvk[i,j+1]);
Pzk_gr[i,j]:=(Pk0[i,j]+Pk0[i,j+1])/2+(Uk0[i,j]-Uk0[i,j+1])*(Azvk[i,j]+Azvk[i,j+1])/4;
end;
//, r
for j:=1 to 3 do
for i:=0 to g do
begin
Vk_gr[i,j]:=(Vk0[i,j]+Vk0[i+1,j])/2+(Pk0[i,j]-Pk0[i+1,j])/(Azvk[i,j]+Azvk[i+1,j]);
Prk_gr[i,j]:=(Pk0[i,j]+Pk0[i+1,j])/2+(Vk0[i,j]-Vk0[i+1,j])*(Azvk[i,j]+Azvk[i+1,j])/4;
end;
//
for j:=1 to 3 do
for i:=1 to g do
begin
Uk[i,j]:=Uk0[i,j]-(Pzk_gr[i,j]-Pzk_gr[i,j-1])*dt/(dz*ROk0[i,j]);
Vk[i,j]:=Vk0[i,j]-(Prk_gr[i,j]-Prk_gr[i-1,j])*dt/(dr*ROk0[i,j]);
Ek[i,j]:=Ek0[i,j]-((i*Prk_gr[i,j]*Vk_gr[i,j]-(i-1)*Prk_gr[i-1,j]*Vk_gr[i-1,j])/((i-1/
2)*dr)+(Pzk_gr[i,j]*Uk_gr[i,j]-Pzk_gr[i,j-1]*Uk_gr[i,j-1])/dz)*dt/ROk0[i,j];
end;
//
// ( )
for i:=1 to N-nn+nnn do
begin
E[i,0]:=E[i,1];
//
V[i,0]:=-V[i,1];
U[i,0]:=-U[i,1];
end;
// ( )
for i:=g+1 to N-nn+nnn do
begin
E[i,M+1]:=E[i,M];

//
V[i,M+1]:=-V[i,M];
U[i,M+1]:=-U[i,M];
end;
// ( / )
for i:=1 to g do
begin
RO0[i,M+1]:=ROk0[i,1];
V[i,M+1]:=Vk[i,1];
U[i,M+1]:=Uk[i,1];
E[i,M+1]:=Ek[i,1];
end;
// ( /)
for j:=1 to M do
begin
V[N-nn+nnn+1,j]:=-(2*v000[j]/v00-abs(V[N-nn+nnn,j]));
U[N-nn+nnn+1,j]:=U[N-nn+nnn,j];
E[N-nn+nnn+1,j]:=((sqr(V[N-nn+nnn+1,j]*v00)+sqr(U[N-nn+nnn+1,j]*v00))/2+R*Tt/(k-1))/
sqr(v00);
end;
// ( )
for j:=1 to M do
begin
E[0,j]:=E[1,j];
V[0,j]:=-V[1,j];
U[0,j]:=U[1,j];
end;
//
// ( /)
for i:=1 to g do
begin
ROk0[i,0]:=RO0[i,M];
Vk[i,0]:=V[i,M];
Uk[i,0]:=U[i,M];
Ek[i,0]:=E[i,M];
end;
// ( / )
for i:=1 to g do
begin
Pk[i,4]:=pkr/(ro_p*sqr(v00));
ROk0[i,4]:=ROk0[i,3];
Vk[i,4]:=Vk[i,3];
Uk[i,4]:=Uk[i,3];
Ek[i,4]:=(sqr(Vk[i,4])+sqr(Uk[i,4]))/2+Pk[i,4]/((k-1)*ROk0[i,4]);
end;
// (. )
for j:=1 to 3 do
begin
Ek[g+1,j]:=Ek[g,j-1];
//
Vk[g+1,j]:=-Vk[g,j-1];
Uk[g+1,j]:=-Uk[g,j-1];
end;
// ( )

for j:=1 to 3 do
begin
Ek[0,j]:=Ek[1,j];
Vk[0,j]:=-Vk[1,j];
Uk[0,j]:=Uk[1,j];
end;
// ()
// dM
//
//, z
//
for i:=1 to N-nn+nnn-1 do
for j:=0 to M do
begin
if U[i,j]+U[i,j+1]>0 then
dMz[i,j]:=abs((i-1/2)*RO0[i,j]*(U[i,j]+U[i,j+1])*dr*dr*dt/2);
if U[i,j]+U[i,j+1]<0 then
dMz[i,j]:=abs((i-1/2)*RO0[i,j+1]*(U[i,j]+U[i,j+1])*dr*dr*dt/2);
if U[i,j]+U[i,j+1]=0 then
dMz[i,j]:=0;
end;
//
for j:=0 to M do
begin
if U[N-nn+nnn,j]+U[N-nn+nnn,j+1]>0 then
dMz[N-nn+nnn,j]:=A1[j]*abs((N-nn+nnn-1/2)*RO0[N-nn+nnn,j]*(U[N-nn+nnn,j]+U[N-nn+
nnn,j+1])*dr*dr*dt/2);
if U[N-nn+nnn,j]+U[N-nn+nnn,j+1]<0 then
dMz[N-nn+nnn,j]:=A1[j]*abs((N-nn+nnn-1/2)*RO0[N-nn+nnn,j+1]*(U[N-nn+nnn,j]+U[N-nn+
nnn,j+1])*dr*dr*dt/2);
if U[N-nn+nnn,j]+U[N-nn+nnn,j+1]=0 then
dMz[N-nn+nnn,j]:=0;
end;
//, r
//
for i:=0 to N-nn+nnn-1 do
for j:=1 to M do
begin
if V[i,j]+V[i+1,j]>0 then
dMr[i,j]:=abs(i*RO0[i,j]*(V[i,j]+V[i+1,j])*dr*dz*dt/2);
if V[i,j]+V[i+1,j]<0 then
dMr[i,j]:=abs(i*RO0[i+1,j]*(V[i,j]+V[i+1,j])*dr*dz*dt/2);
if V[i,j]+V[i+1,j]=0 then
dMr[i,j]:=0;
end;
//
for j:=1 to M do
begin
if V[N-nn+nnn,j]+V[N-nn+nnn+1,j]>0 then

dMr[N-nn+nnn,j]:=A4[j]*abs((N-nn+nnn)*RO0[N-nn+nnn,j]*(V[N-nn+nnn,j]+V[N-nn+nnn+1,j
])*dr*dz*dt/2);
if V[N-nn+nnn,j]+V[N-nn+nnn+1,j]<0 then
dMr[N-nn+nnn,j]:=A4[j]*abs((N-nn+nnn)*RO0[N-nn+nnn+1,j]*(V[N-nn+nnn,j]+V[N-nn+nnn+1,j
])*dr*dz*dt/2);
if V[N-nn+nnn,j]+V[N-nn+nnn+1,j]=0 then
dMr[N-nn+nnn,j]:=0;
end;
//
//, z
for j:=0 to 3 do
for i:=1 to g do
begin
if Uk[i,j]+Uk[i,j+1]>0 then
dMzk[i,j]:=abs((i-1/2)*ROk0[i,j]*(Uk[i,j]+Uk[i,j+1])*dr*dr*dt/2);
if Uk[i,j]+Uk[i,j+1]<0 then
dMzk[i,j]:=abs((i-1/2)*ROk0[i,j+1]*(Uk[i,j]+Uk[i,j+1])*dr*dr*dt/2);
if Uk[i,j]+Uk[i,j+1]=0 then
dMzk[i,j]:=0;
end;
//, r
for j:=1 to 3 do
for i:=0 to g do
begin
if Vk[i,j]+Vk[i+1,j]>0 then
dMrk[i,j]:=abs(i*ROk0[i,j]*(Vk[i,j]+Vk[i+1,j])*dr*dz*dt/2);
if V[i,j]+V[i+1,j]<0 then
dMrk[i,j]:=abs(i*ROk0[i+1,j]*(Vk[i,j]+Vk[i+1,j])*dr*dz*dt/2);
if V[i,j]+V[i+1,j]=0 then
dMrk[i,j]:=0;
end;
// ()
// t=t+dt
//
//
for i:=1 to N-nn+nnn-1
for j:=1 to M do
begin
//
// (1)
if U[i,j-1]+U[i,j]>0
if U[i,j-1]+U[i,j]<0
// (3)
if U[i,j]+U[i,j+1]>0
if U[i,j]+U[i,j+1]<0
// (2)
if V[i-1,j]+V[i,j]>0
if V[i-1,j]+V[i,j]<0

do


then D1[i,j]:=1;
then D1[i,j]:=0;
then D3[i,j]:=0;
then D3[i,j]:=1;
then D2[i,j]:=1;
then D2[i,j]:=0;

// (4)
if V[i,j]+V[i+1,j]>0 then D4[i,j]:=0;
if V[i,j]+V[i+1,j]<0 then D4[i,j]:=1;
//
RO01[i,j]:=RO0[i,j]+(D1[i,j]*dMz[i,j-1]+D3[i,j]*dMz[i,j]+D2[i,j]*dMr[i-1,j]+D4[i,j]*
dMr[i,j]-((1-D1[i,j])*dMz[i,j-1]+(1-D3[i,j])*dMz[i,j]+(1-D2[i,j])*dMr[i-1,j]+(1-D4[i,j])*
dMr[i,j]))/((i-1/2)*dr*dr*dz);
// z (u)
U01[i,j]:=(D1[i,j]*U[i,j-1]*dMz[i,j-1]+D2[i,j]*U[i-1,j]*dMr[i-1,j]+D3[i,j]*U[i,j+1]*
dMz[i,j]+D4[i,j]*U[i+1,j]*dMr[i,j]+U[i,j]*((i-1/2)*dr*dr*dz*RO0[i,j]-(1-D1[i,j])*dMz[i,j-1
]-(1-D2[i,j])*dMr[i-1,j]-(1-D3[i,j])*dMz[i,j]-(1-D4[i,j])*dMr[i,j]))/((i-1/2)*dr*dr*dz*RO01
[i,j]);
// r (v)
V01[i,j]:=(D1[i,j]*V[i,j-1]*dMz[i,j-1]+D2[i,j]*V[i-1,j]*dMr[i-1,j]+D3[i,j]*V[i,j+1]*
dMz[i,j]+D4[i,j]*V[i+1,j]*dMr[i,j]+V[i,j]*((i-1/2)*dr*dr*dz*RO0[i,j]-(1-D1[i,j])*dMz[i,j-1
]-(1-D2[i,j])*dMr[i-1,j]-(1-D3[i,j])*dMz[i,j]-(1-D4[i,j])*dMr[i,j]))/((i-1/2)*dr*dr*dz*RO01
[i,j]);
// (E)
E01[i,j]:=(D1[i,j]*E[i,j-1]*dMz[i,j-1]+D2[i,j]*E[i-1,j]*dMr[i-1,j]+D3[i,j]*E[i,j+1]*
dMz[i,j]+D4[i,j]*E[i+1,j]*dMr[i,j]+E[i,j]*((i-1/2)*dr*dr*dz*RO0[i,j]-(1-D1[i,j])*dMz[i,j-1
]-(1-D2[i,j])*dMr[i-1,j]-(1-D3[i,j])*dMz[i,j]-(1-D4[i,j])*dMr[i,j]))/((i-1/2)*dr*dr*dz*RO01
[i,j]);
//
P01[i,j]:=RO01[i,j]*(k-1)*(E01[i,j]-(sqr(U01[i,j])+sqr(V01[i,j]))/2);
Tg[i,j]:=P01[i,j]*ro_p*sqr(v00)/(RO01[i,j]*ro_p*R);
end;
//
for j:=1 to M do
begin
//
// (1)
if U[N-nn+nnn,j-1]+U[N-nn+nnn,j]>0 then D1[N-nn+nnn,j]:=1;
if U[N-nn+nnn,j-1]+U[N-nn+nnn,j]<0 then D1[N-nn+nnn,j]:=0;
// (3)
if U[N-nn+nnn,j]+U[N-nn+nnn,j+1]>0 then D3[N-nn+nnn,j]:=0;
if U[N-nn+nnn,j]+U[N-nn+nnn,j+1]<0 then D3[N-nn+nnn,j]:=1;
// (2)
if V[N-nn+nnn-1,j]+V[N-nn+nnn,j]>0 then D2[N-nn+nnn,j]:=1;
if V[N-nn+nnn-1,j]+V[N-nn+nnn,j]<0 then D2[N-nn+nnn,j]:=0;
// (4)
if V[N-nn+nnn,j]+V[N-nn+nnn+1,j]>0 then D4[N-nn+nnn,j]:=0;
if V[N-nn+nnn,j]+V[N-nn+nnn+1,j]<0 then D4[N-nn+nnn,j]:=1;
//
RO01[N-nn+nnn,j]:=RO0[N-nn+nnn,j]+(D1[N-nn+nnn,j]*dMz[N-nn+nnn,j-1]+D3[N-nn+nnn,j]*
dMz[N-nn+nnn,j]+D2[N-nn+nnn,j]*dMr[N-nn+nnn-1,j]+D4[N-nn+nnn,j]*dMr[N-nn+nnn,j]-((1-D1[N-nn
+nnn,j])*dMz[N-nn+nnn,j-1]+(1-D3[N-nn+nnn,j])*dMz[N-nn+nnn,j]+(1-D2[N-nn+nnn,j])*dMr[N-nn+
nnn-1,j]+(1-D4[N-nn+nnn,j])*dMr[N-nn+nnn,j]))/((N-nn+nnn-1/2)*f[j]*dr*dr*dz);
// z (u)
U01[N-nn+nnn,j]:=(D1[N-nn+nnn,j]*U[N-nn+nnn,j-1]*dMz[N-nn+nnn,j-1]+D2[N-nn+nnn,j]*U[N
-nn+nnn-1,j]*dMr[N-nn+nnn-1,j]+D3[N-nn+nnn,j]*U[N-nn+nnn,j+1]*dMz[N-nn+nnn,j]+D4[N-nn+nnn,j
]*U[N-nn+nnn+1,j]*dMr[N-nn+nnn,j]+U[N-nn+nnn,j]*((N-nn+nnn-1/2)*f[j]*dr*dr*dz*RO0[N-nn+nnn,
j]-(1-D1[N-nn+nnn,j])*dMz[N-nn+nnn,j-1]-(1-D2[N-nn+nnn,j])*dMr[N-nn+nnn-1,j]-(1-D3[N-nn+nnn
,j])*dMz[N-nn+nnn,j]-(1-D4[N-nn+nnn,j])*dMr[N-nn+nnn,j]))/((N-nn+nnn-1/2)*f[j]*dr*dr*dz*
RO01[N-nn+nnn,j]);

// r (v)
V01[N-nn+nnn,j]:=(D1[N-nn+nnn,j]*V[N-nn+nnn,j-1]*dMz[N-nn+nnn,j-1]+D2[N-nn+nnn,j]*V[N
-nn+nnn-1,j]*dMr[N-nn+nnn-1,j]+D3[N-nn+nnn,j]*V[N-nn+nnn,j+1]*dMz[N-nn+nnn,j]+D4[N-nn+nnn,j
]*V[N-nn+nnn+1,j]*dMr[N-nn+nnn,j]+V[N-nn+nnn,j]*((N-nn+nnn-1/2)*f[j]*dr*dr*dz*RO0[N-nn+nnn,
j]-(1-D1[N-nn+nnn,j])*dMz[N-nn+nnn,j-1]-(1-D2[N-nn+nnn,j])*dMr[N-nn+nnn-1,j]-(1-D3[N-nn+nnn
,j])*dMz[N-nn+nnn,j]-(1-D4[N-nn+nnn,j])*dMr[N-nn+nnn,j]))/((N-nn+nnn-1/2)*f[j]*dr*dr*dz*
RO01[N-nn+nnn,j]);
// (E)
E01[N-nn+nnn,j]:=(D1[N-nn+nnn,j]*E[N-nn+nnn,j-1]*dMz[N-nn+nnn,j-1]+D2[N-nn+nnn,j]*E[N
-nn+nnn-1,j]*dMr[N-nn+nnn-1,j]+D3[N-nn+nnn,j]*E[N-nn+nnn,j+1]*dMz[N-nn+nnn,j]+D4[N-nn+nnn,j
]*E[N-nn+nnn+1,j]*dMr[N-nn+nnn,j]+E[N-nn+nnn,j]*((N-nn+nnn-1/2)*f[j]*dr*dr*dz*RO0[N-nn+nnn,
j]-(1-D1[N-nn+nnn,j])*dMz[N-nn+nnn,j-1]-(1-D2[N-nn+nnn,j])*dMr[N-nn+nnn-1,j]-(1-D3[N-nn+nnn
,j])*dMz[N-nn+nnn,j]-(1-D4[N-nn+nnn,j])*dMr[N-nn+nnn,j]))/((N-nn+nnn-1/2)*f[j]*dr*dr*dz*
RO01[N-nn+nnn,j]);
//
P01[N-nn+nnn,j]:=RO01[N-nn+nnn,j]*(k-1)*(E01[N-nn+nnn,j]-(sqr(U01[N-nn+nnn,j])+sqr(
V01[N-nn+nnn,j]))/2);
Tg[N-nn+nnn,j]:=P01[N-nn+nnn,j]*ro_p*sqr(v00)/(RO01[N-nn+nnn,j]*ro_p*R);
end;
for i:=1 to N-nn+nnn do
for j:=1 to M do
begin
P0[i,j]:=P01[i,j];
RO0[i,j]:=RO01[i,j];
V0[i,j]:=V01[i,j];
U0[i,j]:=U01[i,j];
E0[i,j]:=E01[i,j];
end;
//
for j:=1 to 3 do
for i:=1 to g do
begin
//
// (1)
if Uk[i,j-1]+Uk[i,j]>0 then Dk1[i,j]:=1;
if Uk[i,j-1]+Uk[i,j]<0 then Dk1[i,j]:=0;
// (3)
if Uk[i,j]+Uk[i,j+1]>0 then Dk3[i,j]:=0;
if Uk[i,j]+Uk[i,j+1]<0 then Dk3[i,j]:=1;
// (2)
if Vk[i-1,j]+Vk[i,j]>0 then Dk2[i,j]:=1;
if Vk[i-1,j]+Vk[i,j]<0 then Dk2[i,j]:=0;
// (4)
if Vk[i,j]+Vk[i+1,j]>0 then Dk4[i,j]:=0;
if Vk[i,j]+Vk[i+1,j]<0 then Dk4[i,j]:=1;
//
ROk01[i,j]:=ROk0[i,j]+(Dk1[i,j]*dMzk[i,j-1]+Dk3[i,j]*dMzk[i,j]+Dk2[i,j]*dMrk[i-1,j]+
Dk4[i,j]*dMrk[i,j]-((1-Dk1[i,j])*dMzk[i,j-1]+(1-Dk3[i,j])*dMzk[i,j]+(1-Dk2[i,j])*dMrk[i-1,j
]+(1-Dk4[i,j])*dMrk[i,j]))/((i-1/2)*dr*dr*dz);
// z (u)
Uk01[i,j]:=(Dk1[i,j]*Uk[i,j-1]*dMzk[i,j-1]+Dk2[i,j]*Uk[i-1,j]*dMrk[i-1,j]+Dk3[i,j]*Uk
[i,j+1]*dMzk[i,j]+Dk4[i,j]*U[i+1,j]*dMrk[i,j]+Uk[i,j]*((i-1/2)*dr*dr*dz*ROk0[i,j]-(1-Dk1[i,

j])*dMzk[i,j-1]-(1-Dk2[i,j])*dMrk[i-1,j]-(1-Dk3[i,j])*dMzk[i,j]-(1-Dk4[i,j])*dMrk[i,j]))/((
i-1/2)*dr*dr*dz*ROk01[i,j]);
// r (v)
Vk01[i,j]:=(Dk1[i,j]*Vk[i,j-1]*dMzk[i,j-1]+Dk2[i,j]*Vk[i-1,j]*dMrk[i-1,j]+Dk3[i,j]*Vk
[i,j+1]*dMzk[i,j]+Dk4[i,j]*Vk[i+1,j]*dMrk[i,j]+Vk[i,j]*((i-1/2)*dr*dr*dz*ROk0[i,j]-(1-Dk1[i
,j])*dMzk[i,j-1]-(1-D2[i,j])*dMrk[i-1,j]-(1-Dk3[i,j])*dMzk[i,j]-(1-Dk4[i,j])*dMrk[i,j]))/((
i-1/2)*dr*dr*dz*ROk01[i,j]);
// (E)
Ek01[i,j]:=(Dk1[i,j]*Ek[i,j-1]*dMzk[i,j-1]+Dk2[i,j]*Ek[i-1,j]*dMrk[i-1,j]+Dk3[i,j]*Ek
[i,j+1]*dMzk[i,j]+Dk4[i,j]*Ek[i+1,j]*dMrk[i,j]+Ek[i,j]*((i-1/2)*dr*dr*dz*ROk0[i,j]-(1-Dk1[i
,j])*dMzk[i,j-1]-(1-Dk2[i,j])*dMrk[i-1,j]-(1-Dk3[i,j])*dMzk[i,j]-(1-Dk4[i,j])*dMrk[i,j
]))/((i-1/2)*dr*dr*dz*ROk01[i,j]);
//
Pk01[i,j]:=ROk01[i,j]*(k-1)*(Ek01[i,j]-(sqr(Uk01[i,j])+sqr(Vk01[i,j]))/2);
Tgk[i,j]:=Pk01[i,j]*ro_p*sqr(v00)/(ROk01[i,j]*ro_p*R);
end;
for j:=1 to 3 do
for i:=1 to g do
begin
Pk0[i,j]:=Pk01[i,j];
ROk0[i,j]:=ROk01[i,j];
Vk0[i,j]:=Vk01[i,j];
Uk0[i,j]:=Uk01[i,j];
Ek0[i,j]:=Ek01[i,j];
end;
if CheckBox2.Checked then
Application.ProcessMessages;
t:=t+dtt;
if CheckBox1.Checked then exit:=true;
if t>tk then exit:=true;
end;
// ( r)
for i:=1 to N-nn+nnn do
begin
//
Chart7.Series[0].AddXY((i-0.5)*dr*RR, V0[i,M]*v00);
Chart7.Series[1].AddXY((i-0.5)*dr*RR, V0[i,M-100]*v00);
Chart7.Series[2].AddXY((i-0.5)*dr*RR, V0[i,M-300]*v00);
Chart7.Series[3].AddXY((i-0.5)*dr*RR, V0[i,10]*v00);
//
Chart8.Series[0].AddXY((i-0.5)*dr*RR, U0[i,M]*v00);
Chart8.Series[1].AddXY((i-0.5)*dr*RR, U0[i,M-100]*v00);
Chart8.Series[2].AddXY((i-0.5)*dr*RR, U0[i,M-300]*v00);
Chart8.Series[3].AddXY((i-0.5)*dr*RR, U0[i,10]*v00);
//
Chart13.Series[0].AddXY((i-0.5)*dr*RR, P0[i,M]*ro_p*sqr(v00)/1000000);
Chart13.Series[1].AddXY((i-0.5)*dr*RR, P0[i,M-100]*ro_p*sqr(v00)/1000000);
Chart13.Series[2].AddXY((i-0.5)*dr*RR, P0[i,M-300]*ro_p*sqr(v00)/1000000);
Chart13.Series[3].AddXY((i-0.5)*dr*RR, P0[i,10]*ro_p*sqr(v00)/1000000);
//
Chart14.Series[0].AddXY((i-0.5)*dr*RR, Tg[i,M]);

Chart14.Series[1].AddXY((i-0.5)*dr*RR, Tg[i,M-100]);
Chart14.Series[2].AddXY((i-0.5)*dr*RR, Tg[i,M-300]);
Chart14.Series[3].AddXY((i-0.5)*dr*RR, Tg[i,10]);
end;
// ( z)
for j:=1 to M do
begin
//
Chart9.Series[0].AddXY((j-0.5)*dz*RR, P0[N-nn+nnn,j]*ro_p*sqr(v00)/1000000);
Chart9.Series[1].AddXY((j-0.5)*dz*RR, P0[N-nn-5,j]*ro_p*sqr(v00)/1000000);
Chart9.Series[2].AddXY((j-0.5)*dz*RR, P0[N-nn-10,j]*ro_p*sqr(v00)/1000000);
Chart9.Series[3].AddXY((j-0.5)*dz*RR, P0[1,j]*ro_p*sqr(v00)/1000000);
//
Chart10.Series[0].AddXY((j-0.5)*dz*RR, Tg[N-nn+nnn,j]);
Chart10.Series[1].AddXY((j-0.5)*dz*RR, Tg[N-nn-5-1,j]);
Chart10.Series[2].AddXY((j-0.5)*dz*RR, Tg[N-nn-10,j]);
Chart10.Series[3].AddXY((j-0.5)*dz*RR, Tg[1,j]);
//
Chart11.Series[0].AddXY((j-0.5)*dz*RR, V0[N-nn+nnn,j]*v00);
Chart11.Series[1].AddXY((j-0.5)*dz*RR, V0[N-nn-5,j]*v00);
Chart11.Series[2].AddXY((j-0.5)*dz*RR, V0[N-nn-10,j]*v00);
Chart11.Series[3].AddXY((j-0.5)*dz*RR, V0[1,j]*v00);
//
Chart12.Series[0].AddXY((j-0.5)*dz*RR, U0[N-nn+nnn,j]*v00);
Chart12.Series[1].AddXY((j-0.5)*dz*RR, U0[N-nn-5,j]*v00);
Chart12.Series[2].AddXY((j-0.5)*dz*RR, U0[N-nn-10,j]*v00);
Chart12.Series[3].AddXY((j-0.5)*dz*RR, U0[1,j]*v00);
end;
// ( r)
for i:=1 to g do
begin
//
Chart21.Series[0].AddXY((i-0.5)*dr*RR, Vk0[i,1]*v00);
Chart21.Series[1].AddXY((i-0.5)*dr*RR, Vk0[i,2]*v00);
Chart21.Series[2].AddXY((i-0.5)*dr*RR, Vk0[i,3]*v00);
//
Chart22.Series[0].AddXY((i-0.5)*dr*RR, Uk0[i,1]*v00);
Chart22.Series[1].AddXY((i-0.5)*dr*RR, Uk0[i,2]*v00);
Chart22.Series[2].AddXY((i-0.5)*dr*RR, Uk0[i,3]*v00);
//
Chart24.Series[0].AddXY((i-0.5)*dr*RR, Pk0[i,1]*ro_p*sqr(v00)/1000000);
Chart24.Series[1].AddXY((i-0.5)*dr*RR, Pk0[i,2]*ro_p*sqr(v00)/1000000);
Chart24.Series[2].AddXY((i-0.5)*dr*RR, Pk0[i,3]*ro_p*sqr(v00)/1000000);
//
Chart23.Series[0].AddXY((i-0.5)*dr*RR, Tgk[i,1]);
Chart23.Series[1].AddXY((i-0.5)*dr*RR, Tgk[i,2]);
Chart23.Series[2].AddXY((i-0.5)*dr*RR, Tgk[i,3]);
end;
// ( z)
for j:=1 to 3 do
begin
//

Chart28.Series[0].AddXY((j-0.5)*dz*RR,
Chart28.Series[1].AddXY((j-0.5)*dz*RR,
Chart28.Series[2].AddXY((j-0.5)*dz*RR,
//
Chart27.Series[0].AddXY((j-0.5)*dz*RR,
Chart27.Series[1].AddXY((j-0.5)*dz*RR,
Chart27.Series[2].AddXY((j-0.5)*dz*RR,
//
Chart25.Series[0].AddXY((j-0.5)*dz*RR,
Chart25.Series[1].AddXY((j-0.5)*dz*RR,
Chart25.Series[2].AddXY((j-0.5)*dz*RR,
//
Chart26.Series[0].AddXY((j-0.5)*dz*RR,
Chart26.Series[1].AddXY((j-0.5)*dz*RR,
Chart26.Series[2].AddXY((j-0.5)*dz*RR,
end;

Pk0[g,j]*ro_p*sqr(v00)/1000000);
Pk0[8,j]*ro_p*sqr(v00)/1000000);
Pk0[1,j]*ro_p*sqr(v00)/1000000);
Tgk[g,j]);
Tgk[8,j]);
Tgk[1,j]);
Vk0[g,j]*v00);
Vk0[8,j]*v00);
Vk0[1,j]*v00);
Uk0[g,j]*v00);
Uk0[8,j]*v00);
Uk0[1,j]*v00);

//
for i:=0 to N-nn+nnn+1 do
begin
U0[i,0]:=0;
U0[i,M+1]:=0;
V0[i,0]:=0;
V0[i,M+1]:=0;
end;
for j:=0 to M+1 do
begin
U0[N-nn+nnn+1,j]:=0;
U0[0,j]:=0;
V0[N-nn+nnn+1,j]:=0;
V0[0,j]:=0;
end;
for i:=0 to g+1 do
begin
Uk0[i,0]:=0;
Uk0[i,4]:=0;
Vk0[i,0]:=0;
Vk0[i,4]:=0;
end;
for j:=0 to 4 do
begin
Uk0[g+1,j]:=0;
Uk0[0,j]:=0;
Vk0[g+1,j]:=0;
Vk0[0,j]:=0;
end;
for i:=0 to N do
for j:=0 to M+3 do
begin
U_ks[i,j]:=0;
V_ks[i,j]:=0;

end;
for i:=1 to N-nn+nnn do
for j:=1 to M do
begin
U_ks[i,j]:=U0[i,j];
V_ks[i,j]:=V0[i,j];
end;
for i:=1 to g do
begin
jj:=1;
for j:=M+1 to M+3 do
begin
U_ks[i,j]:=Uk0[i,jj];
V_ks[i,j]:=Vk0[i,jj];
jj:=jj+1;
end;
end;
// /
//
Chart32.Series[1].Clear;
Chart32.Series[1].AddXY(0, 0);
Chart32.Series[1].AddXY(0, et[1]+dr*RR*(N-nn));
for j:=1 to M do Chart32.Series[1].AddXY((j-0.5)*dz*RR, et[j]+dr*RR*(N-nn));
Chart32.Series[1].AddXY(M*dz*RR, et[M]+dr*RR*(N-nn));
Chart32.Series[1].AddXY(M*dz*RR, dr*RR*g);
Chart32.Series[1].AddXY((M+3)*dz*RR, dr*RR*g);
Series13.StartXValues.DateTime:=False;
Series13.EndXValues.DateTime:=False;
Series13.Clear;
exit:=false;
j:=1;
while not(exit) do
begin
for i:=1 to N-nn+nnn do
begin
x0:=(j-0.5)*dz*RR;
y0:=(i-0.5)*dr*RR;
x1:=x0+0.002*U_ks[i,j]*v00/sqrt(sqr(U_ks[i,j]*v00)+sqr(V_ks[i,j]*v00));
y1:=y0+0.002*V_ks[i,j]*v00/sqrt(sqr(U_ks[i,j]*v00)+sqr(V_ks[i,j]*v00));
Series13.AddArrow( x0, y0, x1, y1);
end;
j:=j+1;
if j>M then exit:=true;
end;
exit:=false;
j:=M+1;
while not(exit) do
begin
for i:=1 to g do
begin

x0:=(j-0.5)*dz*RR;
y0:=(i-0.5)*dr*RR;
x1:=x0+0.002*U_ks[i,j]*v00/sqrt(sqr(U_ks[i,j]*v00)+sqr(V_ks[i,j]*v00));
y1:=y0+0.002*V_ks[i,j]*v00/sqrt(sqr(U_ks[i,j]*v00)+sqr(V_ks[i,j]*v00));
Series13.AddArrow( x0, y0, x1, y1);
end;
j:=j+1;
if j>M+3 then exit:=true;
end;
// W
Chart33.Series[1].Clear;
Chart33.Series[1].AddXY(0, 0);
Chart33.Series[1].AddXY(0, et[1]+dr*RR*(N-nn));
for j:=1 to M do Chart33.Series[1].AddXY((j-0.5)*dz*RR, et[j]+dr*RR*(N-nn));
Chart33.Series[1].AddXY(M*dz*RR, et[M]+dr*RR*(N-nn));
Chart33.Series[1].AddXY(M*dz*RR, dr*RR*g);
Chart33.Series[1].AddXY((M+3)*dz*RR, dr*RR*g);
ArrowSeries1.StartXValues.DateTime:=False;
ArrowSeries1.EndXValues.DateTime:=False;
ArrowSeries1.Clear;
exit:=false;
j:=1;
while not(exit) do
begin
for i:=1 to N-nn+nnn do
begin
x0:=(j-0.5)*dz*RR;
y0:=(i-0.5)*dr*RR;
x1:=x0+U_ks[i,j]*v00/(100000);
y1:=y0+V_ks[i,j]*v00/(100000);
ArrowSeries1.AddArrow( x0, y0, x1, y1);
end;
j:=j+2;
if j>M then exit:=true;
end;
j:=M+1;
for i:=1 to g do
begin
x0:=(j-0.5)*dz*RR;
y0:=(i-0.5)*dr*RR;
x1:=x0+U_ks[i,j]*v00/(100000);
y1:=y0+V_ks[i,j]*v00/(100000);
ArrowSeries1.AddArrow( x0, y0, x1, y1);
end;
j:=M+3;
for i:=1 to g do
begin
x0:=(j-0.5)*dz*RR;
y0:=(i-0.5)*dr*RR;
x1:=x0+U_ks[i,j]*v00/(100000);
y1:=y0+V_ks[i,j]*v00/(100000);

ArrowSeries1.AddArrow( x0, y0, x1, y1);


end;
Label3.Caption:=floattostr(t);
Button1.Enabled:=true;
end;
end.