File: RELATIVE:/../../../mfix.git/model/vf_gs_y.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Subroutine: VF_gs_Y                                                 C
4     !  Purpose: Calculate the average drag coefficient at i, j+1/2, k and  C
5     !           multiply with v-momentum cell volume.                      C
6     !                                                                      C
7     !  Author: M. Syamlal                                 Date: 17-JUN-96  C
8     !  Reviewer:                                          Date:            C
9     !                                                                      C
10     !  Literature/Document References:                                     C
11     !                                                                      C
12     !  Variables referenced:                                               C
13     !  Variables modified:                                                 C
14     !  Local variables:                                                    C
15     !                                                                      C
16     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
17     
18           SUBROUTINE VF_GS_Y(VXF_GS)
19     
20     !-----------------------------------------------
21     ! Modules
22     !-----------------------------------------------
23           USE param
24           USE param1
25           USE geometry
26           USE indices
27           USE physprop
28           USE compar
29           USE drag
30           USE discretelement
31           USE fun_avg
32           USE functions
33     
34           IMPLICIT NONE
35     !-----------------------------------------------
36     ! Volume x Drag
37           DOUBLE PRECISION, INTENT(OUT) :: VxF_gs(DIMENSION_3, DIMENSION_M)
38     !-----------------------------------------------
39     ! Local Variables
40     !-----------------------------------------------
41     ! Indices
42           INTEGER :: J, IJK, IJKN
43     ! Index of continuum solids phases
44           INTEGER :: M
45     !-----------------------------------------------
46     
47     
48           DO M = 1, SMAX
49              DO IJK = ijkstart3, ijkend3
50                 IF (IP_AT_N(IJK)) THEN
51                    VXF_GS(IJK,M) = ZERO
52                 ELSE
53                    J = J_OF(IJK)
54                    IJKN = NORTH_OF(IJK)
55                    VXF_GS(IJK,M) = VOL_V(IJK) *                            &
56                       AVG_Y(F_GS(IJK,M),F_GS(IJKN,M),J)
57                 ENDIF
58              ENDDO
59           ENDDO
60     
61     
62           IF(DISCRETE_ELEMENT .AND. .NOT.DES_ONEWAY_COUPLED) THEN
63              DO IJK = IJKSTART3, IJKEND3
64                 IF(IP_AT_N(IJK)) THEN
65                    VXF_GDS(IJK) = ZERO
66                 ELSE
67                    J = J_OF(IJK)
68                    IJKN = NORTH_OF(IJK)
69                    VXF_GDS(IJK) = VOL_V(IJK) *                             &
70                       AVG_Y(F_GDS(IJK),F_GDS(IJKN),J)
71                 ENDIF
72              ENDDO
73           ENDIF
74     
75           RETURN
76           END SUBROUTINE VF_GS_Y
77     
78     
79     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
80     !                                                                      C
81     !  Subroutine: VF_SS_Y                                                 C
82     !  Purpose: Calculate the average Solid-Solid drag coefficient at      C
83     !           i, j+1/2, k and multiply with V-momentum cell volume.      C
84     !                                                                      C
85     !  Author: S. Dartevelle, LANL                        Date: 28-FEB-04  C
86     !  Reviewer:                                          Date:            C
87     !                                                                      C
88     !  Literature/Document References:                                     C
89     !                                                                      C
90     !  Variables referenced:                                               C
91     !  Variables modified:                                                 C
92     !  Local variables:                                                    C
93     !                                                                      C
94     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
95     
96           SUBROUTINE VF_SS_Y(VXF_SS)
97     
98     !-----------------------------------------------
99     ! Modules
100     !-----------------------------------------------
101           USE param
102           USE param1
103           USE geometry
104           USE indices
105           USE physprop
106           USE compar
107           USE drag
108           USE discretelement
109           USE fun_avg
110           USE functions
111     
112           IMPLICIT NONE
113     !-----------------------------------------------
114     ! Dummy arguments
115     !-----------------------------------------------
116     ! Volume x Drag
117           DOUBLE PRECISION, INTENT(OUT) :: VxF_SS(DIMENSION_3, DIMENSION_LM)
118     !-----------------------------------------------
119     ! Local variables
120     !-----------------------------------------------
121     ! Indices
122           INTEGER :: J, IJK, IJKN
123     ! Index of continuum solids phases
124           INTEGER :: L, M, LM
125     !-----------------------------------------------
126     
127     ! initialize every call
128           VXF_SS(:,:) = ZERO
129     
130           DO M = 1, MMAX
131              DO L = 1, MMAX
132                 LM = FUNLM(L,M)
133                 IF (L .NE. M) THEN
134                    DO IJK = ijkstart3, ijkend3
135                       IF (.NOT.IP_AT_N(IJK)) THEN
136                          J = J_OF(IJK)
137                          IJKN = NORTH_OF(IJK)
138                          VXF_SS(IJK,LM) = AVG_Y(F_SS(IJK,LM),F_SS(IJKN,LM),J)*VOL_V(IJK)
139                       ELSE     !Impermeable wall
140                          VXF_SS(IJK,LM) = ZERO
141                       ENDIF
142                    ENDDO
143                 ENDIF
144              ENDDO   ! end do loop (l=1,mmax)
145           ENDDO   ! end do loop (m=1,mmax)
146     
147           IF (DES_CONTINUUM_HYBRID) THEN
148     ! initialize every call
149              DO M = 1, MMAX
150                 DO IJK = ijkstart3, ijkend3
151                    IF (IP_AT_N(IJK)) THEN
152                       VXF_SDS(IJK,M) = ZERO
153                    ELSE
154                       J = J_OF(IJK)
155                       IJKN = NORTH_OF(IJK)
156                       VXF_SDS(IJK,M) = AVG_Y(F_SDS(IJK,M),F_SDS(IJKN,M),J)*VOL_V(IJK)
157                    ENDIF
158                 ENDDO      ! end do loop (ijk=ijkstart3,ijkend3)
159              ENDDO   ! end do loop (m=1,mmax)
160           ENDIF   ! end if (discrete_element and des_continuum_hybrid)
161     
162           RETURN
163           END SUBROUTINE VF_SS_Y
164     
165     
166