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