How to set up a vortex electron beam in the injector block?
Opened this issue · 3 comments
Hello, everyone,
How to set up a vortex electron beam in the injector block?
I can‘t find vortex about orbital angular momentum in the Users Manual of EPOCH. The following is a example about injector block, but don't setting up electron orbital angular momentum. How to set up orbital angular momentum of electrons?
begin:control
nx = 128
ny = 128
Final time of simulation
t_end = 3.0e-1
Size of domain
x_min = 0
x_max = 2.5e5
y_min = -2.5e5
y_max = 2.5e5
stdout_frequency = 1000
end:control
begin:boundaries
bc_x_min = periodic
bc_x_max = periodic
bc_y_min = periodic
bc_y_max = periodic
end:boundaries
begin:constant
drift_p = 2.5e-24
temperature = 273
dens = 1
ppc = 8
end:constant
begin:injector
boundary = x_min
species = Beam
number_density = dens
temperature = temperature
drift_px = drift_p
nparticles_per_cell = ppc
end:injector
begin:species
Background electrons (immobile ions)
name = Background
charge = -1
mass = 1.0
temperature = temperature
drift_px = -drift_p / 1000
number_density = dens * 1000
nparticles = ppc * nx * ny
end:species
begin:species
Beam
name = Beam
charge = -1
mass = 1.0
#temperature_x = temperature
#drift_px = drift_p
#number_density = dens
bc_x_min = simple_outflow
bc_x_max = simple_outflow
end:species
begin:output
name = normal
Simulated time between output dumps
dt_snapshot = 0.5e-2
dump_last = T
Properties at particle positions
#particles = always
#px = always
Properties on grid
grid = always
ex = always
ey = always
ez = always
bx = always
by = always
bz = always
jx = always
ppc = always + species
#average_particle_energy = always
#mass_density = never + species
charge_density = always
number_density = always + species
#temperature = always + species
Extended io
distribution_functions = always
end:output
begin:dist_fn
name = x_px
ndims = 2
direction1 = dir_x
direction2 = dir_px
Range is ignored for spatial coordinates
range1 = (1, 1)
range2 = (-5e-24, 5e-24)
Resolution is ignored for spatial coordinates
resolution1 = 1
resolution2 = 200
include_species:Beam
include_species:Background
end:dist_fn
Hey @qiqi77346,
You have a 2D simulation here, so I'm guessing you want to model rotating momentum in the
Cheers,
Stuart
Hey @qiqi77346,
You have a 2D simulation here, so I'm guessing you want to model rotating momentum in the xy plane? Are you asking to set up particles with momenta rotating about the central point in the simulation, something like this diagram:
Cheers, Stuart
Hello, @Status-Mirror
what you say is correct. Yes, I want to set up particles with momenta rotating in injected block of the simulation. Now, I only know how to set up energy of particles by "drift_px = -drift_p / 1000". But how to I set up "particles with momenta rotating"? like being shown of this diagram.
I think I've misunderstood what you wanted - the simulation you're describing could only be done in 3D.
You want particles to be injected from the z_min
boundary with some drifting pz
, but with px
and py
rotating in the
Using file injectors, you can manually specify the injection position, time, weight and momentum of injected particles. If you wrote some software to automatically generate these particle files (with momentum changing with position), then you could achieve any arbitrary injection characteristics. See the example on file injectors and the injector block documentation to learn more.