On The Lattice Boltzmann Method: Implementation And Applications