Skip to content

Commit 1c3352d

Browse files
committed
Bug fix
1 parent 16afac7 commit 1c3352d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

lcode2dPy/beam3d_gpu/beam_calculator.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -277,24 +277,24 @@ def move_particles_kernel(grid_steps, grid_step_size, xi_step_size,
277277
s_dot_p_m = sx * px_m + sy * py_m + sz * pz_m
278278

279279
# 6. Compute a new momentum at full time step:
280-
px_full = (
280+
px[k] = ( # px fullstep
281281
tx * s_dot_p_m + px_m * (1 - t_sqr) / (1 + t_sqr) +
282282
py_m * sz - pz_m * sy + q * dt / 2 * Ex
283283
)
284-
py_full = (
284+
py[k] = ( # py fullstep
285285
ty * s_dot_p_m + py_m * (1 - t_sqr) / (1 + t_sqr) +
286286
pz_m * sx - px_m * sz + q * dt / 2 * Ey
287287
)
288-
pz_full = (
288+
pz[k] = ( # pz fullstep
289289
tz * s_dot_p_m + pz_m * (1 - t_sqr) / (1 + t_sqr) +
290290
px_m * sy - py_m * sx + q * dt / 2 * Ez
291291
)
292292

293293
# 7. Calculate a new position vector at full time step:
294-
m_gamma_full = sqrt((1 / q_m)**2 + px_full**2 + py_full**2 + pz_full**2)
295-
x[k] = x_half + dt / 2 * (px_full / m_gamma_full)
296-
y[k] = y_half + dt / 2 * (py_full / m_gamma_full)
297-
xi[k] = xi_half + dt / 2 * (pz_full / m_gamma_full - 1)
294+
m_gamma_full = sqrt((1 / q_m)**2 + px[k]**2 + py[k]**2 + pz[k]**2)
295+
x[k] = x_half + dt / 2 * (px[k] / m_gamma_full) # x fullstep
296+
y[k] = y_half + dt / 2 * (py[k] / m_gamma_full) # y fullstep
297+
xi[k] = xi_half + dt / 2 * (pz[k] / m_gamma_full - 1) # xi fullstep
298298

299299
if is_lost(x[k], y[k], lost_radius):
300300
id[k] *= -1 # Particle hit the wall and is now lost

0 commit comments

Comments
 (0)