1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: LOCATION(L2, XMIN, DX) C 4 ! Purpose: Find the cell center location in X, Y, or Z direction for C 5 ! the given index L2. C 6 ! C 7 ! Author: M. Syamlal Date: 01-SEP-92 C 8 ! Reviewer: M. Syamlal Date: 11-DEC-92 C 9 ! C 10 ! Literature/Document References: C 11 ! C 12 ! Variables referenced: None C 13 ! Variables modified: None C 14 ! C 15 ! Local variables: L C 16 ! C 17 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 18 ! 19 DOUBLE PRECISION FUNCTION LOCATION (L2, XMIN, DX) 20 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98 21 !...Switches: -xf 22 ! 23 !----------------------------------------------- 24 ! M o d u l e s 25 !----------------------------------------------- 26 USE param 27 USE param1 28 IMPLICIT NONE 29 !----------------------------------------------- 30 ! D u m m y A r g u m e n t s 31 !----------------------------------------------- 32 ! 33 ! Index for which the location is required 34 INTEGER L2 35 ! 36 ! Starting location of the coordinate 37 DOUBLE PRECISION XMIN 38 ! 39 ! Cell sizes (DX, DY, or DZ) 40 !//EFD Nov/11 avoid using dx(*) 41 !// DOUBLE PRECISION DX(*) 42 DOUBLE PRECISION DX(0:L2) 43 ! 44 ! Local variables 45 ! 46 ! Index 47 INTEGER L 48 !----------------------------------------------- 49 ! 50 LOCATION = XMIN - HALF*DX(1) 51 L = 2 52 IF (L2 - 1 > 0) THEN 53 54 !//EFD since indexing of dx starts from 0 55 !// using DX(1:(L2-1)) instead of DX(:,L2) 56 !// LOCATION = LOCATION + SUM(HALF*(DX(:L2-1)+DX(2:L2))) 57 58 LOCATION = LOCATION + SUM(HALF*(DX(1:(L2-1))+DX(2:L2))) 59 L = L2 + 1 60 61 ENDIF 62 RETURN 63 END FUNCTION LOCATION 64