forked from bright1998/TCUP_GPS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathallocate.f
98 lines (84 loc) · 3.4 KB
/
allocate.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
c ---------------------
subroutine allocate
c ---------------------
use common
implicit double precision(a-h,o-z)
allocate(x(1:i0),dx(1:i0),dxi(1:i0),
& y(1:j0),dy(1:j0),dyi(1:j0))
allocate( ro(1:i0,1:j0), ro0(1:i0,1:j0),roh(1:i0,1:j0),
& vx(1:i0,1:j0), vx0(1:i0,1:j0),
& vxh(1:i0,1:j0),vxh2(1:i0,1:j0),
& vy(1:i0,1:j0), vy0(1:i0,1:j0),
& vyh(1:i0,1:j0),vyh2(1:i0,1:j0),
& vz(1:i0,1:j0), vz0(1:i0,1:j0),
& vzh(1:i0,1:j0),vzh2(1:i0,1:j0),vzn(1:i0,1:j0),
& pr(1:i0,1:j0), pr0(1:i0,1:j0),
& prh(1:i0,1:j0),prh2(1:i0,1:j0),prn(1:i0,1:j0),
& te(1:i0,1:j0), te0(1:i0,1:j0),
& teh(1:i0,1:j0),teh2(1:i0,1:j0),ten(1:i0,1:j0))
allocate(xm(1:i0),dxm(1:i0),dxmi(1:i0),
& ym(1:j0),dym(1:j0),dymi(1:j0))
allocate( vxm(1:i0,1:j0), vxm0(1:i0,1:j0),
& vxmh(1:i0,1:j0),vxmh2(1:i0,1:j0),vxmn(1:i0,1:j0),
& vym(1:i0,1:j0), vym0(1:i0,1:j0),
& vymh(1:i0,1:j0),vymh2(1:i0,1:j0),vymn(1:i0,1:j0))
C For CIP Method
allocate( vxdxm(1:i0,1:j0), vxdxm0(1:i0,1:j0),
& vxdxmh(1:i0,1:j0),vxdxmh2(1:i0,1:j0),vxdxmn(1:i0,1:j0),
& vydxm(1:i0,1:j0), vydxm0(1:i0,1:j0),
& vydxmh(1:i0,1:j0),vydxmh2(1:i0,1:j0),vydxmn(1:i0,1:j0),
& vzdx(1:i0,1:j0), vzdx0(1:i0,1:j0),
& vzdxh(1:i0,1:j0), vzdxh2(1:i0,1:j0), vzdxn(1:i0,1:j0),
& prdx(1:i0,1:j0), prdx0(1:i0,1:j0),
& prdxh(1:i0,1:j0), prdxh2(1:i0,1:j0), prdxn(1:i0,1:j0),
& tedx(1:i0,1:j0), tedx0(1:i0,1:j0),
& tedxh(1:i0,1:j0), tedxh2(1:i0,1:j0), tedxn(1:i0,1:j0))
allocate( vxdym(1:i0,1:j0), vxdym0(1:i0,1:j0),
& vxdymh(1:i0,1:j0),vxdymh2(1:i0,1:j0),vxdymn(1:i0,1:j0),
& vydym(1:i0,1:j0), vydym0(1:i0,1:j0),
& vydymh(1:i0,1:j0),vydymh2(1:i0,1:j0),vydymn(1:i0,1:j0),
& vzdy(1:i0,1:j0), vzdy0(1:i0,1:j0),
& vzdyh(1:i0,1:j0), vzdyh2(1:i0,1:j0), vzdyn(1:i0,1:j0),
& prdy(1:i0,1:j0), prdy0(1:i0,1:j0),
& prdyh(1:i0,1:j0), prdyh2(1:i0,1:j0), prdyn(1:i0,1:j0),
& tedy(1:i0,1:j0), tedy0(1:i0,1:j0),
& tedyh(1:i0,1:j0), tedyh2(1:i0,1:j0), tedyn(1:i0,1:j0))
allocate(vxmy(1:i0,1:j0),vymx(1:i0,1:j0))
allocate(Cp(1:i0,1:j0),Cv(1:i0,1:j0),gm(1:i0,1:j0))
C Sound Velocity
allocate(Cs(1:i0,1:j0))
C Viscosity
allocate(rmu(1:i0,1:j0),rlambda(1:i0,1:j0))
C Artificial Viscosity
allocate(rmua(1:i0,1:j0),rlambdaa(1:i0,1:j0))
C Joule Thomson Coefficient
allocate(rmuj(1:i0,1:j0))
C Viscosity Stress Tensor
allocate(vst(1:i0,1:j0,1:3,1:2))
allocate(Fexx(1:i0,1:j0),Fexy(1:i0,1:j0),Fexz(1:i0,1:j0))
allocate(Fexxm(1:i0,1:j0),Fexym(1:i0,1:j0))
allocate(kappaxm(1:i0,1:j0),kappaym(1:i0,1:j0))
allocate( qxm(1:i0,1:j0), qym(1:i0,1:j0))
do j=1,j0
do i=1,i0
Fexx(i,j) = 0.d0
Fexy(i,j) = 0.d0
Fexz(i,j) = 0.d0
enddo
enddo
do j=1,j0
do i=1,i0-1
Fexxm(i,j) = 0.d0
kappaxm(i,j) = 0.d0
qxm(i,j) = 0.d0
enddo
enddo
do j=1,j0-1
do i=1,i0
Fexym(i,j) = 0.d0
kappaym(i,j) = 0.d0
qym(i,j) = 0.d0
enddo
enddo
return
end subroutine allocate