Boltzmann Equation: DSMC

The following 2d velocity distributions have been simulated using a Direct Simulation Monte Carlo method. In particular, Bird's algorithm was applied to a initial data consisting of weighted sums of Gaussians (with variance = 1 in both directions) to solve the Boltzmann equation:

$\partial_t f(v) = \frac{1}{Kn} Q(f,f)(v), \qquad \text{ for } v \in \mathbb{R}^2$.

The collision kernel $Q(f,f)$ is given by the bilinear integral

$Q(f,f) = \int_{\mathbb{R}^2 \times \mathbb{S}^2}B(|v - v_*|) \big[f(v')f(v_*') - f(v) f(v_*)\big]d\omega dv_*$

whose cross section $B$ is given by the Variable Hard Sphere kernel

$ B(|v - v_*|) = C_\alpha |v - v_*|^\alpha, \qquad \alpha \in [0,1]$.

We shall assume that we are working in function spaces which admit a cutoff hypothesis. That is, we have continuity as $\Sigma \rightarrow \infty$ of solutions to the Boltzmann equation with cutoff kernel

$B_\Sigma(|v - v_*|) = \min \big\{ B(|v-v_*|), \Sigma\big\} $.

If you would like to check out how the following simulations are made, check out the Github repository. Also see Lorenzo Pareschi's slides presented at IPAM in 2009.


Set $C_\alpha = 1$. These simulations took 2 minutes each, with $N = 50,000$, $\Delta t = 0.01$, $Kn = 1$, and $\alpha = 1$ (hard spheres).

These simulations ran for 5 minutes each with $N = 300,000$, $\Delta t = 0.01$, $Kn = 1$:

This simulation ran for 5 minutes with $N = 300,000$, $\Delta = 0.01$, $Kn = 1$ with initial data consisting of 100 weighted Gaussians with means equidistributed around a circle of radius $= 10$ and standard deviations $= 1$:

I also made a fun extension of these simulations to black and white images. I used the cover art of Daniel Johnston's album Hi, How Are You as an initial condition for the solution. This took 10 minutes with $N = 500,000$, $\Delta t = 0.001$, $Kn =1$, $\alpha = 1$: