It seems there is a general agreement among the practitioners of Molecular Dynamics that 1fs is a fairly reasonable time step, with shorter time steps being required for materials with higher vibrational frequencies. But I haven't seen much information on how one might derive the highest vibrational frequency of a material.
The following question from this site is related: How should one choose the time step in a molecular dynamics integration?
The question has two great answers referencing Nyquist's Theorem and explaining the reasoning behind choosing a timestep frequency below the highest vibrational frequency, but when it comes to establishing if the timestep you've chosen is appropriate it suggests empirically checking various timesteps for energy drift.
Having read around further it seems there are a few other methods for establishing the correct time step, and they are below along with the empirical method:
Empirically check the time-step is correct by performing NVE simulations and checking for energy drift.
Use the first crossing point of the "Velocity Auto-Correlation Function" to establish an appropriate time step. Seen here on the LAMMPS source forge mailing list: https://sourceforge.net/p/lammps/mailman/message/26183023/
Analyse your Interatomic Pair Potentials to establish what the highest frequency is likely to be and use that as a base for you timestep.
Which method would you recommend as the most mathematically/ physically rigorous, and does anyone know or have a link to the specifics of the latter two methods?