File: RELATIVE:/../../../mfix.git/model/des/calc_epg_des.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SUBROUTINE CALC_EPG_DES
15
16
17
18
19 use discretelement, only: DES_CONTINUUM_HYBRID
20
21 use discretelement, only: DES_CONTINUUM_COUPLED
22
23 use discretelement, only: DES_MMAX
24
25 use discretelement, only: iGLOBAL_ID
26
27 use discretelement, only: DES_POS_NEW
28
29 use physprop, only: SMAX
30
31 use discretelement, only: DES_RO_S, DES_ROP_s
32
33 use discretelement, only: PINC
34
35 use discretelement, only: PIC
36
37 use fldvar, only: EP_G, RO_G, ROP_G
38
39 use fldvar, only: EP_S
40
41 use geometry, only: VOL
42
43 use cutcell, only: CUT_CELL_AT
44
45 USE functions, only: FLUID_AT
46
47 use compar, only: IJKStart3, IJKEnd3
48
49 use functions, only: FLUID_AT
50
51 use indices, only: I_OF, J_OF, K_OF
52
53 use compar, only: myPE
54
55 use mpi_utility, only: GLOBAL_ALL_SUM
56
57
58
59 USE param1, only: ZERO, ONE
60
61 use error_manager
62
63 IMPLICIT NONE
64
65
66
67
68 INTEGER :: IJK, M, LC
69
70 DOUBLE PRECISION SUM_EPS
71
72 INTEGER :: IER
73
74
75
76 = 0
77
78
79
80
81
82
83
84 DO IJK = IJKSTART3, IJKEND3
85
86 IF(.NOT.FLUID_AT(IJK)) CYCLE
87
88 (IJK) = ONE
89 SUM_EPS = ZERO
90
91 DO M = 1, DES_MMAX
92 SUM_EPS = SUM_EPS + DES_ROP_S(IJK,M)/DES_RO_S(M)
93 ENDDO
94
95 IF(DES_CONTINUUM_HYBRID) THEN
96 DO M = 1,SMAX
97 SUM_EPS = SUM_EPS + EP_S(IJK,M)
98 ENDDO
99 ENDIF
100
101 (IJK) = ONE - SUM_EPS
102 ROP_G(IJK) = RO_G(IJK) * EP_G(IJK)
103
104 IF(DES_CONTINUUM_COUPLED) THEN
105 IF(EP_G(IJK) <= ZERO .OR. EP_G(IJK) > ONE) IER = IER + 1
106 ENDIF
107 ENDDO
108
109
110
111 CALL GLOBAL_ALL_SUM(IER)
112 IF(IER == 0) RETURN
113
114
115
116
117 CALL INIT_ERR_MSG("CALC_EPG_DES")
118 CALL OPEN_PE_LOG(IER)
119
120 WRITE(ERR_MSG, 1100)
121 CALL FLUSH_ERR_MSG(FOOTER=.FALSE.)
122
123 1100 FORMAT('Error 1100: Unphysical gas phase volume fraction ', &
124 'calculated. A .vtp',/'file will be written and the code ', &
125 'will exit. Fluid cell details:')
126
127 DO IJK=IJKSTART3, IJKEND3
128 IF(.NOT.FLUID_AT(IJK)) CYCLE
129 IF(EP_G(IJK) > ZERO .AND. EP_G(IJK) <= ONE) CYCLE
130
131 WRITE(ERR_MSG,1101) trim(iVal(IJK)), trim(iVal(I_OF(IJK))),&
132 trim(iVal(J_OF(IJK))), trim(iVal(K_OF(IJK))),EP_G(IJK), &
133 CUT_CELL_AT(IJK), trim(iVal(PINC(IJK))), VOL(IJK)
134 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
135
136 WRITE(ERR_MSG,1102)
137 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
138 DO LC=1,PINC(IJK)
139 M=PIC(IJK)%P(LC)
140 WRITE(ERR_MSG,1103) iGlobal_ID(M), trim(iVal( &
141 DES_POS_NEW(1,M))), trim(iVal(DES_POS_NEW(2,M))), &
142 trim(iVal(DES_POS_NEW(3,M)))
143 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
144 ENDDO
145 ENDDO
146
147 1101 FORMAT(/3x,'Fluid Cell IJK: ',A,6x,'I/J/K: (',A,',',A,',',A,')',/&
148 T6,'EP_G = ',g11.4,T30,'CUT_CELL_AT = ',L1,/T6,'PINC: ',A,T30,&
149 'VOL = ',g11.4)
150
151 1102 FORMAT(/T6,'Global ID',T30,'Position')
152
153 1103 FORMAT(T6,I9,3x,'(',A,', ',A,', ',A,')')
154
155 WRITE(ERR_MSG, 1104)
156 CALL FLUSH_ERR_MSG(HEADER=.FALSE.)
157 1104 FORMAT('This is a fatal error. A particle output file (vtp) ', &
158 'will be written',/'to aid debugging.')
159
160 CALL WRITE_DES_DATA
161 CALL MFIX_EXIT(myPE)
162
163 END SUBROUTINE CALC_EPG_DES
164