Reactions are bulk processes that occur on time scales much shorter than the time step of the simulation. As an example, collisions between atoms or electrons and atoms occur on times of the atomic unit time, \(2.4 \times 10^{-17}\) s, while even in laser-plasma interactions, the laser period is typically of order \(3 \times 10^{-15}\) s. Hence, even on within a time step with the shortest time scales modeled by PIC methods, a collision can be considered an instantaneous process. This is better for plasma discharges that evolve on ms time scales or microwave devices for which the time scale is ns.

The reactions that VSim contains are

- Particle-Particle Collisions
- Particle-Fluid Collisions
- Three-Body Reactions
- Field-Ionization Processes
- Decay Processes

Decay processes are relatively easy, as they involve only a single particle at a time. For particle-particle collisions, VSim uses Direct Simulation Monte Carlo methods, in which one computes the collisions between the pairs within each cell. Three-body reactions are primarily useful for recombination. Finally, field ionization is the creation of an electron-ion pair from a neutral atom in a strong electric field.

Direct Simulation Monte Carlo takes into account that random interactions between particles occur with non-negligible probability only when the particles are in close proximity. To avoid checking the \(N^2\) distances between \(N\) interacting macroparticles, the VSim MonteCarloInteractions package limits interactions to those between macroparticles within the same cell. This reduces the number of possible interactions to

\[N_{\rm cells} (N_{\rm ppc})^2\]

where \(N_{\rm cells}\) is the number of cells in the simulation and \(N_{\rm ppc}\) is the number of particles per cell. Hence,

\[N = N_{\rm ppc} N_{\rm cells}\]

and

\[N^2 = (N_{\rm cells})^2 (N_{\rm ppc})^2 \gg N_{\rm cells} (N_{\rm ppc})^2\]

VSim has three reaction frameworks frameworks. The original
*reduced* reaction framework had only a limited number of
reactions. the *monte carlo* framework has a larger set of
reactions. The *reactions* framework is now preferred, as it has
an even larger set of reactions as well as using the
No-Time-Counter method for algorithmic speedup.

In order to accurately model the desired physics, one must resolve the physical distributions of the interacting particles and the temporal evolution of the distributions. For sufficient spatial resolution the number of macroparticles in the simulation must be large enough to smoothly resolve the spatial distributions of the species.

As for temporal resolution, each Monte Carlo interaction has an intrinsic time scale set by the physics of the interaction itself. In other words, the probability for an interaction event to occur can be written as \(P = dt/T_i\), where \(dt\) is the simulation time step and \(T_i\) is the natural time scale associated with the interaction itself.

The fundamental probability for an interaction event to occur between two macroparticles in a given cell with volume V in a time step \(dt\) is

\[P = \frac{N_1 N_2 \sigma(v) v dt}{N_x V}\]

where \(v\) is the relative velocity between the two macroparticles, \(N_1\) and \(N_2\) are the numbers of physical particles per macroparticles in the final-state species. This implies that the natural time scale associated with this numerical process is:

\[T_i = \frac{N_x V}{N_1 N_2 \sigma (v) v}\]

If the simulation time step \(dt\) is not small enough to resolve the natural interaction time scale, then inaccurate statistics will result.

The last issue of resolution comes from the need to accurately sample the velocity distributions of the interacting particles. Since the probability for an interaction event to occur non-trivially depends on the particle velocities, and since a single macroparticle samples only one point in velocity space, accurate statistics may only be achieved in some simulations with many macroparticles per cell, such that the velocity distributions of the participating species are well sampled within each cell.