Cathode
This section configures cathode particle source settings. One of these
sections must exist for all num_cathode
specified in the particles
section, and must be followed by a species section, a (optional) udist section, a spe_bound section
and (optional) a diag_species section that refer to the species into which the
cathode particles will be injected. It accepts the following data:
- dir, integer, default = 1
- wall, integer, default = 1
- t_start, real, default = 0.0
- t_rise, real, default = -1.0
- t_fall, real, default = -1.0
- t_flat, real, default = -1.0
- density, real, default = 1.0
- den_min, real, default = 0.0
- prof_type, character(*), default = “uniform”
- mov_inj, logical, default = .false.
- deposit_current, logical, default = .true.
- center, real, default = -huge(1.0)
- gauss_width, real, default = -1.0
- gauss_w0, real, default = -1.0
- channel_r0, float, default = 0.0
- channel_depth, float, default = 0.0
- channel_size, float, default = 0.0
- channel_wall, float, default = 0.0
- channel_bottom, float, default = 1.0
dir - specifies the main direction along which to inject particles. It
must be in the range [1,x_dim]
.
wall - specifies which wall to inject particles from. Valid values are 1 (lower wall) and 2 (upper wall).
t_start, t_rise, t_fall, t_flat - specify the temporal profile of the
particle bunch being injected. The t_start
parameter specifies the time at which particle injection begins. The t_rise
and t_fall
parameters specify the particle
bunch rise and fall times, respectively. The shapes of the rise and fall are
approximately Gaussian and follow the usual 6th-order polynomial.
The t_flat
parameter specifies the time the particle bunch holds its peak value. All
values are in normalized simulation units.
density - specifies a global multiplication factor for the transverse
density profile. Regardless of which profile type you choose, the final
density value will be density * profile
value (see below). This parameter can be used
to set the peak density for the Gaussian profile and the density for the
uniform and step transverse density profile types.
den_min - specifies the minimum density for injecting particles. Particles are only injected when the specified density is above this threshold.
prof_type - specifies the type of transverse profile to be used for the particle bunch being injected. Valid values are:
- “uniform” - an uniform transverse profile
- “gaussian” - a Gaussian transverse profile
- “step” - a profile that is constant inside a given width and zero otherwise
- “channel” - a channel-like transverse profile (see parameters below)
mov_inj - specifies whether to use a static wall injection (default, .false.
)
or a moving injector plane (.true.
). Plane moves with the speed of light. Please
note that, to avoid unphysical fields, a neutral plasma must be injected
(zero currents).
deposit_current - specifies whether or not the electric current from the cathode particles should be deposited.
center - specifies the central position for the “gaussian” and “step” transverse profiles. Note that when using either of these transverse profiles, this parameter must be set.
gauss_width - specifies the full width to be used by the “step” profile, and the maximum full width to be considered for the “gaussian” profile (the value of the profile is set to zero if outside this maximum width). Note that when using either of these transverse profiles, this parameter must be set.
gauss_w0 - specifies the waist (sigma) parameter of the “gaussian” transverse profile. Note that when using the “gaussian” profile, this parameter must be set.
channel_r0, channel_depth, channel_size,
channel_wall, channel_bottom - specify the parameters for a parabolic channel.
If prof_type
is not set to “channel”, the
values specified are silently ignored. The density of the channel will
be channel_bottom + channel_depth * (||x_perp -
channel_center||/channel_r0)^2
for ||x_perp - channel_center|| <
channel_size/2
, where x_perp
is the position perpendicular to the
symmetry axis. For ||x_perp - channel_center|| >= channel_size/2
,
the density will either be constant (channel_wall <= 0.0
) or fall off
linearly to 0.0 along a distance of channel_wall
.
Note that any cathode particle source specification must be followed by
a species section that specifies the parameters of the species into which the cathode
will inject particles (e.g., number of particles per cell, charge to mass ratio, etc.). Furthermore, the fluid velocity and thermal spread of the particles being injected are respectively set using the ufl
and uth
parameters of an accompanying udist section. Finally, there must also a spe_bound
section and an optional diag_species
section, as with any other
species.
Here’s an example of a cathode section followed by the definitions for the associated species.
cathode
{
dir = 1, ! direction to inject particles
wall = 1, ! wall to inject particles from
! time profile information
t_rise = 0.1,
t_flat = 1000.0,
t_fall = 3.0,
! transverse profile information
density = 1.0,
prof_type = "gaussian",
center = 6.4,
gauss_w0 = 3.2,
gauss_width = 12.8,
! this sets the minimum density to inject particles from cathode
den_min = 0.0000001d0,
}
!---------- new particles from cathode ----------
species
{
name = "injected ions",
num_par_max = 800000,
rqm = -1836.0,
num_par_x(1:2) = 2, 2,
}
!---------- initial proper velocities ----------
udist
{
! this sets the thermal momenta for the injected particles
uth(1:3) = 7.2e-, 7.2e-, 7.2e-,
! this sets the fluid momenta for the injected part.
ufl(1:3)= 3.1e-, 0., 0.0d0,
}
!----------boundary conditions for this species----------
spe_bound
{
type(1:2,1) = "open", "open",
type(1:2,2) = "open", "open",
}
!----------diagnostic for this species----------
diag_species
{
ndump_fac = 10,
reports = "charge",
ndump_fac_pha = 10,
ndump_fac_raw = 10,
ps_xmin(1:2) = 0.0, 0.0, ps_pmin(1:3) = -0.01, -0.01, -0.01,
ps_xmax(1:2) = 12.8, 12.8, ps_pmax(1:3) = 0.01, 0.01, 0.01,
ps_nx(1:2) = 128, 134, ps_np(1:3) = 256, 256, 256,
if_ps_p_auto(1:3) = .true.,.true.,.true.,
phasespaces = "p1x1", "p2x1", "p3x1", "p1x2", "p2x2", "p2p1",
}