MFIX  2016-1
vavg_w_s.f
Go to the documentation of this file.
1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2 ! C
3 ! Module name: VAVG_W_s(M) C
4 ! Purpose: Calculate volume averaged W_s C
5 ! C
6 ! Author: M. Syamlal Date: 28-APR-94 C
7 ! Reviewer: Date: dd-mmm-yy C
8 ! C
9 ! Revision Number: C
10 ! Purpose: C
11 ! Author: Date: dd-mmm-yy C
12 ! Reviewer: Date: dd-mmm-yy C
13 ! C
14 ! Literature/Document References: C
15 ! C
16 ! Variables referenced: C
17 ! Variables modified: C
18 ! C
19 ! Local variables: C
20 ! C
21 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
22 !
23  DOUBLE PRECISION FUNCTION vavg_w_s (M)
24 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98
25 !...Switches: -xf
26 !
27 !-----------------------------------------------
28 ! M o d u l e s
29 !-----------------------------------------------
30  USE param
31  USE param1
32  USE parallel
33  USE fldvar
34  USE bc
35  USE geometry
36  USE physprop
37  USE indices
38  USE compar
39  USE mpi_utility
40  USE functions
41 
42  IMPLICIT NONE
43 !-----------------------------------------------
44 ! G l o b a l P a r a m e t e r s
45 !-----------------------------------------------
46 !-----------------------------------------------
47 ! D u m m y A r g u m e n t s
48 !-----------------------------------------------
49 !
50 ! Indices
51  INTEGER IJK , M
52 !
53 ! Integral of W_s*EP_s for entire volume
54  DOUBLE PRECISION SUM_W_s
55 !
56 ! Total volume of computational cells
57  DOUBLE PRECISION SUM_VOL
58 
59 ! Integrate the velocity values for the whole domain,
60 !
61  sum_w_s = zero
62  sum_vol = zero
63 
64 !!!!$omp parallel do private(IJK) reduction(+:SUM_VOL,SUM_W_S)
65  DO ijk = ijkstart3, ijkend3
66  IF(.NOT.is_on_mype_wobnd(i_of(ijk), j_of(ijk), k_of(ijk))) cycle
67  IF (fluid_at(ijk)) THEN
68  sum_vol = sum_vol + vol_w(ijk)
69  sum_w_s = sum_w_s + w_s(ijk,m)*ep_s(ijk,m)*vol_w(ijk)
70  ENDIF
71  END DO
72 
73  CALL global_all_sum(sum_vol)
74  CALL global_all_sum(sum_w_s)
75  vavg_w_s = sum_w_s/sum_vol
76 !
77  RETURN
78  END FUNCTION vavg_w_s
79 
80 !// Comments on the modifications for DMP version implementation
81 !// 001 Include header file and common declarations for parallelization
82 !// 350 Changed do loop limits: 1,ijkmax2-> ijkstart3, ijkend3
83 !// 400 Added mpi_utility module and other global reduction (sum) calls
double precision, dimension(:), allocatable vol_w
Definition: geometry_mod.f:242
integer, dimension(:), allocatable i_of
Definition: indices_mod.f:45
integer ijkend3
Definition: compar_mod.f:80
double precision function vavg_w_s(M)
Definition: vavg_w_s.f:24
double precision, dimension(:,:), allocatable w_s
Definition: fldvar_mod.f:117
integer, dimension(:), allocatable k_of
Definition: indices_mod.f:47
integer, dimension(:), allocatable j_of
Definition: indices_mod.f:46
Definition: param_mod.f:2
integer ijkstart3
Definition: compar_mod.f:80
double precision function ep_s(IJK, xxM)
Definition: fldvar_mod.f:178
double precision, parameter zero
Definition: param1_mod.f:27
Definition: bc_mod.f:23