1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: CALC_MW (X_g, DIM, L, NMAX, MW_g) C 4 ! Purpose: Calculate average molecular weight of gas C 5 ! C 6 ! Author: M. Syamlal Date: 19-OCT-92 C 7 ! Reviewer: P. Nicoletti Date: 11-DEC-92 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:None C 17 ! Variables modified:None C 18 ! C 19 ! Local variables: SUM, N C 20 ! C 21 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 22 ! 23 DOUBLE PRECISION FUNCTION CALC_MW (X_G, DIM, L, NMAX, MW_G) 24 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98 25 !...Switches: -xf 26 !----------------------------------------------- 27 ! M o d u l e s 28 !----------------------------------------------- 29 USE param 30 USE param1 31 USE toleranc 32 IMPLICIT NONE 33 !----------------------------------------------- 34 ! D u m m y A r g u m e n t s 35 !----------------------------------------------- 36 ! 37 ! Mass fraction array's Ist dimension 38 INTEGER DIM 39 ! 40 ! 41 ! Max of X_g array 2nd index and MW_g array index 42 INTEGER NMAX 43 ! 44 ! Mass fraction array 45 ! 46 DOUBLE PRECISION X_g(DIM, NMAX) 47 ! 48 ! Moleculare weight array 49 ! 50 DOUBLE PRECISION MW_g(NMAX) 51 ! 52 ! Mass fraction array Ist index 53 INTEGER L 54 ! 55 ! Local variable 56 ! 57 ! local sum 58 DOUBLE PRECISION SUM 59 ! 60 ! local index 61 INTEGER N 62 !----------------------------------------------- 63 ! 64 SUM = ZERO 65 DO N = 1, NMAX 66 SUM = SUM + X_G(L,N)/MW_G(N) 67 END DO 68 CALC_MW = ONE/MAX(SUM,OMW_MAX) 69 ! 70 RETURN 71 END FUNCTION CALC_MW 72 73 !// Comments on the modifications for DMP version implementation 74 !// 100 EFD Replaced inheritance based dimensioning of arrays, i.e. X_g(*),MW_g(*) 75