Page 1 of 1
Restarting finite displacement calculations for large super cells
Posted: Fri Dec 05, 2025 10:03 pm
by saranya_velliyarat
Hello,
I am working on a system with 15 atoms in the unit cell and I want to calculate both phonon dispersion and conductivity using SERTA. For the phonon dispersion, I am computing force constants using a 2x2x2 supercell (120 atoms). For the 45 degrees of freedom in the 2×2×2 supercell, the finite-difference method requires 2 displacements per degree of freedom, resulting in a total of 90 displacements, which makes the calculation computationally expensive. Similarly, for the conductivity calculation using SERTA, the first step is to compute the electron-phonon potentials on the same 2×2×2 supercell. Since this also relies on the finite difference method, it takes a significant amount of time and computational resources.
My question is: Is there a reliable way to restart these calculations in VASP if they time out, without losing the already computed displacements or electron-phonon potentials?
Any advice would be greatly appreciated.
Thank you!
Re: Restarting finite displacement calculations for large super cells
Posted: Wed Dec 10, 2025 4:05 pm
by manuel_engel1
Hello!
I'm glad to see that you are using VASP to compute electron-phonon interactions. I'm sorry for any confusion caused by our earlier reply. After talking with my colleague, I have agreed to take over this forum post since I'm from the electron-phonon team.
What you are trying to achieve is currently not possible since the finite-difference information is completely in-memory. That means if VASP crashes, all this information is lost and you have to restart. This is of course problematic for large calculations and running on certain clusters.
However, there are some good news. First, you can use the third-party tool phelel to split the VASP calculation into individual steps and run each of them separately. This also allows you to user more symmetry operations to cut down on the number of displacements required. If you are familiar with phonopy, then this workflow will also be very familiar to you. We have a small phelel section on our wiki. The phelel package also comes with a workflow tool called "velph", which can guide you through the calculation. For further information on this, we encourage you to read the documentation available in the phelel repository.
Finally, we have been working on a new VASP feature that allows you to restart finite-difference calculations in the case of a crash. This feature will be available in the next VASP version and it will offer more flexibility and stability for finite-difference calculations.
Re: Restarting finite displacement calculations for large super cells
Posted: Wed Dec 10, 2025 11:39 pm
by saranya_velliyarat
Hello Manuel,
Thank you for the detailed explanation. Sorry for any confusion in my earlier message.
I should clarify that I am actually performing the conductivity calculation using phelel. For this calculation, I first compute the electron–phonon potential on a 2×2×2 supercell along a supplied q-point path, which generates the phelel_params.hdf5 file required for the subsequent electron-phonon SERTA transport steps. My issue is that, for my system, this initial step of generating phelel_params.hdf5 is extremely expensive.
I learned these steps from the electron-phonon workshop you conducted. Thank you again for that!
So my question is: If this first step times out on our cluster, is there any way to restart the calculation and continue writing into the same phelel_params.hdf5 file without losing the progress from the already-completed displacements?
Similarly, for the phonon dispersion, I compute force constants using finite differences on the same supercell and then use the generated vaspout.h5 file. I am wondering if a similar restart mechanism exists there as well.
Thank you!
Re: Restarting finite displacement calculations for large super cells
Posted: Thu Dec 11, 2025 8:21 am
by manuel_engel1
Since you are already using phelel, it should be relatively straightforward. Each VASP calculation is run separately for the different displacements, so if one of them crashes you simply repeat it. At the end, you can use phelel to gather all the results from the different supercell calculations and merge them together into the phelel_params.hdf5. This should allow you to "continue" at any point.
However, I'm still a bit confused by your setup. Could you upload your input and output files for this particular calculation? Since you are using phelel, I would like to have:
- The INCAR, POSCAR, KPOINTS and OUTCAR of one of the supercell calculations
- The OUTCAR of the run that crashed if you have it
- The velph.toml settings file in case you are using velph
- The phelel_disp.yaml file or alternatively the command you run to create the displacements with phelel
This is the fastest way for me to see what's going on.