for ( j = 1; j <= j_max; j++ ) { time_new = j * time_delta; /* Send H[1] to ID-1. */ if ( 0 < id ) { tag = 1; MPI_Send ( &h[1], 1, MPI_DOUBLE, id-1, tag, MPI_COMM_WORLD ); } /* Receive H[N+1] from ID+1. */ if ( id < p-1 ) { tag = 1; MPI_Recv ( &h[n+1], 1, MPI_DOUBLE, id+1, tag, MPI_COMM_WORLD, &status ); } /* Send H[N] to ID+1. */ if ( id < p-1 ) { tag = 2; MPI_Send ( &h[n], 1, MPI_DOUBLE, id+1, tag, MPI_COMM_WORLD ); } /* Receive H[0] from ID-1. */ if ( 0 < id ) { tag = 2; MPI_Recv ( &h[0], 1, MPI_DOUBLE, id-1, tag, MPI_COMM_WORLD, &status ); }