This merge request adds phonon renormalization capability to hiphive. It is an efficient way to compute finite-temperature phonons by utilizing anharmonic force constants up to any order (but up to at least 4th order). It samples temperature-dependent atom-displaced configurations using quantum covariance (QCV) of atomic positions, whose interatomic forces are then predicted from pre-fitted IFCs which are then renormalized to effective harmonic IFCs. For this purpose, it is best harmonic IFCs and anharmonic IFCs are separately fitted. It iterates QCV generation and harmonic IFC update until vibrational free energy converges. For the original IFC fitting, very small displacements (< 0.05 A) are to be used for harmonic fitting, and large displacements (up to ≈0.5 A) are to be used for anharmonic fitting.
Refer to the following papers for the methods:
Summary of changes
(Provide a summary of the key changes to files, preferably in the form of a list)
- Created renormalization class in hiphive/renormalization.py
- Added 4th order force constants io in ShengBTE and phonopy formats in hiphive/input_output/phonopy.py and hiphive/input_output/shengBTE.py
- Introduced fit_phi_minmax parameter to hiphive/force_constants.py for separate fitting of force constants (by harmonic and anharmonic)
- Added unit tests for renormalization and 4th order force constant routines