DSMC Algorithm

edit

The direct simulation Monte Carlo algorithm is like molecular dynamics in that the state of the system is given by the positions and velocities of the particles,  , for  . Unlike molecular dynamics, each particle in a DSMC simulation represents   molecules in the physical system that have roughly at the same position and velocity. This allows DSMC to rescale length and time for the modeling of macroscopic systems (e.g., satellite re-entry). Specifically, the system volume is  , where   is the number density and each collision between simulation particles represents   collisions among molecules in the physical system. As a rule of thumb there should be 20 or more particles per cubic mean free path for accurate results.[citation needed]

The evolution of the system is integrated in time steps,  , which are typically on the order of the mean collision time for a particle. At each time step all the particles are moved and then a random set of pairs collide. In the absence of external fields (e.g., gravity) the particles move ballistically as  . Any particle that reaches a boundary or a surface has its position and velocity reset accordingly (e.g., periodic boundary conditions). After all the particles have moved, they are sorted into cells and some are randomly selected to collide. based on probabilities and collision rates obtained from the kinetic theory of gases. After the velocities of all colliding particles have been reset, statistical sampling is performed and then the process is repeated for the next time step.

Collisions

edit

On each timestep the particles are sorted into spatial cells and only particles in the same cell are allowed to collide. Typically the dimension of a cell is no larger than a mean free path. All pairs of particles in a cell are candidate collision partners, regardless of their actual trajectories.

The details of how collisions are calculated in DSMC depend on the molecular interaction model; here we take the hard spheres model, which is the simplest. In the hard spheres model, the collision probability for the pair of particles,   and  , is proportional to their relative speed,   where   is the number of particles in the cell and the summations are over particles within the cell. Because of the double sum in the denominator it can be computationally expensive to use this collision probability directly. Instead, the following rejection sampling scheme can be used to select collision pairs:

  1. A pair of candidate particles,   and  , is chosen at random and their relative speed,  , is computed.
  2. The pair is accepted as collision partners if  , where   is the maximum relative speed in the cell and   is a uniform deviate in [0, 1).
  3. If the pair is accepted, the collision is processed; the velocities of the particles are reset but positions are unchanged.
  4. After the collision is processed or if the pair is rejected, return to step 1.

This procedure is correct even if the value of   is overestimated, although it is less efficient in the sense that more candidates are rejected.

After the collision pair is chosen, their post-collision velocities,   and  , are evaluated. Writing the relative velocity in terms of spherical angles,   and     these angles are selected by a Monte Carlo process with distributions given by the collision model. For the hard spheres model these angles are uniformly distributed over the unit sphere. The azimuthal angle is uniformly distributed between 0 and  , so it is selected as   where   is a uniform deviate in [0, 1). The polar angle is distributed according to the probability density,   Using the change of variable  , we have   so   The post-collision velocities are set as   Note that by conservation of linear momentum and energy the center of mass velocity and the relative speed are unchanged in a collision. That is,   and   This process is repeated for every pair of colliding particles.

From the collision frequency,  , given by kinetic theory the total number of hard sphere collisions in a cell during a time   is   where   is the particle diameter and   is the volume of the cell. Since collision candidates go through a rejection sampling procedure the ratio of total accepted to total candidates for hard sphere particles is   The number of collision candidates selected in a cell over a time step   is   This approach for determining the number of collisions is known as the No-Time-Counter (NTC) method. If   is set excessively high then the algorithm processes the same number of collisions (on average) but the simulation is inefficient because many candidates are rejected.