File: RELATIVE:/../../../mfix.git/model/des/calc_drag_des.f
1
2
3
4
5
6
7
8
9
10 SUBROUTINE CALC_DRAG_DES
11
12 use discretelement, only: DES_CONTINUUM_COUPLED
13 use discretelement, only: DES_CONTINUUM_HYBRID
14
15 use particle_filter, only: DES_INTERP_SCHEME_ENUM
16 use particle_filter, only: DES_INTERP_GARG
17
18 use discretelement, only: DES_EXPLICITLY_COUPLED
19
20 use discretelement, only: DRAG_FC, FC, MAX_PIP
21 use functions, only: IS_NORMAL
22
23 IMPLICIT NONE
24
25 INTEGER :: II
26
27
28 IF(DES_EXPLICITLY_COUPLED) THEN
29
30 IF(DES_CONTINUUM_COUPLED) THEN
31
32
33 DO II = 1, MAX_PIP
34 IF(IS_NORMAL(II)) &
35 FC(:,II) = FC(:,II) + DRAG_FC(:,II)
36 ENDDO
37
38 ENDIF
39
40
41 ELSE
42
43
44 IF(DES_CONTINUUM_COUPLED) THEN
45 SELECT CASE(DES_INTERP_SCHEME_ENUM)
46 CASE(DES_INTERP_GARG) ; CALL DRAG_GS_DES0
47 CASE DEFAULT; CALL DRAG_GS_DES1
48 END SELECT
49 ENDIF
50
51
52 IF(DES_CONTINUUM_HYBRID) THEN
53 SELECT CASE(DES_INTERP_SCHEME_ENUM)
54 CASE DEFAULT; CALL DRAG_SS_DEM_NONINTERP
55 END SELECT
56 ENDIF
57 ENDIF
58
59 RETURN
60 END SUBROUTINE CALC_DRAG_DES
61
62
63
64
65
66
67
68
69
70
71 SUBROUTINE CALC_DRAG_DES_2FLUID
72
73 use discretelement, only: DES_CONTINUUM_COUPLED
74 use discretelement, only: DES_CONTINUUM_HYBRID
75
76 use particle_filter, only: DES_INTERP_SCHEME_ENUM
77 use particle_filter, only: DES_INTERP_GARG
78
79 IMPLICIT NONE
80
81
82
83 IF(DES_CONTINUUM_COUPLED) THEN
84 SELECT CASE(DES_INTERP_SCHEME_ENUM)
85 CASE(DES_INTERP_GARG) ; CALL DRAG_GS_GAS0
86 CASE DEFAULT; CALL DRAG_GS_GAS1
87 END SELECT
88 ENDIF
89
90
91 IF(DES_CONTINUUM_HYBRID) THEN
92 SELECT CASE(DES_INTERP_SCHEME_ENUM)
93 CASE DEFAULT; CALL DRAG_SS_TFM_NONINTERP
94 END SELECT
95 ENDIF
96
97 RETURN
98 END SUBROUTINE CALC_DRAG_DES_2FLUID
99
100
101
102
103
104
105
106
107
108
109
110
111
112 SUBROUTINE CALC_DRAG_DES_EXPLICIT
113
114 use discretelement, only: DES_CONTINUUM_COUPLED
115 use particle_filter, only: DES_DIFFUSE_MEAN_FIELDS
116
117
118 use discretelement, only: DRAG_BM
119
120 use discretelement, only: F_GDS
121
122 use geometry, only: DO_K
123
124 use rxns
125
126 IMPLICIT NONE
127
128
129 CALL PARTICLES_IN_CELL
130
131 CALL CALC_INTERP_WEIGHTS
132
133 CALL COMP_MEAN_FIELDS
134
135
136 IF(DES_CONTINUUM_COUPLED) CALL DRAG_GS_GAS1
137
138
139 IF(DES_DIFFUSE_MEAN_FIELDS) THEN
140 CALL DIFFUSE_MEAN_FIELD(F_GDS,'F_GDS')
141 CALL DIFFUSE_MEAN_FIELD(DRAG_BM(:,1),'DRAG_BM(1)')
142 CALL DIFFUSE_MEAN_FIELD(DRAG_BM(:,2),'DRAG_BM(2)')
143 IF(DO_K) CALL DIFFUSE_MEAN_FIELD(DRAG_BM(:,3),'DRAG_BM(3)')
144 ENDIF
145
146 RETURN
147 END SUBROUTINE CALC_DRAG_DES_EXPLICIT
148