ionic relaxation cannot converge

Queries about input and output files, running specific calculations, etc.


Moderators: Moderator, Global Moderator

Post Reply
Message
Author
yujia_teng
Jr. Member
Jr. Member
Posts: 50
Joined: Thu May 25, 2023 6:24 pm

ionic relaxation cannot converge

#1 Post by yujia_teng » Thu Jul 16, 2026 1:00 pm

Dear VASP team,

I am trying to relax a heterostructure and encountered a similar question before in a similar system, but I'm not able to solve it with the method proposed (viewtopic.php?t=20432). Following the instruction there, my workflow is:

1. Run a dipole-off SCF calculation to generate WAVECAR.
2. Use that WAVECAR for a dipole-off relaxation with ISTART=1, MAXMIX=about 3* scf step, and one fixed atom.
3. If this step converges, later turn the dipole correction back on for the final relaxation.

The problem already occurs in step 2. The relaxation stops with:

ZBRENT: fatal error in bracketing

I then copied CONTCAR to POSCAR and continued, but the continuation stopped with the same ZBRENT bracketing failure. Doing this many times won't help, seems that force and energy are just oscillating.

As a diagnostic test, I changed to IBRION=1 and added NELMIN=4. This avoids the fatal ZBRENT error, but the relaxation reaches NSW=200 without “reached required accuracy”. The late-stage forces oscillate instead of converging; the final maximum force is still about 0.023 eV/Ang.

Could you advise what settings you would recommend for this kind of slab relaxation? The inputs/outputs are attached. I also tried to fix all in-plane components, since they won't change due to symmetry, and this also doesn't work.

Best,
Yujia

You do not have the required permissions to view the files attached to this post.

jonathan_lahnsteiner2
Global Moderator
Global Moderator
Posts: 308
Joined: Fri Jul 01, 2022 2:17 pm

Re: ionic relaxation cannot converge

#2 Post by jonathan_lahnsteiner2 » Mon Jul 20, 2026 12:52 pm

Dear yujia_teng,

The ZBRENT error can be resolved by decreasing the threshold value for electronic convergence of EDIFF to 1.0E-07. I was doing some tests on your system. I was able to converge the ionic relaxation by using IBRION=1 and decreasing the step size with POTIM to 0.05.Another important thing is to set ISYM=0. With this settings I was able to converge the structure optimization. This is the INCAR file I used which was adapted from your INCAR file:

Code: Select all

 SYSTEM=In2Se3

 Startparameter for this Run:
   ISTART =      1                 job   : 0-new  1-cont  2-samecut
   ISPIN  =      1                 spin polarized calculation?
# ICHARG =11
  LORBIT=11                             for band structure, set to 12
#  LWAVE  = .TRUE.                 write wavefunctions to file
 #LMAXMIX = 4

 Electronic Relaxation 1
   EDIFF  = 1.0E-07              stopping-criterion for ELM

# Dipole correction
#LDIPOL = .TRUE.
#IDIPOL = 3
#DIPOL = 0.5 0.5 0.5
IVDW = 11
ISYM = 0

#LVHAR = .True.

#MAXMIX = 130
 Ionic Relaxation
   NSW    = 400  number of steps for IOM, 0 for none
   IBRION =      1                 ionic relax: 0-MD 1-quasi-New 2-CG
   ISIF   =      2                stress and relaxation
   EDIFFG = -0.01
   POTIM=0.05

 Parallelization setup: (for usual Linux cluster)
  IALGO  =  38                   parallel algorithm: 48
  NPAR   = 4                      number of bands in parallel treatment
  NSIM   =  4
#  NBANDS = 200
 DOS related values:
#  ENCUT = 500
PREC=HIG#H

  ISMEAR = 0 ;   SIGMA =  0.2  broadening in eV -4-tet -1-fermi 0-gaus
  NEDOS  = 2000
  EMIN   = -15;   EMAX  = 15      DOS plot range



LREAL= Auto
AMIN = 0.01

I hope this helps.

All the Best Jonathan


yujia_teng
Jr. Member
Jr. Member
Posts: 50
Joined: Thu May 25, 2023 6:24 pm

Re: ionic relaxation cannot converge

#3 Post by yujia_teng » Thu Jul 23, 2026 8:49 pm

Dear Jonathan,
Thanks very much for the help. The jobs are able to converge finally after a few days across all similar systems I used here. Seems that setting ISYM=0 to turn of the symmetry is the most important setting?

I'm not sure if HIG#H actually means PREC tag should be commented out or use high. I used PREC=Accurate which may be the reason why calculation is so slow.

In the output.log, I noticed one warning:

Code: Select all

BRIONS problems: POTIM should be increased

Does this warning matter? In the next step when i put dipole back, I increased POTIM and this warning disappeared.

Best,
Yujia

You do not have the required permissions to view the files attached to this post.

jonathan_lahnsteiner2
Global Moderator
Global Moderator
Posts: 308
Joined: Fri Jul 01, 2022 2:17 pm

Re: ionic relaxation cannot converge

#4 Post by jonathan_lahnsteiner2 » Fri Jul 24, 2026 6:47 am

Dear Yuji Teng,

Great that your simulations are converging now. The warning you receive tells you that you could increase the the step size of the optimization algorithms again with POTIM.This might speed up the simulation time. I was trying with very small step sizes to get the system converged.
You are right PREC=HIG#H was a typo. So VASP did used PREC=normal. So you should be able to unset the PREC parameter and use smaller precision. This will also speed your calculations up.

All the Best Jonathan


Post Reply