Recently, a new family of integrators (Hamiltonian Boundary Value Methods) has been introduced, which is able to precisely conserve the energy function of polynomial Hamiltonian systems
and to provide a practical conservation of the energy in the non-polynomial case
http://www.jnaiam.org/uploads/files/Volume5_Issues_1-2_Part_I/2.pdf
Seems very useful for some physical simulations.