#include #include #include #include "mpi.h" #define KE 201 int main(int argc, char **argv) { MPI_Status status; int a, b; int size; int n, k, kc=KE/2, NSTEPS=140; double *ex, *hy, *rex, *rhy; double ex_low_m1 = 0.0, ex_low_m2 = 0.0; double ex_high_m1 = 0.0, ex_high_m2 = 0.0; int myrank, isize; double t_str, elapsed_time; double T = 0.0, t0 = 40.0, spread = 12.0, pulse; FILE *fp; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myrank); MPI_Comm_size(MPI_COMM_WORLD, &isize); t_str = MPI_Wtime(); // このノードが受け持つ空間サイズの決定 size = ((KE-2)%isize==0 ? (KE-2)/isize : (KE-2)/isize+1) + 2; ex = malloc(sizeof(double)*size); hy = malloc(sizeof(double)*size); for(k=0; k