diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Hydro_Analysis.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/Hydro_Analysis.c b/src/Hydro_Analysis.c index b3aae2a..5fef8a1 100644 --- a/src/Hydro_Analysis.c +++ b/src/Hydro_Analysis.c @@ -10,20 +10,23 @@ void Hydro_Analysis_PrepareReduction(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS printf("local\n"); - #pragma omp parallel + if (Hydro_Analysis_weighted_center_of_mass) { - LC_LOOP3(local_reduction, i,j,k, - cctk_nghostzones[0], cctk_nghostzones[1], cctk_nghostzones[2], - cctk_lsh[0] - cctk_nghostzones[0], cctk_lsh[1] - cctk_nghostzones[1], - cctk_lsh[2] - cctk_nghostzones[2], cctk_lsh[0], cctk_lsh[1], cctk_lsh[2]) + #pragma omp parallel { - CCTK_INT i3D = CCTK_GFINDEX3D(cctkGH, i, j, k); - CCTK_INT size= cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2]; - Hydro_Analysis_rho_center_volume_weighted_gf[i3D+0*size] = rho[i3D] * x[i3D]; - Hydro_Analysis_rho_center_volume_weighted_gf[i3D+1*size] = rho[i3D] * y[i3D]; - Hydro_Analysis_rho_center_volume_weighted_gf[i3D+2*size] = rho[i3D] * z[i3D]; + LC_LOOP3(local_reduction, i,j,k, + cctk_nghostzones[0], cctk_nghostzones[1], cctk_nghostzones[2], + cctk_lsh[0] - cctk_nghostzones[0], cctk_lsh[1] - cctk_nghostzones[1], + cctk_lsh[2] - cctk_nghostzones[2], cctk_lsh[0], cctk_lsh[1], cctk_lsh[2]) + { + CCTK_INT i3D = CCTK_GFINDEX3D(cctkGH, i, j, k); + CCTK_INT size= cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2]; + Hydro_Analysis_rho_center_volume_weighted_gf[i3D+0*size] = rho[i3D] * x[i3D]; + Hydro_Analysis_rho_center_volume_weighted_gf[i3D+1*size] = rho[i3D] * y[i3D]; + Hydro_Analysis_rho_center_volume_weighted_gf[i3D+2*size] = rho[i3D] * z[i3D]; + } + LC_ENDLOOP3(local_reduction); } - LC_ENDLOOP3(local_reduction); } } |