Collisions

Reactions

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>

Monte Carlo Interactions (DEPRECATED)

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.