Dipole - Comparing to Bmad¶
In [ ]:
Copied!
import numpy as np
from pmd_beamphysics import single_particle
from pmd_beamphysics.units import mec2
from pytao import Tao
import impact.z as IZ
from impact.tests.z.conftest import bmad_files
from impact.z.interfaces.bmad import plot_impactz_and_tao_stats, track_tao
import numpy as np
from pmd_beamphysics import single_particle
from pmd_beamphysics.units import mec2
from pytao import Tao
import impact.z as IZ
from impact.tests.z.conftest import bmad_files
from impact.z.interfaces.bmad import plot_impactz_and_tao_stats, track_tao
Initial Particles¶
In [ ]:
Copied!
energy = 10e6
pz = np.sqrt(energy**2 - mec2**2)
x0 = 0.1
y0 = 0.01
pz0 = pz * 0.99
P0 = single_particle(x=x0, y=y0, pz=pz0)
energy = 10e6
pz = np.sqrt(energy**2 - mec2**2)
x0 = 0.1
y0 = 0.01
pz0 = pz * 0.99
P0 = single_particle(x=x0, y=y0, pz=pz0)
Tao¶
In [ ]:
Copied!
!cat $bmad_files/dipole.bmad
!cat $bmad_files/dipole.bmad
In [ ]:
Copied!
tao = Tao(lattice_file=bmad_files / "dipole.bmad", plot="mpl")
# tao.cmd('set ele sbend1 ref_tilt = pi/4')
tao.plot("beta", include_layout=False)
tao = Tao(lattice_file=bmad_files / "dipole.bmad", plot="mpl")
# tao.cmd('set ele sbend1 ref_tilt = pi/4')
tao.plot("beta", include_layout=False)
In [ ]:
Copied!
Ptao = track_tao(tao, P0)
Ptao = track_tao(tao, P0)
Impact-Z¶
In [ ]:
Copied!
I = IZ.ImpactZ.from_tao(tao, initial_particles=P0)
I = IZ.ImpactZ.from_tao(tao, initial_particles=P0)
In [ ]:
Copied!
output = I.run()
output = I.run()
In [ ]:
Copied!
P = I.output.particles["final_particles"]
Ptao.data
P = I.output.particles["final_particles"]
Ptao.data
In [ ]:
Copied!
P.data
P.data
In [ ]:
Copied!
plot_impactz_and_tao_stats(I, tao)
plot_impactz_and_tao_stats(I, tao)