updating image files in NEB calculation

Asked by rezabma on 2019-05-22

Dear Developers,
For NEB calculations:
1- sometimes we need to check the trajectories by eye. It is very important that in a directory (which could be named by neb step number) we have saved the images for each NEB steps. With seeing each NEB step trajectory, we can decide to stop the calculation and repeat a new job on the base of new images or not.
2- Very huge data are printed. For each images, all parts of forces are printed which are not practically useful. Instead, we need a file that has NEB step number, and image's relative energies, and in another file, NEB step number and its total force which should be minimized to the neb criteria.


Question information

English Edit question
Siesta Edit question
No assignee Edit question
Last query:
Last reply:
Nick Papior (nickpapior) said : #1

1) The way it is implemented is not in directories. That is by choice ;) And very non-standard I agree. :)

NEB.<I>.R contains all coordinates in an appended file for image <I>, so this is your NEB step images.
NEB.<I>.F contains all forces in an appended file for image <I>.

2) During testing of this it was quite nice to track the different information. It is trivial to delete a file. And also, some NEB algorithms may require additional information (in particular in LCAO codes) so I don't think it is wise to remove output just because it is verbose. :)
The NEB.results contains the current iteration results.

Thanks for your insights! :)

rezabma (rezabma) said : #2

Hi Nick,
thanks. Professional chemists can choose a proper neb step to start a new neb job. For example, in neb calculation of a complex dissociation. after some steps you encounter with the paths that are not logical from chemistry point. waiting for the job to reduce its force is wasting your time. In these cases, we stop the calculation, and restart the calculation with proper path, even with large force. If your outputs are categorized, you can simply choose the proper step with visualizing its path to re-calculate neb. So, we need that know in each neb step, what is its toral force, and visualize its path.xyz to be sure that this starting trajectory can guide us to the final path or not. In my calculations, it is often occur to stop a neb calculation, and start it with a path which is logical from chemistry approach. In siesta, I am looking for these two files, one, total force for each neb step, and the other, trajectory file for each step. In NEB<I>.R, it is difficult to find the neb step. If you save trajectories in different directories with neb step, it will be very simple to visualize a selected path:

1- TOTA_FORCE file contains
#step Force

2- Trajectories:
directory STEP1 contains path.xyz for the first step path.xyz file
directory STEP2 contains path.xyz for the second step path.xyz file

Additionally, it is better to introduce parameters for force criteria and force constant in fdf file instead of setting them in LUA file.

Thanks you.

Nick Papior (nickpapior) said : #3

Thanks. Agreed the output could be better!

Your last comment states that the neb.lua script does not read in the force constants from the fdf-file. This is incorrect. Tolerances and maximum displacements are read from fdf through Siesta-lua communication. So no parameters needs to be changed in the lua script except # of images and image file names.

rezabma (rezabma) said : #4

Hi Nick,
Yes, you are right. But there is no any guide about it in the manual.

Nick Papior (nickpapior) said : #5

There is no documentation about it in the manual since the implementation is a 3rd party library (https://siesta-project.github.io/flos/ldoc/classes/NEB.html)

I agree that even that requires more documentation. In any case, all our projects are open source. So any/all contributions are highly welcome! :)

rezabma (rezabma) said : #6

Dear Nick
which keywords we can use in fdf file for neb? for example, I want to true/false climbing and use different force constants for different chemical bonds. Also, I need to set climbing tolerance in another job.


Nick Papior (nickpapior) said : #7

Those things cannot be specified through the fdf file. You have to modify the neb.lua code (add more arguments)

Please see the documentation which explains how to define the spring constants and climbing method:


Can you help with this problem?

Provide an answer of your own, or ask rezabma for more information if necessary.

To post a message you must log in.