!!!!!!!!!!!!!!!!!!!!!!!!!!! Program 12.5 !!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! 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 TALK_0_TO_1 INCLUDE 'mpif.h' INTEGER :: IRANK,IPROC,ITAG,ISEND,IRECV,IERR,IM,ID,IFINISH INTEGER, DIMENSION (MPI_STATUS_SIZE) :: ISTAT CHARACTER*40 :: HELLO ! ITAG = 730 ID = 40 ISEND = 0 IRECV = 1 CALL MPI_INIT (IERR) CALL MPI_COMM_RANK (MPI_COMM_WORLD,IRANK,IERR) CALL MPI_COMM_SIZE (MPI_COMM_WORLD,IPROC,IERR) PRINT*, IRANK, IPROC CALL MPI_BARRIER (MPI_COMM_WORLD,IERR) IF (IRANK.EQ.ISEND) THEN HELLO = 'I am process 0, who are you ?' IM = 29 CALL MPI_SEND (HELLO,IM,MPI_CHARACTER,IRECV, & ITAG,MPI_COMM_WORLD,IERR) PRINT*, 'I sent the message: ', HELLO ELSE IF (IRANK.EQ.IRECV) THEN CALL MPI_RECV (HELLO,ID,MPI_CHARACTER,ISEND, & ITAG,MPI_COMM_WORLD,ISTAT,IERR) PRINT*, 'I got your message which is: ', HELLO END IF CALL MPI_FINALIZE(IFINISH) END PROGRAM TALK_0_TO_1