aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Hydro_Analysis.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/Hydro_Analysis.c b/src/Hydro_Analysis.c
index 2270f8a..d02b64c 100644
--- a/src/Hydro_Analysis.c
+++ b/src/Hydro_Analysis.c
@@ -86,10 +86,11 @@ void Hydro_Analysis_LocationSearch(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS
/* Initialized MPI-local quantities */
- CCTK_REAL local_rho_max_loc[3];
+ CCTK_REAL local_rho_max_loc[4], level_rho_max_loc[4];
local_rho_max_loc[0] = 0.0;
local_rho_max_loc[1] = 0.0;
local_rho_max_loc[2] = 0.0;
+ local_rho_max_loc[3] = 0.0; // Information if it was found at all on this level
/* Look for the location of the global maximum.
* This algorithm will have problems when that occurs at more than
@@ -110,6 +111,7 @@ void Hydro_Analysis_LocationSearch(CCTK_ARGUMENTS)
local_rho_max_loc[0] = x[i3D];
local_rho_max_loc[1] = y[i3D];
local_rho_max_loc[2] = z[i3D];
+ local_rho_max_loc[3] = 1.;
}
}
}
@@ -123,7 +125,16 @@ void Hydro_Analysis_LocationSearch(CCTK_ARGUMENTS)
if (handle_sum < 0)
CCTK_WARN(0, "Unable to get reduction handle 'sum'.");
if (CCTK_ReduceLocArrayToArray1D(cctkGH, -1, handle_sum, &local_rho_max_loc,
- Hydro_Analysis_rho_max_loc, 3, CCTK_VARIABLE_REAL))
+ level_rho_max_loc, 4, CCTK_VARIABLE_REAL))
CCTK_WARN(0, "Error while reducing local_rho_max_loc");
+ if (level_rho_max_loc[3]) {
+ Hydro_Analysis_rho_max_loc[0] = level_rho_max_loc[0];
+ Hydro_Analysis_rho_max_loc[1] = level_rho_max_loc[1];
+ Hydro_Analysis_rho_max_loc[2] = level_rho_max_loc[2];
+ }
+/* CCTK_VInfo(CCTK_THORNSTRING, "New location: %g,%g,%g",
+ Hydro_Analysis_rho_max_loc[0],
+ Hydro_Analysis_rho_max_loc[1],
+ Hydro_Analysis_rho_max_loc[2]); */
}