Loading src/trapping/cfrfme.cpp +13 −13 Original line number Diff line number Diff line Loading @@ -502,28 +502,28 @@ void frfme(string data_file, string output_path) { for (int j80 = jlmf - 1; j80 < jlml; j80++) { dcomplex *vec_w = global_vec_w + nkvs * (j80 - jlmf + 1); #pragma omp parallel for simd for (int jxy50 = 0; jxy50 < nkvs; jxy50++) { int wk_index = nlmmt * jxy50; for (long long jxy50 = 0; jxy50 < nkvs; jxy50++) { long long wk_index = nlmmt * jxy50; dcomplex wk_value = vec_tt1_wk[wk_index + j80]; int jy50 = jxy50 / nkv; int jx50 = jxy50 % nkv; long long jy50 = jxy50 / nkv; long long jx50 = jxy50 % nkv; vec_w[(nkv * jx50) + jy50] = wk_value; } // jxy50 loop int nvxy = nxv * nyv; long long nvxy = nxv * nyv; #pragma omp parallel for for (int ixyz = 0; ixyz < nrvc; ixyz++) { int iz75 = ixyz / nvxy; int iy70 = (ixyz % nvxy) / nxv; int ix65 = ixyz % nxv; for (long long ixyz = 0; ixyz < nrvc; ixyz++) { long long iz75 = ixyz / nvxy; long long iy70 = (ixyz % nvxy) / nxv; long long ix65 = ixyz % nxv; double z = _zv[iz75] + frsh; double y = _yv[iy70]; double x = _xv[ix65]; dcomplex sumy = cc0; #pragma omp parallel for simd reduction(+:sumy) for (int jy60x55 = 0; jy60x55 < nkvs ; jy60x55++) { int jy60 = jy60x55 / nkv; int jx55 = jy60x55 % nkv; int w_index = (jx55 * nkv) + jy60; for (long long jy60x55 = 0; jy60x55 < nkvs ; jy60x55++) { long long jy60 = jy60x55 / nkv; long long jx55 = jy60x55 % nkv; long long w_index = (jx55 * nkv) + jy60; double vky = vkv[jy60]; if (jx55 == 0) { // jx55 = 0: phasf Loading Loading
src/trapping/cfrfme.cpp +13 −13 Original line number Diff line number Diff line Loading @@ -502,28 +502,28 @@ void frfme(string data_file, string output_path) { for (int j80 = jlmf - 1; j80 < jlml; j80++) { dcomplex *vec_w = global_vec_w + nkvs * (j80 - jlmf + 1); #pragma omp parallel for simd for (int jxy50 = 0; jxy50 < nkvs; jxy50++) { int wk_index = nlmmt * jxy50; for (long long jxy50 = 0; jxy50 < nkvs; jxy50++) { long long wk_index = nlmmt * jxy50; dcomplex wk_value = vec_tt1_wk[wk_index + j80]; int jy50 = jxy50 / nkv; int jx50 = jxy50 % nkv; long long jy50 = jxy50 / nkv; long long jx50 = jxy50 % nkv; vec_w[(nkv * jx50) + jy50] = wk_value; } // jxy50 loop int nvxy = nxv * nyv; long long nvxy = nxv * nyv; #pragma omp parallel for for (int ixyz = 0; ixyz < nrvc; ixyz++) { int iz75 = ixyz / nvxy; int iy70 = (ixyz % nvxy) / nxv; int ix65 = ixyz % nxv; for (long long ixyz = 0; ixyz < nrvc; ixyz++) { long long iz75 = ixyz / nvxy; long long iy70 = (ixyz % nvxy) / nxv; long long ix65 = ixyz % nxv; double z = _zv[iz75] + frsh; double y = _yv[iy70]; double x = _xv[ix65]; dcomplex sumy = cc0; #pragma omp parallel for simd reduction(+:sumy) for (int jy60x55 = 0; jy60x55 < nkvs ; jy60x55++) { int jy60 = jy60x55 / nkv; int jx55 = jy60x55 % nkv; int w_index = (jx55 * nkv) + jy60; for (long long jy60x55 = 0; jy60x55 < nkvs ; jy60x55++) { long long jy60 = jy60x55 / nkv; long long jx55 = jy60x55 % nkv; long long w_index = (jx55 * nkv) + jy60; double vky = vkv[jy60]; if (jx55 == 0) { // jx55 = 0: phasf Loading