File: /nfs/home/0/users/jenkins/mfix.git/model/vavg_u_s.f

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
85