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