code126.f90

来自「Fortran 90 and HPF Programs Related to t」· F90 代码 · 共 58 行

F90
58
字号
!!!!!!!!!!!!!!!!!!!!!!!!!!!   Program 12.6   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                                                                       !! Please Note:                                                          !!                                                                       !! (1) This computer program is written by Tao Pang in conjunction with  !!     his book, "An Introduction to Computational Physics," published   !!     by Cambridge University Press in 1997.                            !!                                                                       !! (2) No warranties, express or implied, are made for this program.     !!                                                                       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!PROGRAM EULER_CONST  INCLUDE 'mpif.h'  INTEGER :: N,K,IERR,IRANK,IPROC,IFINISH  REAL*8, PARAMETER :: SUM25=0.577215664901532860606512D0  REAL*8 :: SUMI,SUM!  CALL MPI_INIT (IERR)  CALL MPI_COMM_RANK (MPI_COMM_WORLD,IRANK,IERR)  CALL MPI_COMM_SIZE (MPI_COMM_WORLD,IPROC,IERR)!  IF (IRANK.EQ.0) THEN    PRINT*, 'Enter total number of terms in the series: '    READ (5,*) N  END IF!! Broadcast the total number of terms to every process!  CALL MPI_BCAST (N,1,MPI_INTEGER,0,MPI_COMM_WORLD,IERR)  K = (N/IPROC)  SUMI = 0.D0!  IF (IRANK.NE.(IPROC-1)) then    DO I = IRANK*K+1, (IRANK+1)*K      SUMI = SUMI+1.D0/DFLOAT(I)    END DO  ELSE    DO I = IRANK*K+1, N      SUMI = SUMI + 1.D0/DFLOAT(I)    END DO  END IF!! Collect the sums from every process!  CALL MPI_REDUCE (SUMI,SUM,1,MPI_DOUBLE_PRECISION, &                   MPI_SUM,0,MPI_COMM_WORLD,IERR)  IF (IRANK.EQ.0) THEN    SUM = SUM-DLOG(DFLOAT(N))    PRINT*, 'The evaluated Euler constant is ', SUM, &            'with the estimated error of ', DABS(SUM-SUM25)  END IF!  CALL MPI_FINALIZE (IFINISH)END PROGRAM EULER_CONST

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?