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

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
84