Skip to content

Commit

Permalink
Fix special case of pt_ms=0 in dispersive diagnostics. (#707)
Browse files Browse the repository at this point in the history
  • Loading branch information
cemitch99 committed Sep 20, 2024
1 parent b8345b3 commit 738d715
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/particles/diagnostics/ReducedBeamCharacteristics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,10 +262,10 @@ namespace impactx::diagnostics
amrex::ParticleReal const emittance_y = std::sqrt(y_ms*py_ms-ypy*ypy);
amrex::ParticleReal const emittance_t = std::sqrt(t_ms*pt_ms-tpt*tpt);
// Dispersion and dispersive beam moments
amrex::ParticleReal const dispersion_x = - xpt / pt_ms;
amrex::ParticleReal const dispersion_px = - pxpt / pt_ms;
amrex::ParticleReal const dispersion_y = - ypt / pt_ms;
amrex::ParticleReal const dispersion_py = - pypt / pt_ms;
amrex::ParticleReal const dispersion_x = ((pt_ms > 0.0) ? (- xpt / pt_ms) : 0.0);
amrex::ParticleReal const dispersion_px = ((pt_ms > 0.0) ? (- pxpt / pt_ms) : 0.0);
amrex::ParticleReal const dispersion_y = ((pt_ms > 0.0) ? (- ypt / pt_ms) : 0.0);
amrex::ParticleReal const dispersion_py = ((pt_ms > 0.0) ? (- pypt / pt_ms) : 0.0);
amrex::ParticleReal const x_msd = x_ms - pt_ms*dispersion_x*dispersion_x;
amrex::ParticleReal const px_msd = px_ms - pt_ms*dispersion_px*dispersion_px;
amrex::ParticleReal const xpx_d = xpx - pt_ms*dispersion_x*dispersion_px;
Expand Down

0 comments on commit 738d715

Please sign in to comment.