program main include 'mpif.h' double precision PI25DT parameter (PI25DT = 3.141592653589793238462643d0) integer n, id, numprocs, i, rc integer newcom, handle integer status (MPI_STATUS_SIZE) integer ooor (10) double precision d1, d2 complex c1, c2 real c1r, c1i real c2r, c2i call MPI_INIT( ierr ) call MPI_COMM_RANK( MPI_COMM_WORLD, id, ierr ) call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr ) print *, "Process ", id, " of ", numprocs, " is alive" print *, "MPI_COMM_WORLD is ", MPI_COMM_WORLD print *, "Dup comm is ", newcom call MPI_CONN_REGISTER ("TESTC", MPI_COMM_WORLD, handle, ierr) call MPI_CONN_INTERCOMM_CREATE (handle, "TESTA", newcom, ierr) d1 = 0.0 d2 = -1.0 c1 = (0.0, 0.0) c2 = (-1.0, -2.0) c1r = 0.0 c1i = 0.0 c2r = 0.0 c2i = 0.0 call MPI_SEND (d2,1,MPI_DOUBLE_PRECISION,id,30,newcom,ierr) call MPI_SEND (c2,1,MPI_COMPLEX,id,40,newcom,ierr) call MPI_CONN_LEAVE (ierr) 30 call MPI_FINALIZE(rc) stop end