#pragma scop for (int t=0; t<T; ++t) { // p -> a for (int i=1; i<=N; ++i) { for (int j=1; j<=N; ++j) { for (int k=1; k<=N; ++k) { a[i][j][k] = w0 * (( p[i][j][k-1] + p[i][j][k+1] + p[i][j-1][k] + p[i][j+1][k] + p[i+1][j][k] + p[i-1][j][k]) / 6.0 - h2 * b[i][j][k]) + w1 * p[i][j][k]; } } } // a -> p for (int i=1; i<=N; ++i) { for (int j=1; j<=N; ++j) { for (int k=1; k<=N; ++k) { p[i][j][k] = w0 * (( a[i][j][k-1] + a[i][j][k+1] + a[i][j-1][k] + a[i][j+1][k] + a[i+1][j][k] + a[i-1][j][k]) / 6.0 - h2 * b[i][j][k]) + w1 * a[i][j][k]; } } } } #pragma endscop