Elements of the lattice Boltzmann method I: Linear advection equation

This paper opens a series of papers aimed at finalizing the development of the lattice Boltzmann method for complex hydrodynamic systems. The lattice Boltzmann method is introduced at the elementary level of the linear advection equation. Details are provided on lifting the target macroscopic equations to a kinetic equation, and, after that, to the fully discrete lattice Boltzmann scheme. The over-relaxation method is put forward as a cornerstone of the second-order temporal discretization, and its enhancement with the use of the entropy estimate is explained in detail. A new asymptotic expansion of the entropy estimate is derived, and implemented in the sample code. It is shown that the lattice Boltzmann method provides a computationally efficient way of numerically solving the advection equation with a controlled amount of numerical dissipation, while retaining positivity.