How to start with thermal conductivity calculation #354
-
I find that calculating thermal conductivity needs ML potential to get starting dynamical matrices, as well as relaxing structure in the 8th tutorial.
(Little question: What difference does After getting hessian_dyn and third order FC(d3.npy), do subsequent calculation:
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 37 replies
-
@DjordjeDangic maybe can help Regarding the dynamical matrix, you should not use the Hessian for the Thermal Conductivity calculation but rather the final SSCHA matrix. If the Hessian has imaginary frequencies, that could be the cause of the NaN in the result. |
Beta Was this translation helpful? Give feedback.
-
As it is written in the tutorial you need only the final auxiliary SSCHA force constants ('final_dyn') and the third-order force constants ('d3.npy'). Do not use Hessian force constants ('hessian_dyn'). In the tutorial, we are relaxing structure prior to the calculation of the thermal conductivity because we want to calculate thermal conductivity at 0 pressure and temperature at 100 K. Later, we assume that structure and force constants do not significantly change with temperature so we are using the same force constants to calculate thermal conductivity at elevated temperatures (higher than 100 K). Let's say you want to calculate lattice thermal conductivity of PbTe at 300 K at ambient pressure. Then you will first need to do SSCHA relaxation of PbTe at 300 K and 0 GPa. Once your relaxation finishes you will get dynamical matrices ('final_dyn' in tutorial). Then you need to calculate third order force constants ('d3.npy' in tutorial). Using these two ingredients you can calculate lattice thermal conductivity. Whether you do this using machine learning potential or DFT does not matter. However, if you are using machine learning potential you need to make sure it is faithful representation of interatomic interaction. |
Beta Was this translation helpful? Give feedback.
-
Hi, @DjordjeDangic
The other is just doing general vc_relax,
The second calculation is successfully done.
So why does this situation appear? |
Beta Was this translation helpful? Give feedback.
-
Hi, @DjordjeDangic If the thermal conductivity is two small(about an order of magnitude smaller than experiment), what's the possible reason? |
Beta Was this translation helpful? Give feedback.
As it is written in the tutorial you need only the final auxiliary SSCHA force constants ('final_dyn') and the third-order force constants ('d3.npy'). Do not use Hessian force constants ('hessian_dyn').
In the tutorial, we are relaxing structure prior to the calculation of the thermal conductivity because we want to calculate thermal conductivity at 0 pressure and temperature at 100 K. Later, we assume that structure and force constants do not significantly change with temperature so we are using the same force constants to calculate thermal conductivity at elevated temperatures (higher than 100 K).
Let's say you want to calculate lattice thermal conductivity of PbTe at 300 K at ambient p…