MFIX  2016-1
vavg_u_s.f
Go to the documentation of this file.
1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2 ! C
3 ! Module name: VAVG_U_s(M) C
4 ! Purpose: Volume average U_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_u_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  INTEGER M
50 !
51 ! Indices
52  INTEGER IJK
53 !
54 ! Integral of U_s*EP_s for entire volume
55  DOUBLE PRECISION SUM_U_s
56 !
57 ! Total volume of computational cells
58  DOUBLE PRECISION SUM_VOL
59 
60 ! Integrate the velocity values for the whole domain,
61 !
62  sum_u_s = zero
63  sum_vol = zero
64 
65 !!!!$omp parallel do private(IJK) reduction(+:SUM_VOL,SUM_U_S)
66  DO ijk = ijkstart3, ijkend3
67  IF(.NOT.is_on_mype_wobnd(i_of(ijk), j_of(ijk), k_of(ijk))) cycle
68  IF (fluid_at(ijk)) THEN
69  sum_vol = sum_vol + vol_u(ijk)
70  sum_u_s = sum_u_s + u_s(ijk,m)*ep_s(ijk,m)*vol_u(ijk)
71  ENDIF
72  END DO
73 
74  CALL global_all_sum(sum_vol)
75  CALL global_all_sum(sum_u_s)
76  vavg_u_s = sum_u_s/sum_vol
77 !
78  RETURN
79  END FUNCTION vavg_u_s
80 
81 !// Comments on the modifications for DMP version implementation
82 !// 001 Include header file and common declarations for parallelization
83 !// 350 Changed do loop limits: 1,ijkmax2-> ijkstart3, ijkend3
84 !// 400 Added mpi_utility module and other global reduction (sum) calls
integer, dimension(:), allocatable i_of
Definition: indices_mod.f:45
integer ijkend3
Definition: compar_mod.f:80
double precision function vavg_u_s(M)
Definition: vavg_u_s.f:24
double precision, dimension(:,:), allocatable u_s
Definition: fldvar_mod.f:93
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, dimension(:), allocatable vol_u
Definition: geometry_mod.f:224
double precision, parameter zero
Definition: param1_mod.f:27
Definition: bc_mod.f:23