From 02af8e35ab86c58f22df9927289ae541167ed0c3 Mon Sep 17 00:00:00 2001 From: James McClung Date: Wed, 4 Feb 2026 10:19:32 -0500 Subject: [PATCH 1/4] psc_shock: inject turb in ghosts too --- src/psc_shock.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/psc_shock.cxx b/src/psc_shock.cxx index 61a1f1f26..4b9b6e05a 100644 --- a/src/psc_shock.cxx +++ b/src/psc_shock.cxx @@ -335,7 +335,7 @@ void inject_b_from_potential(MfieldsState& mflds, auto field_patch = make_Fields3d(mflds[p]); auto vector_potential_patch = make_Fields3d(vector_potential[p]); - grid.Foreach_3d(0, 1, [&](int jx, int jy, int jz) { + grid.Foreach_3d(2, 1, [&](int jx, int jy, int jz) { field_patch(HX, jx, jy, jz) = vector_potential_patch(AZ, jx, jy + 1, jz) - vector_potential_patch(AZ, jx, jy, jz) - vector_potential_patch(AY, jx, jy, jz + 1) + From c6d2e41e239ba1e6f37c31d6545ee3fa2aab0a58 Mon Sep 17 00:00:00 2001 From: James McClung Date: Wed, 18 Mar 2026 15:15:56 -0400 Subject: [PATCH 2/4] psc_shock: don't init turb when no turb --- src/psc_shock.cxx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/psc_shock.cxx b/src/psc_shock.cxx index 4b9b6e05a..47787a9f5 100644 --- a/src/psc_shock.cxx +++ b/src/psc_shock.cxx @@ -638,13 +638,15 @@ void inject_turbulence_dense(MfieldsState& mflds) void initializeFields(MfieldsState& mflds) { - if (turb_method == "alfven_dense") { - inject_turbulence_dense(mflds); - } else if (turb_method == "noise_gabor") { - GaborKernel kernel; - inject_turbulence_noise(mflds, kernel); - } else { - LOG_ERROR("Unrecognized turbulence method: %s\n", turb_method.c_str()); + if (turb_db2 > 0.0) { + if (turb_method == "alfven_dense") { + inject_turbulence_dense(mflds); + } else if (turb_method == "noise_gabor") { + GaborKernel kernel; + inject_turbulence_noise(mflds, kernel); + } else { + LOG_ERROR("Unrecognized turbulence method: %s\n", turb_method.c_str()); + } } add_background_fields(mflds); From bca237c8ced31b05b6783817284781e527b4b368 Mon Sep 17 00:00:00 2001 From: James McClung Date: Wed, 25 Mar 2026 10:50:36 -0400 Subject: [PATCH 3/4] psc_shock: only log k stats on rank 0 --- src/psc_shock.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/psc_shock.cxx b/src/psc_shock.cxx index 47787a9f5..014fa9a64 100644 --- a/src/psc_shock.cxx +++ b/src/psc_shock.cxx @@ -566,7 +566,11 @@ void inject_turbulence_dense(MfieldsState& mflds) double kmax = ((Double3)Int3::max(-i3_min, i3_max) * dk_vec).mag(); int nk = kmax / dk + 1; - LOG_INFO("nk = %d, kmax = %f\n", nk, kmax); + int rank; + MPI_Comm_rank(mflds.grid().comm(), &rank); + if (rank == 0) { + LOG_INFO("nk = %d, kmax = %f\n", nk, kmax); + } auto k_mins = std::vector(nk); for (int i = 0; i < nk; i++) { From 89075a8378b9b6df5afe31b1b5309004896428f4 Mon Sep 17 00:00:00 2001 From: James McClung Date: Tue, 24 Feb 2026 10:44:53 -0500 Subject: [PATCH 4/4] psc_shock: +marder_interval --- src/psc_shock.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/psc_shock.cxx b/src/psc_shock.cxx index 014fa9a64..415cbe2dc 100644 --- a/src/psc_shock.cxx +++ b/src/psc_shock.cxx @@ -69,6 +69,7 @@ double turb_db2; double turb_correlation_length; int out_interval; +int marder_interval; bool mirror_domain; std::string turb_method; @@ -136,6 +137,7 @@ void setupParameters(int argc, char** argv) int n_writes = inputParams.getOrDefault("n_writes", 100); out_interval = psc_params.nmax / n_writes; + marder_interval = inputParams.getOrDefault("marder_interval", -1); mirror_domain = inputParams.getOrDefault("mirror_domain", false); turb_method = @@ -703,7 +705,7 @@ static void run(int argc, char** argv) double marder_diffusion = 0.9; int marder_loop = 3; bool marder_dump = false; - psc_params.marder_interval = -1; + psc_params.marder_interval = marder_interval; Marder marder(grid, marder_diffusion, marder_loop, marder_dump); // ----------------------------------------------------------------------