Direct simulation Monte Carlo

From Wikipedia, the free encyclopedia

Direct simulation Monte Carlo (DSMC) method uses probabilistic Monte Carlo simulation to solve the Boltzmann equation for finite Knudsen number fluid flows.

The DSMC method was proposed by Graeme Bird,[1][2][3] emeritus professor of aeronautics, University of Sydney. DSMC is a numerical method for modeling rarefied gas flows, in which the mean free path of a molecule is of the same order (or greater) than a representative physical length scale (i.e. the Knudsen number Kn is greater than 1). In supersonic and hypersonic flows rarefaction is characterized by Tsien's parameter, which is equivalent to the product of Knudsen number and Mach number (KnM) or M/Re, where Re is the Reynolds number.[4][5] In these rarefied flows, the Navier-Stokes equations can be inaccurate. The DSMC method has been extended to model continuum flows (Kn < 1) and the results can be compared with Navier Stokes solutions.

The DSMC method models fluid flows using probabilistic simulation molecules to solve the Boltzmann equation. Molecules are moved through a simulation of physical space in a realistic manner that is directly coupled to physical time such that unsteady flow characteristics can be modeled. Intermolecular collisions and molecule-surface collisions are calculated using probabilistic, phenomenological models. Common molecular models include the hard sphere model, the variable hard sphere (VHS) model, and the variable soft sphere (VSS) model. Various collision models are presented in.[6]

Currently, the DSMC method has been applied to the solution of flows ranging from estimation of the Space Shuttle re-entry aerodynamics to the modeling of microelectromechanical systems (MEMS).

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 the same position and velocity. This allows DSMC to rescale length and time for the modeling of macroscopic systems (e.g., atmospheric 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.


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,
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.


  1. ^ Bird, G. A (1963). "Approach to Translational Equilibrium in a Rigid Sphere Gas". Physics of Fluids. 6 (10): 1518–1519. Bibcode:1963PhFl....6.1518B. doi:10.1063/1.1710976.
  2. ^ G. A. Bird, Molecular Gas Dynamics, Clarendon Press, Oxford (1976)[page needed]
  3. ^ G. A. Bird, Molecular Gas Dynamics and the Direct Simulation of Gas Flows, Clarendon Press, Oxford (1994)[page needed]
  4. ^ Tsien, Hsue-Shen (1946). "Superaerodynamics, Mechanics of Rarefied Gases". Journal of the Aeronautical Sciences. 13 (12): 653–64. doi:10.2514/8.11476.
  5. ^ M. N. Macrossan, 'Scaling Parameters for Hypersonic Flow: Correlation of Sphere Drag Data'. In: M. S. Ivanov and A. K. Rebrov, 25th International Symposium on Rarefied Gas Dynamics, Siberian Division of the Russian Academy of Sciences, p.759 (2007).
  6. ^ Roohi, E.; Stefanov, S. (2016). "Collision partner selection schemes in DSMC: From micro/nano flows to hypersonic flows". Physics Reports. 656 (1): 1–38. Bibcode:2016PhR...656....1R. doi:10.1016/j.physrep.2016.08.002.

External links[edit]