CFD Online Logo CFD Online URL
Home > Wiki > Solution of Boltzmann Equation

Solution of Boltzmann Equation

From CFD-Wiki

Jump to: navigation, search


Consider the classical Boltzmann equation for a simple, dilute gas of particles

f_t + (v,{\rm grad}_x f) = Q(f,f)

which describes the time evolution of the particle density f(t,x,v)

f\ :\ {\rm R}_+\times \Omega \times {\rm R}^3 \rightarrow {\rm R}_+.

Here {\rm R}_+ denotes the set of non-negative real numbers and \Omega \subset {\rm R^3} is a domain in physical space. The right-hand side of the Boltzmann equation, known as the collision integral or the collision term, is of the form

Q(f,f)(v) = \int\limits_{{\rm R}^3} \int\limits_{S^2} B(v,w,e) \left( f(v')f(w')-f(v)f(w) \right)\,de\,dw\,.


v,w \in {\rm R}^3 are the pre-collision velocities,

e \in S^2 \subset {\rm R}^3 is a unit vector,

v',w'  \in {\rm R}^3 are the post-collision velocities and

B(v,w,e) is the collision kernel. The operator Q(f,f) represents the change of the distribution function f(t,x,v) due to the binary collisions between particles. A single collision results in a change of the velocities of the colliding partners v,w\ \rightarrow v',w' with

v'=\frac12\left(v+w+|u|\,e\right),\ w'=\frac12\left(v+w-|u|\,e\right)\,,

where u=v-w denotes the relative velocity. The Boltzmann equation is subjected to an initial condition

f(0,x,v)=f_0(x,v),\ x \in \Omega,\ v \in {\rm R}^3

and to the boundary conditions on \Gamma=\partial \Omega.

The kernel B(v,w,e) can be written as

B(v,w,e)=B(|u|,\mu)=|u|\sigma(|u|,\mu),\ \mu= \cos(\theta)=\frac{(u,e)}{|u|}\,.

The function \sigma\,:\,{\rm R}_+\times [-1,1] \rightarrow {\rm R}_+ is the differential cross-section and \theta is the scattering angle.

One of the first discrete versions of the Boltzmann equation was published by D. Goldstein, B. Sturtevant and J.E. Broadwell. Many authors then published different ideas to lead to a discrete version of the Boltzmann collision operator Rogier, Schneider in 1994; Ohwada in 1993, Wagner in 1995, Platkowski, Illner in 1988, Palczewski, Schneider in 1998, Panferov in 1997, Panferov, Heintz in 2002.

The main difficulty with the deterministic approximation of the Boltzmann collision integral besides its high dimensionality is the fact that any grid for the integration over the whole space {\rm R}^3 will not fit for the integration over the unit sphere S^2. Thus only O(n) irregularly distributed integration points belong to the unit sphere if n regular points in one direction are used for the approximation of the {\rm R}^3 integral.

A. Bobylev, A. Palczewski and J. Schneider in 1995 considered this direct approximation of the Boltzmann collision integral and showed that the corresponding numerical method is consistent. The arithmetical work is O(n^7) per time step and the formal accuracy is O(n^{-1/2}).

L. Pareschi and B. Perthame in 1996 considered deterministic spectral methods for the Boltzmann equation and in 2000 L. Pareschi and G. Russo show that these method are consistent and are able to provide spectrally accurate solutions at O(n^6) computational cost. Moreover the method are able to treat also the difficult case of non cut-off collision kernel as shown by L.Pareschi, G.Toscani and C.Villani in 2003.

Later, Ibragimov and Rjasanow in 2002, F.Filbet, L. Pareschi and G.Toscani in 2004 studied spectral methods for numerical solution of Boltzmann equations and Ibragimov, Rjasanow in 2002 proved an O(n^{-2}) numerical accuracy with O(n^6) arithmetic complexity.

Recent results that improve the numerical solution of Boltzmann equations are done in 2007 by Ibragimov and Ibragimova who suggests to use a multilinear approximation to approximate a velocity subspace. Hence, the function state f is approximated as one of the following methods:

f(t,x,v) = \sum_{i_1, i_2, i_3}^{r_1,r_2,r_3} f_{i_1}^{(1)}(t,x,v_1) f_{i_2}^{(2)}(t,x,v_2) f_{i_3}^{(3)}(t,x,v_3) g_{i_1, i_2, i_3},

f(t,x,v) = \sum_i^r f_i^{(1)}(t,x,v_1) f_i^{(2)}(t,x,v_2) f_i^{(3)}(t,x,v_3) \alpha_i,

where r_1,r_2,r_3, r are almost constant.

Indeed, when r_1,r_2,r_3, r are equal to 1, we can easily get Navies-Stocks equation, when ranks are equal to 2, we have very robust model for the boundary layer, with small enough rank (3-5) we can definitely explain a shock waves, etc.

Several real time industrial applications solved with the help of this method are mentioned on the web site of Elegant Mathematics who develops such solvers and provide test calculations for free.

Finally let us mention that an algorithm which strongly reduces the computational cost of spectral methods to O(n^3logn) in the 3D case for hard spheres without loosing the spectral accuracy has been obtained recently by F.Filbet, C.Mouhot and L.Pareschi in 2006 and several applications of this method has been presented to show its potential in computing solution of CFD problems involving the Boltzmann equation.

My wiki