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