Reactions Framework¶
The Reactions Framework surpasses previous interaction frameworks in both speed and flexibility in types of processes that can be added to simulations. See Reactions Text-Setup Introduction, as well as relevant sections in the VSim User Guide for more general information on the Reaction framework.
The Reaction framework collisions are available when particles
in the Basic Settings element
is set to include particles
and the collision framework
is set to reactions
. This will add a “Reactions”
element to appear within the “Particle Dynamics” element.
When a collision process is added to a simulation, the user must specify each of the products and reactants from the drop down menus corresponding to each species in the chemical formula. Additionally, users must add a cross-sections to determine the reaction probability as to determine how many particles to react with in each cell for each timestep. Scroll to the bottom of this page for the reference on setting cross-sections.
Particle Particle Collisions¶
These collisions are for interactions between kinetically modeled particle species (for a process involving a background gas use the “Particle Fluid Collisions”). The following interactions are available by right-clicking the “Particle Particle Collisions” element and hovering the mouse pointer over the “Add CollisionType” menu.
Charge Exchange A collision of the form \(A + B^+ \rightarrow A^+ + B\). This is the implementation of Charge Exchange in the visual setup.
- energyLoss
The maximum energy lost during a single inelastic collision in eV. A choice of 0 (default) will give an elastic collision.
Impact Ionization A collision of the form \(A + B \rightarrow A^+ + B + e\). This is the implementation of Impact Ionization in the visual setup. If one of the reactant species is an electron, the Electron Ionization
productGenerator
is used. Ionization energies are taken from the appropriate species blocks.Note
If an electron is involved in an ionization process, the “product distribution” attribute won’t affect the simulation. The scattering distribution is determined automatically by a physical model.
Elastic A collision of the form \(A + B \rightarrow A + B\). This is the implementation of Binary Elastic in the visual setup.
- energyLoss
The maximum energy lost during a single inelastic collision in eV. A choice of 0 (default) will give an elastic collision.
Dissociative Double Ionization A collision of the form \(AB + C \rightarrow A^+ + B^+ + C + 2e\). This is the implementation of Dissociative Ionization in the visual setup.
- dissociation energy
The energy required to dissociate the molecule, in eV. This value also sets a threshold for whether or not the reaction will occur. So a pair of particle will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. This can be set as a negative value to have the products gain kinetic energy.
Dissociative Single Ionization A collision of the form \(AB + C \rightarrow A^+ + B + C + e\). This is the implementation of Dissociative Ionization in the visual setup.
- dissociation energy
The energy required to dissociate the molecule, in eV. This value also sets a threshold for whether or not the reaction will occur. So a pair of particle will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. This can be set as a negative value to have the products gain kinetic energy.
Dissociative Recombination A collision of the form \(AB^+ + e \rightarrow A + B\). This is the implementation of Dissociative Recombination in the visual setup.
- dissociation energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost from the products to potential energy. If this is zero, then energy will not be lost. If negative, then the products will gain kinetic energy.
General Binary Reaction A collision of the form \(A + B \rightarrow C + D\). This is the implementation of Binary Reaction in the visual setup.
- threshold energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost from the products to potential energy. If this is zero, then energy will not be lost. If negative, then the products will gain kinetic energy.
Electron Impact Dissociation A collision of the form \(AB + e \rightarrow A + B + e\). This is the implementation of Electron Impact Dissociation in the visual setup.
- dissociation energy
The energy required to dissociate the molecule in eV.
Electron Attachment A collision of the form \(A + e \rightarrow A^-\). This is the implementation of Electron Attachment in the visual setup.
- binding energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (ie energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost.
Negative Ion Detachment A collision of the form \(A^- + B \rightarrow A + B + e\). The neutral reactant must be a kinetically modeled species. This is the implementation of Negative Ion Detachment in the visual setup.
- detachment energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (ie energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost.
Excitation A collision of the form \(A + B \rightarrow A^* + B\). This is the implementation of Binary Excitation in the visual setup.
- excitation energy
The potential energy, in eV, gained by the excited species (a positive value for this attribute will result in an energy loss from the simulation). This is also a threshold energy. The reaction will not occur between reactant that have a center of mass energy less than this value.
Inelastic Electron Scattering A collision of the form \(e + A \rightarrow e + A\). This is the implementation of Electron Scatter in the visual setup.
scatter type
VahediSurendra Use the Vahedi-Surendra model to determine the scattering distrubution. See Electron Scatter for more information.
isotropic Use an isotropic scattering distribution.
Recombination A collision of the form \(C + B \rightarrow CB\). This is the implementation of Binary Recombination in the visual setup, for the recombination of particles of any charged state.
General Reaction A collison that allows for the combination of any number of reactants and products. Reactants and products are added by right clicking the reaction and selecting a reactant or product to add. Note that while this is classified as a Particle Particle collisions, fluids are available as both reactants and products.
- threshold energy
The reaction will not occur between reactant that have a center of mass energy less than this value.
Particle Fluid Collisions¶
These collisions are for interactions between kinetically modeled particle species and a background gas. The following interactions are available by right-clicking the “Particle Fluid Collisions” element and hovering the mouse pointer over the “Add CollisionType” menu.
Elastic A collision of the form \(A + B \rightarrow A + B\). This is the implementation of Binary Elastic in the visual setup.
- energyLoss
The user can choose either
fully elastic
which conserves kinetic energy, orpartially elastic
in which case the user
Charge Exchange A collision of the form \(A + B^+ \rightarrow A^+ + B\). This is the implementation of Charge Exchange in the visual setup.
- energyLoss
The maximum energy lost during a single inelastic collision in eV. A choice of 0 (default) will give an elastic collision.
Impact Excitation A collision of the form \(A + B \rightarrow A^* + B\). This is the implementation of Binary Excitation in the visual setup.
- excitation energy
The potential energy, in eV, gained by the excited species (a positive value for this attribute will result in an energy loss from the simulation). This is also a threshold energy. The reaction will not occur between reactant that have a center of mass energy less than this value.
Impact Ionization A collision of the form \(A + B \rightarrow A^+ + B + e\). This is the implementation of Impact Ionization in the visual setup. If one of the reactant species is an electron, the Electron Ionization
productGenerator
is used. Ionization energies are taken from the appropriate species blocks.Note
If an electron is involved in an ionization process, the “product distribution” attribute won’t affect the simulation. The scattering distribution is determined automatically by a physical model.
Electron Attachment A collision of the form \(A + e \rightarrow A^-\). This is the implementation of Electron Attachment in the visual setup.
- binding energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (ie energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost.
Negative Ion Detachment A collision of the form \(A^- + B \rightarrow A + B + e\). The neutral reactant must be a kinetically modeled species. This is the implementation of Negative Ion Detachment in the visual setup.
- detachment energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (ie energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost.
Inelastic Scattering A collision of the form \(e + A \rightarrow e + A\). This is the implementation of Electron Scatter in the visual setup.
scatter type
VahediSurendra Use the Vahedi-Surendra model to determine the scattering distrubution. See Electron Scatter for more information.
isotropic Use an isotropic scattering distribution.
General Binary Reaction A collision of the form \(A + B \rightarrow C + D\). This is the implementation of Binary Reaction in the visual setup.
- threshold energy
The threshold energy for the reaction in eV. So, a pair of reactants will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. If the reaction occurs then this much energy is lost from the products to potential energy. If this is zero, then energy will not be lost. If negative, then the products will gain kinetic energy.
Dissociative Double Ionization A collision of the form \(AB + C \rightarrow A^+ + B^+ + C + 2e\). This is the implementation of Dissociative Ionization in the visual setup.
- dissociation energy
The energy required to dissociate the molecule, in eV. This value also sets a threshold for whether or not the reaction will occur. So a pair of particle will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. This can be set as a negative value to have the products gain kinetic energy.
- Dissociative Single Ionization
A collision of the form \(AB + C \rightarrow A^+ + B + C + e\). This is the implementation of Dissociative Ionization in the visual setup.
- dissociation energy
The energy required to dissociate the molecule, in eV. This value also sets a threshold for whether or not the reaction will occur. So a pair of particle will need at least this much relative energy (i.e. energy in center of momentum frame) in order to react. This can be set as a negative value to have the products gain kinetic energy.
Three Body Reactions¶
Three Body Recombination A collision of the form \(A^+ + e + B \rightarrow A + B\). This is the implementation of Three Body Recombination in the visual setup.
Field Ionization Process¶
The “Fluid Field” and “Particle Field” ionization processes both use Field Ionization
productGenerator
. The distinction is made in the visual setup for benefit of the user.
Particle Field Ionization This is the implementation of Field Ionization for ionization of kinetically modeled particles by electric fields in the visual setup.
cross section type
DCADK Use this when the time step resolves the oscillations of Electric field. See Field Ionization DCADK for more information.
Average ADK Use this when the time step is much larger than the oscillations of Electric field. See Field Ionization Average ADK for more information.
Fluid Field Ionization This is the implementation of Field Ionization for ionization of background gases by electric fields in the visual setup.
cross section type
DCADK Use this when the time step resolves the oscillations of Electric field. See Field Ionization DCADK for more information.
Average ADK Use this when the time step is much larger than the oscillations of Electric field. See Field Ionization Average ADK for more information.
Decay Process¶
Decay This is the implementation of Decay in the visual setup
- lifetime
The lifetime (in seconds) of the unstable species.
Emission Process¶
Photon Emission This simulates the emission of an untracked photon from a particle. Ths is the implementation of Radiation Reaction
Cross-Sections¶
Interpolated from 2Column Data¶
Import cross sections from a data file with the independent variable (either velocity or energy) in the first column and the cross-section (dependent variable) in the second column. The imported file should NOT have any header.
- cross section variable
The unit of the independent variable in the first column of the data file. Either
velocity
, orenergy
.- cross section data file
The name of the cross section data file. This file must be in the run directory.
Constant Cross Section¶
This can be used to set a user defined function for the cross section.
- constant
A constant value (in m^2) for the cross section.
Power Law Cross Section¶
Use a cross section of the form \(Ax^E\). See Power Law Cross-Section for more information.
- coefficient
The value for the constant A in the expression above.
- exponent
The value for the constant E in the expression above.
- cross section variable
The unit of the independent variable (\(x\) in the expression above). Either
velocity
, orenergy
.
Exponential Polynomial Cross Section¶
The cross-sections will take the functional from of the equation:
where
See Exponential Polynomial Cross-Section for more information.
- Acoeff
The value for the fitting constant A in the formula above.
- Bcoeff
The value for the fitting constant B in the formula above.
- Ccoeff
The value for the fitting constant C in the formula above.
- Dcoeff
The value for the fitting constant D in the formula above.
- Icoeff
The value for the fitting constant I in the formula above. A scaling factor for the independent variable, x.
- toZero
Sets the value for the
toZero
parameter in the formula above. Enter either “0” to have the cross-section go to zero at threshold, or “1” to have the cross-section go to a non-zero value.- cross section variable
Set the independent variable, x, in the equation above. Options are:
velocity
energy
Additional Collision Attributes¶
- update periodicity
This sets how frequently the reaction is carried out. See the description of
updatePeriod
in RxnProcessSettings Block for more information. The update periodicity setting in the Visual Setup will set theupdatePeriod
when the.sdf
is translated to a.in
file. Options are:- every timestep
The reaction update will occur every timestep.
- update period
not editable; defaulted to 1
- custom
Set a custom update periodicity.
- update period
Enter a constant to set the update periodicity.
- product distribution
This will apply an anisotropy to the cross-section. See the section Anisotropy for more information. This attribute is only available for collisions with two reactant particles (or fluids) and two product particles (or fluids) except for the Inelastic Electron Scattering process which as the anisotropy set according to the Vahedi-Surendra model.
- isotropic distribution
The default. Set no preference for forward or backward scattering.
- anisotropic distribution
Add a preference for forward or backward scattering.
- anisotropy
Set a value between -1 and 1 (inclusive). A value of -1 will give full backward scattering bias, and 1 will give full forward scattering bias.
- diagnostics
Diagnostics can be enabled for any reaction. These will collect and report data about how often that reaction is utilized.
- no diagnostics
The default. Nothing is collected.
- diagnostics collected
If selected diagnostics are collected. An averaging period can be applied, specified in timesteps. This will provide a spatially resolved reaction frequency over the entire simulation domain