Page 1 of 1

NEB optimizer choice

Posted: Tue Aug 21, 2018 4:13 am
by sinfire
Hi all:

I'm doing a CI-NEB calculation. I'm currently testing the calculation using different optimizers, one with the default GDIIS optimizer and one with L-BFGS.

In case the L-BFGS method fails to converge, is it reasonble to run CI-NEB with a more robust optimizer for several steps and continue the calculation with L-BFGS to speed up the convergence?

If no, is it OK to run regular NEB with a robust optimizer for several steps and start a CI-NEB with L-BFGS on that calculation?

Thanks in advance.

Re: NEB optimizer choice

Posted: Tue Aug 21, 2018 12:54 pm
by graeme
Yes, starting with a robust optimizer such as quickmin or fire until the forces drop below 1 eV/Ang is a good strategy before switching to a second order method such as DIIS or LBFGS.

Re: NEB optimizer choice

Posted: Wed Aug 22, 2018 10:48 pm
by ramon
I agree. a robust optimizer is the better choice initially.

Re: NEB optimizer choice

Posted: Thu Aug 23, 2018 12:20 am
by sinfire
Thank you for the answers.

I'm trying to set up a queue submit file doing CI-NEB-FIRE with EDIFFG = --1.0 to CI-NEB-LBFGS with EDIFFG= -0.15

I changed the EDIFFG in the INCAR file after the FIRE run, and then runned LBFGS.

Strangely the EDIFFG in the subdirecteries(01-0X) don't seem to change.

Do I have to add a keyword like ISTART in the INCAR file? or do I have to manually copy the INCAR files to the subdirectories (01-0X)

Here is the script I'm using.

==============================================================

cp INCAR_FIRE INCAR
mpirun -machinefile $PBS_NODEFILE -np $NUMBER $EXE > vasp-fire.out
cp 01/CONTCAR 01/POSCAR
cp 02/CONTCAR 02/POSCAR
cp 03/CONTCAR 03/POSCAR
cp 04/CONTCAR 04/POSCAR
cp 05/CONTCAR 05/POSCAR
cp 06/CONTCAR 06/POSCAR
cp INCAR_BFGS INCAR
mpirun -machinefile $PBS_NODEFILE -np $NUMBER $EXE > vasp-bfgs.out

===============================================================

INCAR_FIRE and INCAR_BFGS are the INCARs for the corresponding job.


EDIT: Nevermind, I missread -.1 to -1. sorry for the confusion. Leaving the post just in case someone does the same mistake.