Lattice Boltzmann Method: applications to thermal fluid dynamics and energy systems