In the Reactions framework, interactions are set up with two
required blocks: a RxnsProcess
block which is used to set
the products and reactants for an interaction, and a
RxnPhysics
block which sets the physics
(cross-sections/rate and type of interaction). The third,
optional block, the RxnProcessSettings
block, may also be
included if desired.
The example code block at the bottom of this page shows the
complete setup of an electron attachment process in which an
electron attaches to a neutral argon atom to create a negative
argon ion. The optional RxnProcessSettings
block comes
before all other blocks. Then the RxnsProcess
block sets
which species will react, sets the product species that will be
created, and points to a RxnPhysics
block. The
cross-sections for determining the likelihood of an attachment
reaction are imported via a 2-column data file in the
RxnRate
block within the RxnPhysics
block.
Finally, the RxnProductGenerator
block determines form of
the reaction. The RxnProductGenerator
should be thought
of as what sets the form of the chemical reaction to be undergone
by the reactants.
More details of these blocks can be found on the following pages under the Reactions section of the VSim Reference section on Text Setup: RxnProcessSettings Block (optional), RxnProcess Block (required), and RxnPhysics Block (required).
Multiple RxnsProcess
blocks can point to one
RxnPhysics
block. So, for example if a simulation is to
include multiple electron attachment reactions with the same
cross-section, then there must be as many RxnsProcess
blocks as unique reactions, but all may point to the same
RxnPhysics
block.
The order in which the reactants and products are written in a
RxnsProcess
block is important and is determined by which
RxnProductGenerator
is used in the RxnPhysics
block pointed to by the RxnsProcess
block. When order is
important, the necessary orders are indicated in the the
documentation for each ProductGenerator (see the RxnProductGenerator
Sub-Block section under the page for the RxnProcess Block:
RxnProductGenerator Sub-Block).
In the Reactions framework, reactants and products can be any kinetically modeled particle species or background gas. So the distinction between particle-fluid or particle-particle made in the MCI framework does not exist for Reactions.
<RxnProcessSettings RxnProcessSettings>
updateOrder = random
updatePeriod = [ 1 ]
</RxnProcessSettings>
<RxnProcess electronAttachmentParticlesRXN0>
kind = collisionProcess
reactants = [neutralArgon electrons]
products = [ArMinus]
rxnPhysics = electronAttachmentParticlesRXN0electronAttachment
verbosity = 127
</RxnProcess>
<RxnPhysics electronAttachmentParticlesRXN0electronAttachment>
kind = generalCollision
<RxnRate rxnRate>
kind = twoColumnFile
crossSectionVariable = velocity
file = 2ColumnData.dat
</RxnRate>
<RxnProductGenerator productGenerator>
kind = electronAttachment
thresholdEnergy = 1.0
</RxnProductGenerator>
</RxnPhysics>
There are three main categorizations of interactions recognized within the Monte Carlo Interactions package:
- Null (non-kinetic)
- Interaction not dependent on the full initial state (position and/or velocity) of any particle. These are forced into an occurrence probability of 1, meaning that they occur every time step.
- Unary (partially-kinetic)
- The probability of occurrence and final state are dependent on only one of the particles’ full initial states. These interactions are randomly occurring, and an example would be the ionization of a gas by an incident particle.
- Binary (fully-kinetic)
- Both particles’ full initial states determine the probability of occurrence and final state of the interaction. These are also randomly occurring, and an example would be the collision of two kinetically modeled particles.
Impact collisions then include the following:
- Elastic scattering collisions
- Exciting collisions
- Ionizing collisions
- Charge exchange
Data for cross-sections used in collision calculations either is built-in to VSim, or can be loaded through various methods. Please see the Monte Carlo Interactions Introduction in VSim Reference for more information on interactions and cross-sectional dependencies. The Using Cross Section Data in that same manual also may be helpful for your simulations.
For more information, please visit the MonteCarloInteractions section of VSim Reference.
Partially- and non-kinetic interactions can be simulated by using a Fluid. For more details on fluids, please visit the Fluid section of VSim Reference.