1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: Init_Ab_m(A_m, b_m, IJKMAX2, M, IER) C C 4 ! Purpose:Initialiize the sparse matrix coefficients and the C 5 ! source vector. C 6 ! C 7 ! C 8 ! Author: M. Syamlal Date: 16-MAY-96 C 9 ! Reviewer: Date: C 10 ! C 11 ! C 12 ! Literature/Document References: C 13 ! C 14 ! Variables referenced: C 15 ! Variables modified: C 16 ! C 17 ! Local variables: C 18 ! C 19 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 20 SUBROUTINE INIT_AB_M(A_M, B_M, IJKMAX2A, M) 21 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98 22 !...Switches: -xf 23 ! 24 ! Include param.inc file to specify parameter values 25 ! 26 !----------------------------------------------- 27 ! M o d u l e s 28 !----------------------------------------------- 29 USE param 30 USE param1 31 USE matrix 32 USE parallel 33 USE compar 34 IMPLICIT NONE 35 !----------------------------------------------- 36 ! G l o b a l P a r a m e t e r s 37 !----------------------------------------------- 38 !----------------------------------------------- 39 ! D u m m y A r g u m e n t s 40 !----------------------------------------------- 41 ! 42 ! Phase index 43 INTEGER M 44 ! 45 ! cell index 46 INTEGER IJK 47 ! 48 ! Maximum dimension 49 INTEGER IJKMAX2A 50 ! 51 ! Septadiagonal matrix A_m 52 DOUBLE PRECISION A_m(DIMENSION_3, -3:3, 0:DIMENSION_M) 53 ! 54 ! Source vector 55 DOUBLE PRECISION b_m(DIMENSION_3, 0:DIMENSION_M) 56 ! 57 !----------------------------------------------- 58 ! 59 ! IJK = 1 60 IF (IJKMAX2A > 0) THEN 61 IF (USE_DOLOOP) THEN 62 !!!$omp parallel do private( IJK ) 63 DO IJK = ijkstart3, ijkend3 64 A_M(IJK,B,M) = ZERO 65 A_M(IJK,S,M) = ZERO 66 A_M(IJK,W,M) = ZERO 67 A_M(IJK,0,M) = -ONE 68 A_M(IJK,E,M) = ZERO 69 A_M(IJK,N,M) = ZERO 70 A_M(IJK,T,M) = ZERO 71 72 B_M(IJK,M) = ZERO 73 ENDDO 74 ELSE 75 A_M(:,B,M) = ZERO 76 A_M(:,S,M) = ZERO 77 A_M(:,W,M) = ZERO 78 A_M(:,0,M) = -ONE 79 A_M(:,E,M) = ZERO 80 A_M(:,N,M) = ZERO 81 A_M(:,T,M) = ZERO 82 B_M(:,M) = ZERO 83 84 ! IJK = IJKMAX2A + 1 85 ENDIF 86 ENDIF 87 RETURN 88 END SUBROUTINE INIT_AB_M 89 90 !// Comments on the modifications for DMP version implementation 91 !// 001 Include header file and common declarations for parallelization 92 !// 120 Replaced the index for initialization, :IJKMAX2A => : 93 !// 350 Changed do loop limits: 1,ijkmax2-> ijkstart3, ijkend3 94 ! 95