File: /nfs/home/0/users/jenkins/mfix.git/model/des/comp_mean_fields1.f
1
2
3
4 SUBROUTINE COMP_MEAN_FIELDS1
5
6
7
8
9 USE param
10 USE param1
11 USE fldvar
12 USE geometry
13 USE indices
14 USE compar
15 USE parallel
16 USE sendrecv
17 USE discretelement
18 use desgrid
19 use desmpi
20 USE mfix_pic
21 USE functions
22 use particle_filter, only: FILTER_WEIGHT
23 use particle_filter, only: FILTER_CELL
24 IMPLICIT NONE
25
26
27
28
29 INTEGER NP, LC, M
30
31 INTEGER IJK
32
33 DOUBLE PRECISION :: SOLVOLINC(DIMENSION_3,DES_MMAX)
34
35 DOUBLE PRECISION :: OoSOLVOL
36
37 DOUBLE PRECISION :: VOL_WT, VOLxWEIGHT
38
39 INTEGER :: LP_BND
40
41
42
43
44
45 (:,:) = ZERO
46
47 IF(MPPIC) THEN
48 DES_U_s(:,:) = ZERO
49 DES_V_s(:,:) = ZERO
50 DES_W_s(:,:) = ZERO
51 ENDIF
52
53
54 = merge(27,9,DO_K)
55
56
57
58
59
60
61
62
63 do NP=1,MAX_PIP
64 IF(.NOT.PEA(NP,1)) CYCLE
65 IF(any(PEA(NP,2:3))) CYCLE
66
67 VOL_WT = PVOL(NP)
68 IF(MPPIC) VOL_WT = VOL_WT*DES_STAT_WT(NP)
69
70 = PIJK(NP,5)
71
72 DO LC=1,LP_BND
73 IJK = FILTER_CELL(LC,NP)
74
75 = VOL_WT*FILTER_WEIGHT(LC,NP)
76
77
78 (IJK,M) = SOLVOLINC(IJK,M) + VOLxWEIGHT
79 IF(MPPIC) THEN
80
81
82 (IJK,M) = DES_U_S(IJK,M) + &
83 DES_VEL_NEW(1,NP)*VOLxWEIGHT
84
85 (IJK,M) = DES_V_S(IJK,M) + &
86 DES_VEL_NEW(2,NP)*VOLxWEIGHT
87 IF(DO_K) THEN
88
89 (IJK,M) = DES_W_S(IJK,M) + &
90 DES_VEL_NEW(3,NP)*VOLxWEIGHT
91 ENDIF
92 ENDIF
93 ENDDO
94 ENDDO
95
96
97
98
99
100
101
102
103 DO IJK = IJKSTART3, IJKEND3
104 IF(.NOT.FLUID_AT(IJK)) CYCLE
105
106
107 DO M = 1, DES_MMAX
108 IF(SOLVOLINC(IJK,M).GT.ZERO) THEN
109 OoSOLVOL = ONE/SOLVOLINC(IJK,M)
110 DES_U_s(IJK,M) = DES_U_s(IJK,M)*OoSOLVOL
111 DES_V_s(IJK,M) = DES_V_s(IJK,M)*OoSOLVOL
112 IF(DO_K) DES_W_s(IJK,M) = DES_W_s(IJK,M)*OoSOLVOL
113 ENDIF
114
115
116
117 (IJK,M) = DES_RO_S(M)*SOLVOLINC(IJK,M)/VOL(IJK)
118
119 ENDDO
120
121 ENDDO
122
123
124
125
126 calL SEND_RECV(DES_ROP_S,2)
127
128 end SUBROUTINE COMP_MEAN_FIELDS1
129