hiPhive dispersion curve differs from phonopy one

Hi,
I was trying to use hiPhive to calculate thermal properties in the harmonic approximation for CdTe. The fitting seems good (test force RMSE of 17 meV/Å) but the dispersion curve obtained with hiPhive differs significantly from the phonopy one (see figure below).

I’ve tried the following things:

  1. Different standard deviations for the rattle (std=0.02 Å, 0.03 Å)

  2. Convergence with cutoffs for the different orders (converged with [7.0, 5.0, 3.0])

  3. Convergence with the number of force components (converged with ~400 force components)

  4. Separate long-range and short-range interactions following the example in the tutorial: the dispersion curves (phonopy with NAC and hiphive with NAC and LRC) differ even more

  5. Larger supercell: tried 3x3x3 (13.7 Å, 54 sites) and 4x4x4 (18.4 Å, 128 sites) of the primitive cell. The dispersion curves for the larger supercell (4x4x4) are slightly more similar when including NAC but still differ significantly

Is there something I’m missing?
Thanks in advance!

To me the dispersions look quite similar :).

Convergence with the number of force components (converged with ~400 force components)

400 force components sounds small, how many training structures/supercells are you using when training the hiphive FCs?

Did you symmetrize the phonopy FCs obtained from DFT?

You can try to train the hiphive FCs with the phonopy structures (using the longest possible harmonic cutoff and no higher orders) and see if this reproduces the dispersion.

I agree with Erik. A few additional comments:

  1. I think you should try to increase the second order cutoff. The NaCl example used a 4x4x4 supercell and a cutoff of 11Å.
  2. Can you indicate what points in your dispersion is actually spanned by the cells?
  3. Is the phonopy dispersion also done for the same supercell sizes?
  4. To me the line split at W seem suspicious, does that point exist in the supercell? Is it degenerate?
  5. Try the folding method also described in the example Dealing with long-range interactions — hiPhive documentation
  6. As Erik said, try using the phonopy structures.