  The lattice Boltzmann method has become a standard for efficiently solving
problems in fluid dynamics. While unstructured grids allow for a more efficient
geometrical representation of complex boundaries, the lattice Boltzmann methods
is often implemented using regular grids. Here we analyze two implementations
of the lattice Boltzmann method on unstructured grids, the standard forward
Euler method and the operator splitting method. We derive the evolution of the
macroscopic variables by means of the Chapman-Enskog expansion, and we prove
that it yields the Navier-Stokes equation and is first order accurate in terms
of the temporal discretization and second order in terms of the spatial
discretization. Relations between the kinetic viscosity and the integration
time step are derived for both the Euler method and the operator splitting
method. Finally we suggest an improved version of the bounce-back boundary
condition. We test our implementations in both standard benchmark geometries
and in the pore network of a real sample of a porous rock.
