userFuncSecElec
A secondary electron emitter where the SEY (secondary electron yield) and emitted electron spectrum are defined by a pair of Expressions (see Introduction to UserFuncs and Expressions). The secondary electrons can be in the same species as the incoming electrons, or a separate species.
This particle source is available with a VSimMD or VSimPD license.
direction (vector)
Direction vector should point along the outward-facing normal of the ParticleSource.
ptclAbsorber (string)
Name of the absorber that absorbs the electrons and from which the secondaries will be emitted.
Expression (block,required)
An expression (see Introduction to UserFuncs and Expressions) that defines SEY. It must be
named SEYFunc
It can take three arguments eng
(incident energy in eV),
alpha
(incident angle in rad) and t
(time in second).
Not all the arguments need to be used but any argument must come from
these three.
Expression (block,required)
An expression named SpectrumFunc
(see Introduction to UserFuncs and Expressions)
that defines secondary velocity distribution in terms of a three
component vector (bn, bt, bp). The name SpectrumFunc
and
a three-component form of this vector are required. SpectrumFunc
returns the velocity of a particle (bn, bt, bp) in units of
\(c\) or \(c/\gamma\), depending
on how the flag emissionVelocityInUnitsOfC is set.
The components (bn,bt,bp) are all velocities written in these units.
bn is the component normal to
the surface, i.e., bn is the velocity in the direction
opposite to the outward surface normal (or opposite the direction
attribute if no gridBoundary
is specified). bt is the
component in the direction of any motion the incident particle had
tangential to the surface, i.e., bt is the velocity in the
direction \(t = v_{in} \times n\) (a cross product between the
incoming particle velocity and the outward surface normal). bp is
the velocity in the direction tangential to the surface in which
the incident particle had no velocity component, i.e., bp is
the velocity in the direction of \(p = n \times
t\). The particles are emitted opposite the surface outward normal.
Here, \(v\) is the 3-velocity; if SpectrumFunc specifies a value for \(v\) with magnitude larger than 1 (velocity greater than the speed of light), it will assume that for this particle the velocity is in units of \(c/\gamma\). If this happens the user should really set emissionVelocityInUnitsOfC to false (0).
SpectrumFunc
can take two arguments eng
(incident
energy in eV) and t (time in seconds). Not all the arguments need
to be used but any argument must come from these two. The vector bases
(bn, bt1, bt2) default to (1,0,0).
In the future, this will likely be changed to return the 4-velocity components instead of 3-velocity components.
emissionVelocityInUnitsOfC (boolean, default = 0)
Whether emission velocities are in units of \(c\) or in units of \(c/\gamma\). For non-relativistic particles these options are almost the same. For relativistic particles the differences can be significant, and setting this to 0 allows for velocities with magnitude greater than 1.
emissionProb (real)
Specifies the probability for emission of secondaries from a material surface. For the constant probability model, a single electron is emitted with a given probability independent of all other factors, such as the incident energy, material and primary ion properties, etc.
ptclCountType (string, default = emitCounting)
Describes how the emission of multiple secondary electrons is handled. This parameter is optional, and defaults to emitCounting. Valid types are:
emitCounting
(default)Emit multiple macroparticles.
noCounting
Emit single particle.
vwCounting
Emit single variable-weight particle and increase its weight by the number of secondaries.
taggedVwCounting
Emit single variable-weight, tagged particle and increase its weight by the number of secondaries.
secondarySpecies (string, required for ion primaries)
Electron species to emit the secondaries to for ion primaries.
emittingSurface (float, optional)
Physical position of the emitting surface in the direction of emission. If this parameter is not specified, it is calculated to be the appropriate edge of the grid. It is ignored when emitting from a grid boundary.
suppressEnergy
By default, emission does not occur if the electric field has sign that
would immediately force the emitted particle back into the surface
(default value is suppressEnergy=0
). This parameter can be
used to control this feature. If an emitted particle is desired,
regardless of the sign of the electric field, then set this parameter to
a very large number, e.g., suppressEnergy=1.0e32
.
More specifically, emission occurs when the particle charge, times the
local field strength, times a characteristic length based on the grid,
e.g., q*E*dx, is less than the suppressEnergy
. The local field
strength is interpolated on the emission surface. In higher
dimensions, the characteristic length is the diagonal across the cell.
The units of the suppressEnergy
are electronVolts.
ignoreProb (float, default = 0)
Float value representing probability to ignore an absorbed electron so
it can be used for another process. This should be a value between
0
and 1
.
<ParticleSource secondaryEmitter>
kind = userFuncSecElec
minDim = 1
ptclAbsorber = primary.plateAbsorber
gridBoundary = absPlate
<Expression SEYFunc>
expression = vaughanSEY(eng, alpha)
</Expression>
<Expression SpectrumFunc>
$ betaGammaSqr = (2.0*eng*xDist()/ELECMASSEV)
$ betaGamma = sqrt(betaGammaSqr)
$ gamma = sqrt(1 + betaGammaSqr)
$ beta = betaGamma/gamma
expression = betaGamma * dirDist()
</Expression>
</ParticleSource>