File: /nfs/home/0/users/jenkins/mfix.git/model/cal_d.f
1
2
3
4
5
6 SUBROUTINE CAL_D(V_sh)
7
8 USE param
9 USE param1
10 USE parallel
11 USE matrix
12 USE scales
13 USE constant
14 USE physprop
15 USE fldvar
16 USE visc_s
17 USE rxns
18 USE toleranc
19 USE geometry
20 USE indices
21 USE is
22 USE tau_s
23 USE bc
24 USE vshear
25 USE compar
26 USE fun_avg
27 USE functions
28
29 DOUBLE PRECISION V_sh,dis
30
31
32
33
34
35
36
37 DOUBLE PRECISION xdist(IMIN3:IMAX3,JSTART3:JEND3)
38 DOUBLE PRECISION xdist3(IMIN3:IMAX3,JSTART3:JEND3,KSTART3:KEND3)
39
40 INTEGER IJK,I1,J1,K1,I,J,K
41
42 IF (NO_K) THEN
43
44
45 DO J1= JSTART3, JEND3
46 xdist(1,J1)=1d0/(ODX(1))
47 if(imin3.ne.imin2) xdist(IMIN3,J1)=-1d0/(ODX(IMIN3))
48 DO I1 = 2, IMAX3
49 xdist(I1,J1)=1d0/(ODX(I1))+xdist((I1-1),J1)
50 END DO
51 END DO
52
53 DO IJK= ijkstart3, ijkend3
54 I = I_OF(IJK)
55 J = J_OF(IJK)
56
57 dis=xdist(I,J)
58
59
60
61 (IJK)=V_sh-2d0*(1d0-(dis-(1d0/ODX(I))/xlength))*V_sh
62
63
64
65 (IJK)=V_sh-2d0*(1d0-(dis-(1d0/ODX(I))/xlength))*V_sh&
66 -2d0*(1d0/(2d0*ODX(I)*xlength))*V_sh
67
68 END DO
69
70
71 ELSE
72
73
74 DO K1=KSTART3,KEND3
75 DO J1= JSTART3, JEND3
76 IF (DEAD_CELL_AT(1,J1,K1)) CYCLE
77 (1,J1,K1)=1d0/(ODX(1))
78 if(imin3.ne.imin2) xdist(IMIN3,J1)=-1d0/(ODX(IMIN3))
79 DO I1 = 2, IMAX3
80 IF (DEAD_CELL_AT(I1,J1,K1)) CYCLE
81 (I1,J1,K1)=1d0/(ODX(I1))+xdist3((I1-1),J1,K1)
82 END DO
83 END DO
84 END DO
85
86
87 DO IJK= ijkstart3, ijkend3
88 I = I_OF(IJK)
89 J = J_OF(IJK)
90 K = K_OF(IJK)
91
92 dis=xdist3(I,J,K)
93
94
95
96 (IJK)=V_sh-2d0*(1d0-(dis-(1d0/ODX(I))/xlength))*V_sh
97
98
99
100 (IJK)=V_sh-2d0*(1d0-(dis-(1d0/ODX(I))/xlength))*V_sh&
101 -2d0*(1d0/(2d0*ODX(I)*xlength))*V_sh
102
103 END DO
104
105 END IF
106 RETURN
107 END SUBROUTINE CAL_D
108
109
110
111
112
113
114