9

« **on:** March 22, 2023, 22:37 »
It can be really useful to take advantage of the function to check the repetitions, instead of just blindly launching a calculation which may be extremely time-consuming. That said, no matter what value you set for the max_interaction_range, it will almost always correspond to an approximation, and is thus prone to inaccurate results, incl. negative frequencies. The exception is if you set a value for the range which is larger than the interaction range of all atoms, as then you just recover the default behavior, which is to include all atom interactions when determining the supercell size.

The real approximation you make is of course in the size of the supercell, but since any finite value of max_interaction_range gives a smaller supercell than the default, your second observation is logical: a smaller range will NOT eliminate imaginary frequencies, but rather increase their likelihood. As for the opposite case ("lower interaction range manages to eliminate imaginary frequencies"), I think that might just be luck, in some particular system; it is at least not something I would expect to be the general case.

Also note that imaginary frequencies are not only a result of a too small supercell. It is equally important to ensure the configuration itself is relaxed with high accuracy. This often requires a tighter tolerance on the forces and stress than the default values, which in turn typically can only be achieved with a lower convergence tolerance for the self-consistent loop.

Thus in conclusion, phonon calculations require tight SCF tolerance and well converged structures in forces and stress. Usually you can go with the default supercell; I usually check the supercell in the log file when the calculation starts, and interrupt it if I notice it's giving strange values, like not identifying a 2D sheet if there is not enough vacuum around it, or just generally giving too large cell compared to the computer hardware or time I am prepared to wait.

Finally, and I admit I might be wrong on this, but I suppose the main use for checking the supercell size with a given max_interaction_range is if you have a short-range forcefield, where using all atoms will yield an unnecessarily large supercell. But then again, forcefields are so fast that it doesn't really matter what supercell size is used.