Species Kinds¶
Basic Dynamic Species kinds include those kinds listed below. Other case-specific implementations of Basic Dynamic Species kinds are discussed in Specialized Basic Dynamic Species Kinds.
Contents
cmplxRelBorisCylDF Species Kind¶
- cmplxRelBorisCylDF
Works with VSimPD license.
Should be used in lieu of the cmplxRelBorisDF species kinds whenever polar, cylindrical, or tubular grids are used. An extension of the relBorisDF when one has made an expansion in either a single component direction in Cartesian coordinates or in the phi direction for cylindrical coordinates and then is left solving for the coefficients of that expansion. The coefficients are the real and imaginary field values.
Note
cmplxRelBorisCylDF is only permissible with
doLinearDF = true
and that it requires an understanding of setting up the proper fields in a MultiField block.
cmplxRelBorisDF Species Kind¶
- cmplxRelBorisDF
Works with VSimPD license.
An extension of the relBorisDF when one has made an expansion in either a single component direction in Cartesian coordinates or in the phi direction for cylindrical coordinates and then is left solving for the coefficients of that expansion. The coefficients are the real and imaginary field values.
Note
cmplxRelBorisDF is only permissible with
doLinearDF = true
and that it requires an understanding of setting up the proper fields in a MultiField block.
Example Species Kind cmplxRelBorisDF Block¶
<Species electrons>
kind = cmplxRelBorisDF
charge = ELECCHARGE
mass = ELECMASS
# Must specify mode number of problem
mode = K
# Order matters in fields vector
fields = [emField.nodalER emField.nodalEI emField.nodalBR emField.nodalBI]
# Order matters in currDeps vector
currDeps = [ JRDep JIDep ]
bgEmField = B0
doLinearDf = true
.
.
.
</Species>
envBoris Species Kind¶
- envBoris
Works with VSimPA license.
Describes particles that respond to both the Lorentz force and the ponderomotive force that arises in response to an envelope field in the laser envelope model.
In addition to the usual species parameters, an envBoris species requires some unique parameters, listed below.
Note
The envelope model is constructed for use with the MultiField input file architecture. See the MultiField section for more details.
envBoris Species Additional Parameters¶
In addition to the parameters in the list of Species Parameters, the envBoris Species requires:
- envelopeFields (string vector, required)
The names of the active and alternate envelope fields to be used for the particle phase space advancement.
- susceptibilityDep (string, required)
The name of the ScalarDepositor to be used for the plasma susceptibility in the laser envelope model.
- envelopeMultiField (string)
The name of the MultiField containing the envelope fields to be used for particle phase space advancement.
- forceField (string)
The name of the ponderomotive force field to be used for particle advancement.
freeRel Species Kind¶
- freeRel
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
A free streaming particle model, used to calculate free streaming of a relativistic species. This does not add any extra parameters.
freeRelVW Species Kind¶
- freeRelVW
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
A free streaming particle model, used to calculate free streaming of a variable-weight relativistic species. With variable weight methods, each particle has independent ratio of macroparticles to real particles. This does not add any extra parameters.
noMove Species Kind¶
- noMove
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Supports non-moving species. noMove can be used in a simulation to create a new non-moving particle that will always stay at the location defined by the particle source.
noMoveVW Species Kind¶
- noMoveVW
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Supports non-moving species with variable weight method. noMoveVW can be used in a simulation to create a new non-moving particle that will always stay at the location defined by the particle source.
nonRelBoris Species Kind¶
- nonRelBoris`
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Non-relativistic push using the Boris algorithm, used to calculate an electromagnetic Boris update to the particle velocities for non-relativistic particles.
nonRelES Species Kind¶
- nonRelES
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Calculates electrostatic updates to the particle velocities for non-relativistic particles; no magnetic fields affect the particles.
nonRelESEffMassExtd Species Kind¶
- nonRelESEffMassExtd
Works with VSimSD licence.
Particle species that uses the electrostatic update to push electrons and holes in a diamond material. The essential difference to regular relBoris species is that in diamond, electrons and holes have effective masses that are different from their values in vacuum. Generally, the effective masses are represented by two-dimensional tensors. However, for holes the tensor is diagonal with equal diagonal elements. For electrons, the tensor is also diagonal but one of the components is different (longitudinal effective mass) from the other two (transverse effective masses). Moreover, the position of the longitudinal effective mass component depends on the conduction band valley an electron is in. The model includes six band valleys along each of the main coordinate axes in reciprocal space. The different effective masses are used both in the ballistic push and in the Monte Carlo scattering processes. The longitudinal and transverse effective masses, together with the different conduction band valleys lead to important effects when modeling electron emission with conservation of transverse electron momentum.
nonRelESEffMassExtd Species Additional Parameters¶
In addition to the parameters in the list of Species Parameters, there are:
- useEffectiveMasses (bool, optional)
If this flag is set, the particle pusher will use the effective masses when pushing particles (default is false). When it is not set, a scalar mass will be used for the electrons (the provided for the species).
- isHole (bool, optional)
The isHole flag is used to specify if the species should be treated as electrons or holes (for the purpose of scattering and what effective masses to use). Default value is false (treat the species as electrons).
- scatterFlag (bool, optional)
This flag is used to specify if the scattering should be turned on or not. Default value is 1 (which is to do the scattering). This flag is used in the low energy regime (the high energy regime is the charge generation regime while the low energy regime is the charge transport one when electrons and holes have energies in the drift-diffusion transport phase of the order of 1 eV or less).
- updateDebugType (int, optional)
In the charge generation phase, the particles are pushed with the regular particle ballistic push and the value of the parameter updateDebugType is set to 0 which is its default value. A scalar mass should be used in the charge generation phase and scattering is already taken care of via the ScatterRegion sink.
In the low energy phase, we want to use an update method that includes the various scattering processes implemented. To do this, set updateDebugType to 2 (the value that should be used to enable a particle update with low energy scattering processes).
nonRelESVW Species Kind¶
- nonRelESVW
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Calculates electrostatic updates to the particle velocities for non-relativistic particles; no magnetic fields affect the particles. With variable weight methods, each particle has independent ratio of macroparticles to real particles. This does not add any extra parameters.
relBoris Species Kind¶
- relBoris
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Calculates an electromagnetic Boris update to the particle velocities.
relBorisBallisticVW Species Kind¶
- relBorisBallisticVW
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Creates ballistic particles. Particles are ballistic if they do not undergo acceleration. Using this kind requires the additional parameter moveDimVec, which specifies the directions in which the particle is allowed to move. For example,
moveDimVec = [1 0 0]
will allow movement only along the x direction, whereasmoveDimVec = [0 1 1]
will allow movement along the y and z directions. IfmoveDimVec
is not specified, three-dimensional movement is the default.
relBorisCyl Species Kind¶
- relBorisCyl
Works with VSimPD and VSimVE licenses.
Should be used in lieu of the relBoris species kinds whenever polar, cylindrical, or tubular grids are used. Provides a Boris pusher for these coordinate systems.
relBorisCylVW Species Kind¶
- relBorisCylVW
Works with VSimPD and VSimVE licenses.
Should be used in lieu of the relBorisVW species kinds whenever polar, cylindrical, or tubular grids are used. Provides a Boris pusher with variable-weight particles for these coordinate systems.
relBorisCylVWTagged Species Kind¶
- relBorisCylVWTagged
Works with VSimPD and VSimVE licenses.
Should be used in lieu of the relBorisVWTagged species kinds whenever polar, cylindrical, or tubular grids are used. Provides a Boris pusher with variable-weight particles for these coordinate systems. This species also allows for assigning a unique tag identifier to each macroparticle for trajectory tracking.
relBorisDF Species Kind¶
- relBorisDF
Works with VSimPD license.
Relativistic Boris delta-F. A particle species that solves for the perturbation of the equilibrium distribution, \(\Delta f\), given that \(f = f_0 + \Delta f\). Removes a significant amount of noise from the particle-in-cell simulations. Requires vmin and vmax parameters and includes an optional doLinearDF flag that allows use of either linear DF or nonlinear DF.
relBorisCylDF Species Kind¶
- relBorisCylDF
Works with VSimPD license.
Should be used in lieu of the relBorisDF species kinds whenever polar, cylindrical, or tubular grids are used. A relativistic Boris delta-F. A particle species that solves for the perturbation of the equilibrium distribution, \(\Delta f\), given that \(f = f_0 + \Delta f\). Removes a significant amount of noise from the particle-in-cell simulations. Requires vmin and vmax parameters and includes an optional doLinearDF flag that allows use of either linear DF or nonlinear DF.
relBorisEffMassExtd Species Kind¶
- relBorisEffMassExtd
Works with VSimSD licence.
Particle species that uses the electromagnetic Boris update to push electrons and holes in a diamond material. The essential difference to regular relBoris species is that in diamond, electrons and holes have effective masses that are different from their values in vacuum. Generally, the effective masses are represented by two-dimensional tensors. However, for holes the tensor is diagonal with equal diagonal elements. For electrons, the tensor is also diagonal but one of the components is different (longitudinal effective mass) from the other two (transverse effective masses). Moreover, the position of the longitudinal effective mass component depends on the conduction band valley an electron is in. The model includes six band valleys along each of the main coordinate axes in reciprocal space. The different effective masses are used both in the ballistic push and in the Monte Carlo scattering processes. The longitudinal and transverse effective masses, together with the different conduction band valleys lead to important effects when modeling electron emission with conservation of transverse electron momentum.
relBorisEffMassExtd Species Additional Parameters¶
In addition to the parameters in the list of Species Parameters, there are:
- useEffectiveMasses (bool, optional)
If this flag is set, the particle pusher will use the effective masses when pushing particles (default is false). When it is not set, a scalar mass will be used for the electrons (the provided for the species).
- isHole (bool, optional)
The isHole flag is used to specify if the species should be treated as electrons or holes (for the purpose of scattering and what effective masses to use). Default value is false (treat the species as electrons).
- scatterFlag (bool, optional)
This flag is used to specify if the scattering should be turned on or not. Default value is 1 (which is to do the scattering). This flag is used in the low energy regime (the high energy regime is the charge generation regime while the low energy regime is the charge transport one when electrons and holes have energies in the drift-diffusion transport phase of the order of 1 eV or less).
- updateDebugType (int, optional)
In the charge generation phase, the particles are pushed with the regular particle ballistic push and the value of the parameter updateDebugType is set to 0 which is its default value. A scalar mass should be used in the charge generation phase and scattering is already taken care of via the ScatterRegion sink.
In the low energy phase, we want to use an update method that includes the various scattering processes implemented. To do this, set updateDebugType to 2 (the value that should be used to enable a particle update with low energy scattering processes)
relBorisFuncVW Species Kind¶
- relBorisFuncVW
Works with VSimPD and VSimVE licenses.
Particle species that uses the electromagnetic Boris update to the particle velocities where the macroparticle to real particle ratio is controlled by a user-specified STFunc. Results using this species are only valid when the particle positions are displaced by a small amount from a equilibrium position by the electromagnetic fields. Useful for modeling the appearance of a plasma whose general time and density dependence are known. Requires STFunc block of arbitrary name that sets the weight of the particles; this one required block is unique to the species.
relBorisTagged Species Kind¶
- relBorisTagged
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Applies an electromagnetic Boris update to the particle velocities. This species assigns a unique tag identifier to each macroparticle for trajectory tracking.
Note
A Species of kind = relBorisTagged
should include the argument labels = [x,y,z,ux,uy,uz,tags]
in order to correctly label all components in the output.
relBorisVW Species Kind¶
- relBorisVW
Works with VSimPD and VSimVE licenses.
Implementation of the relBoris update includes updates specific to variable weight algorithms. With variable weight methods, each particle has independent ratio of macroparticles to real particles.
relBorisVWScale Species Kind¶
- relBorisVWScale
Works with VSimPD and VSimVE licenses.
Used to scan multiple power levels searching for multipacting resonances. Each particle has a scaling parameter that multiplies the electromagnetic field, allowing multiple power or voltage levels to exist in a simulation simultaneously. The use of multiple coexisting power or voltage levels is only consistent with small amounts of charge and current which have little to no effect on the applied fields. Thus, generally speaking, this species is not expected to use or require charge and/or current depositors. This species assigns a unique tag identifier to each macroparticle for trajectory tracking.
Note
The currDeps
and chargeDeps
arguments may be neglected if kind = relBorisVWScale
.
Note
A Species of kind = relBorisVWTagged
should include the argument
labels = [x,y,z,ux,uy,uz,tags,scale,weight]
in order to correctly label all components in the output.
relBorisVWTagged Species Kind¶
- relBorisVWTagged
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Implementation of the relBoris updater that includes updates specific to variable weight algorithms. In variable weight methods, each particle has an independent ratio of macroparticles to real particles. This species also allows for assigning a unique tag identifier to each macroparticle for trajectory tracking.
Note
A Species of kind = relBorisVWTagged
should include the argument labels = [x,y,z,ux,uy,uz,tags,weight]
in order to correctly label all components in the output.