Page 1 of 1

Work around for restarting IBRION=5 or enable selective dynamics for IBRION=6 calculation

Posted: Fri Mar 13, 2026 12:03 am
by Zhiyuan Yin

Hello,

I have a question regarding finite-difference vibrational calculations for a large system.

I want to select the degrees of freedom for the atoms included in the finite-difference calculation, while keeping the other atoms fixed, since I am working on a large system. Because of this, I have been using Selective Dynamics, which, as far as I understand, is supported with IBRION = 5. However, in VASP 6.6, the new finite-difference restart/checkpoint feature appears to be implemented for IBRION = 6, which is useful in my case because machine wall time is limited and long uninterrupted runs are difficult.

So my question is:

Is there any supported or recommended workaround to enable restart/checkpoint for IBRION = 5 finite-difference calculations? Alternatively, is there any supported way to use Selective Dynamics together with IBRION = 6, at least for a selective finite difference calculation?

If neither is currently possible, is there a recommended best practice for this type of large-system vibrational calculation with limited wall time?

Regards,
Zhiyuan


Re: Work around for restarting IBRION=5 or enable selective dynamics for IBRION=6 calculation

Posted: Fri Mar 13, 2026 12:07 pm
by alexey.tal

Dear Zhiyuan,

Indeed, the restart/checkpoint functionality is only supported with IBRION=6 and which doesn't work with selective dynamics.

I want to select the degrees of freedom for the atoms included in the finite-difference calculation, while keeping the other atoms fixed, since I am working on a large system.

However, I am not sure I understand what you are trying to simulate. Why do you need to use selective dynamics?

If neither is currently possible, is there a recommended best practice for this type of large-system vibrational calculation with limited wall time?

One of the limitations of finite-displacement calculations is that they do not support parallelization over plane waves, which is usually very efficient for large supercells. However, OpenMP threads can be used to distribute the work over one band, which can significantly improve performance.
If you have access to a version of VASP that supports OpenMP, you should try your calculation with threads. In addition, basic performance optimizations can be very helpful. For example, use vasp_gam for Γ-point-only calculations. You can switch to ALGO = Fast if your system is not difficult to converge. And reduce the convergence parameters and criteria to the necessary minimum.

Best,
Alexey


Re: Work around for restarting IBRION=5 or enable selective dynamics for IBRION=6 calculation

Posted: Fri Mar 13, 2026 3:23 pm
by Zhiyuan Yin

Dear Alexey,

Thank you very much for the clarification.

I am studying a molecule adsorbed on a metal slab, and I only need a local vibrational analysis of the adsorbate region, while the slab acts as a frozen environment. In that sense, I believe I only need effectively a partial Hessian, not a full-system phonon calculation. Computing finite differences for all atoms in the large metal slab would be both unnecessarily expensive and not directly aligned with my interests.

This is why I need Selective Dynamics: I would like to include only the adsorbate degrees of freedom in the finite-difference calculation while keeping the slab fixed. The practical difficulty is that IBRION=5 appears to support the partial-Hessian style workflow I need, whereas the restart/checkpoint functionality that would help with limited wall time is only available with IBRION=6.

Thank you also for the suggestions regarding OpenMP and general performance tuning. I am already using GPU calculations, and for this system, I am using vasp_gam. I will also test whether I can safely loosen the settings to the minimum required for this workflow.

Given this situation, would you recommend any best-practice strategy for this kind of large-system local vibrational calculation under limited wall time? In particular, if Selective Dynamics requires IBRION=5, is the intended approach simply to optimize the runtime as much as possible and run the calculation in one piece, or is there any practical workaround you would suggest?

Best regards,
Zhiyuan


Re: Work around for restarting IBRION=5 or enable selective dynamics for IBRION=6 calculation

Posted: Mon Mar 16, 2026 9:34 am
by alexey.tal

Thank you also for the suggestions regarding OpenMP and general performance tuning. I am already using GPU calculations, and for this system, I am using vasp_gam. I will also test whether I can safely loosen the settings to the minimum required for this workflow.

If you are already running your calculations on GPUs, OpenMP threading is unlikely to significantly improve the performance.

Given this situation, would you recommend any best-practice strategy for this kind of large-system local vibrational calculation under limited wall time? In particular, if Selective Dynamics requires IBRION=5, is the intended approach simply to optimize the runtime as much as possible and run the calculation in one piece, or is there any practical workaround you would suggest?

I think your approach is correct, and at the moment I am not aware of a better solution. However, we are already working on adding support for restart functionality with IBRION=5, so this feature should be included in our next release.