Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/source/usage/python.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,9 @@ Particles

This class stores particles, distributed over MPI ranks.

.. py:method:: add_n_particles(lev, x, y, z, px, py, pyz, qm, bchchg)
.. py:method:: add_n_particles(lev, x, y, t, px, py, pt, qm, bchchg)

Comment thread
ax3l marked this conversation as resolved.
Resolved
Add new particles to the container
Add new particles to the container for fixed s.

Note: This can only be used *after* the initialization (grids) have
been created, meaning after the call to :py:meth:`ImpactX.init_grids`
Expand All @@ -178,10 +178,10 @@ Particles
:param lev: mesh-refinement level
:param x: positions in x
:param y: positions in y
:param z: positions in z
:param t: positions as time-of-flight in c*t
:param px: momentum in x
:param py: momentum in y
:param pz: momentum in z
:param pt: momentum in t
:param qm: charge over mass in 1/eV
:param bchchg: total charge within a bunch in C

Expand Down
4 changes: 2 additions & 2 deletions examples/cfchannel/analysis_cfchannel.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -34,7 +34,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/cfchannel/analysis_cfchannel_10nC.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/chicane/analysis_chicane.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
10 changes: 5 additions & 5 deletions examples/chicane/plot_chicane.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -39,7 +39,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down Expand Up @@ -178,7 +178,7 @@ def read_time_series(file_pattern):
ax = axs[(0, ncol_ax)]
beam_at_step = series.iterations[step].particles["beam"].to_df()
ax.scatter(
beam_at_step.position_ct.multiply(millimeter),
beam_at_step.position_t.multiply(millimeter),
beam_at_step.momentum_t.multiply(mrad),
s=0.01,
)
Expand All @@ -202,7 +202,7 @@ def read_time_series(file_pattern):
ax = axs[(2, ncol_ax)]
beam_at_step = series.iterations[step].particles["beam"].to_df()
ax.scatter(
beam_at_step.position_ct.multiply(millimeter),
beam_at_step.position_t.multiply(millimeter),
beam_at_step.position_x.multiply(millimeter),
s=0.01,
)
Expand All @@ -212,7 +212,7 @@ def read_time_series(file_pattern):
ax = axs[(3, ncol_ax)]
beam_at_step = series.iterations[step].particles["beam"].to_df()
ax.scatter(
beam_at_step.position_ct.multiply(millimeter),
beam_at_step.position_t.multiply(millimeter),
beam_at_step.momentum_x.multiply(mrad),
s=0.01,
)
Expand Down
4 changes: 2 additions & 2 deletions examples/distgen/analysis_gaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/distgen/analysis_kurth4d.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/distgen/analysis_kvdist.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/distgen/analysis_semigaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/expanding_beam/analysis_expanding.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/fodo/analysis_fodo.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -34,7 +34,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/fodo/plot_fodo.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -39,7 +39,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/fodo_rf/analysis_fodo_rf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/iota_lattice/analysis_iotalattice.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/kurth/analysis_kurth.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/kurth/analysis_kurth_10nC.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/kurth/analysis_kurth_10nC_periodic.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/kurth/analysis_kurth_periodic.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/multipole/analysis_multipole.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
4 changes: 2 additions & 2 deletions examples/quadrupole_softedge/analysis_quadrupole_softedge.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def get_moments(beam):
sigpx = moment(beam["momentum_x"], moment=2) ** 0.5
sigy = moment(beam["position_y"], moment=2) ** 0.5
sigpy = moment(beam["momentum_y"], moment=2) ** 0.5
sigt = moment(beam["position_ct"], moment=2) ** 0.5
sigt = moment(beam["position_t"], moment=2) ** 0.5
sigpt = moment(beam["momentum_t"], moment=2) ** 0.5

epstrms = beam.cov(ddof=0)
Expand All @@ -33,7 +33,7 @@ def get_moments(beam):
sigy**2 * sigpy**2 - epstrms["position_y"]["momentum_y"] ** 2
) ** 0.5
emittance_t = (
sigt**2 * sigpt**2 - epstrms["position_ct"]["momentum_t"] ** 2
sigt**2 * sigpt**2 - epstrms["position_t"]["momentum_t"] ** 2
) ** 0.5

return (sigx, sigy, sigt, emittance_x, emittance_y, emittance_t)
Expand Down
Loading