From c0f998293f800e4d58b713efd64e79eef963fc3b Mon Sep 17 00:00:00 2001 From: mrhardman <29800382+mrhardman@users.noreply.github.com> Date: Mon, 13 Jan 2025 09:35:36 +0000 Subject: [PATCH] Update moment_kinetics/src/em_fields.jl Avoid allocating an intermediate array for -Epar. Co-authored-by: John Omotani --- moment_kinetics/src/em_fields.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/moment_kinetics/src/em_fields.jl b/moment_kinetics/src/em_fields.jl index 5d757a511..3a7643912 100644 --- a/moment_kinetics/src/em_fields.jl +++ b/moment_kinetics/src/em_fields.jl @@ -201,7 +201,8 @@ function calculate_phi_from_Epar!(phi, Epar, r, z, z_spectral) # calculate phi on each local rank, up to a constant # phi[1,:] = 0.0 by convention here @loop_r ir begin - @views indefinite_integral!(phi[:,ir], -Epar[:,ir], z, z_spectral) + @views @. z.scratch = -Epar[:,ir] + @views indefinite_integral!(phi[:,ir], z.scratch, z, z_spectral) end # Restore the constant offset from the lower boundary