File: /nfs/home/0/users/jenkins/mfix.git/model/adjust_eps.f
1
2
3
4
5
6
7
8
9
10
11
12 SUBROUTINE ADJUST_EPS
13
14
15
16
17 USE param1, only: zero
18
19 USE toleranc, only: zero_ep_s
20
21 USE fldvar, only: u_s, v_s, w_s
22
23 USE fldvar, only: ep_g, rop_g, ro_g
24
25 USE fldvar, only: rop_s, ro_s
26
27 USE run, only: kt_type_enum
28 USE run, only: ghd_2007
29
30 USE physprop, only: mmax, smax
31
32
33 USE geometry
34 USE indices
35 USE compar
36
37 USE sendrecv
38 USE functions
39 IMPLICIT NONE
40
41
42
43
44 INTEGER :: I, J, K, IJK
45
46 INTEGER :: M
47
48 DOUBLE PRECISION :: EPSUM
49
50 DOUBLE PRECISION :: epsMix, epSolid
51
52
53
54 DO K = Kstart1, Kend1
55 DO J = Jstart1, Jend1
56 DO I = Istart1, Iend1
57
58 IF (DEAD_CELL_AT(I,J,K)) CYCLE
59
60 = FUNIJK(I,J,K)
61 IF (FLUID_AT(IJK)) THEN
62
63 = ZERO
64 epsMix = ZERO
65 DO M = 1, SMAX
66
67 = ROP_S(IJK,M)/RO_S(IJK,M)
68 epsMix = epsMix + epSolid
69
70 IF (epSolid < ZERO_EP_S) THEN
71
72
73 = EPSUM + epSolid
74
75 IF(KT_TYPE_ENUM == GHD_2007) &
76 ROP_S(IJK,MMAX) = ROP_S(IJK,MMAX) - ROP_S(IJK,M)
77
78 ROP_S(IJK,M) = ZERO
79 U_S(IJK,M) = MIN(U_S(IJK,M),ZERO)
80 V_S(IJK,M) = MIN(V_S(IJK,M),ZERO)
81 W_S(IJK,M) = MIN(W_S(IJK,M),ZERO)
82 U_S(IM_OF(IJK),M) = MAX(U_S(IM_OF(IJK),M),ZERO)
83 V_S(JM_OF(IJK),M) = MAX(V_S(JM_OF(IJK),M),ZERO)
84 W_S(KM_OF(IJK),M) = MAX(W_S(KM_OF(IJK),M),ZERO)
85 ENDIF
86 ENDDO
87
88 epsMix = epsMix - EPSUM
89 IF(KT_TYPE_ENUM == GHD_2007 .AND. epsMix < ZERO_EP_S) THEN
90 U_S(IJK,MMAX) = MIN(U_S(IJK,MMAX),ZERO)
91 V_S(IJK,MMAX) = MIN(V_S(IJK,MMAX),ZERO)
92 W_S(IJK,MMAX) = MIN(W_S(IJK,MMAX),ZERO)
93 U_S(IM_OF(IJK),MMAX) = MAX(U_S(IM_OF(IJK),MMAX),ZERO)
94 V_S(JM_OF(IJK),MMAX) = MAX(V_S(JM_OF(IJK),MMAX),ZERO)
95 W_S(KM_OF(IJK),MMAX) = MAX(W_S(KM_OF(IJK),MMAX),ZERO)
96 ENDIF
97
98 EP_G(IJK) = EP_G(IJK) + EPSUM
99 ROP_G(IJK) = RO_G(IJK)*EP_G(IJK)
100 ENDIF
101 ENDDO
102 ENDDO
103 ENDDO
104
105
106 call send_recv(ROP_S,2)
107 call send_recv(U_S,2)
108 call send_recv(V_S,2)
109 call send_recv(W_S,2)
110 call send_recv(EP_G,2)
111 call send_recv(ROP_G,2)
112
113 RETURN
114 END SUBROUTINE ADJUST_EPS
115