NEB Problem

Asked by rezabma on 2019-05-21

Dear Users/Developers,
I used LUA5.3.5/FLOS/FLOOK to use neb calculation for carbon nanotube periodic in one dimensional. I used this approach for water test successfully. this is my error:
================================
           2 1: 96 1: 48 17: 32
           3 1: 96 1: 48 33: 48
           4 1: 96 1: 48 49: 64
           5 1: 96 49: 96 1: 16
           6 1: 96 49: 96 17: 32
           7 1: 96 49: 96 33: 48
           8 1: 96 49: 96 49: 64

InitMesh: MESH = 192 x 192 x 128 = 4718592
InitMesh: (bp) = 96 x 96 x 64 = 589824
InitMesh: Mesh cutoff (required, used) = 250.000 255.809 Ry
ExtMesh (bp) on 0 = 168 x 120 x 92 = 1854720
New grid distribution: 2
           1 41: 96 1: 46 1: 32
           2 50: 96 47: 96 1: 29
           3 1: 49 47: 96 32: 64
           4 1: 40 1: 46 1: 32
           5 41: 96 1: 46 33: 64
           6 1: 49 47: 96 1: 31
           7 50: 96 47: 96 30: 64
           8 1: 40 1: 46 33: 64
New grid distribution: 3
           1 40: 96 1: 49 1: 32
           2 1: 55 50: 96 1: 31
           3 1: 39 1: 49 1: 32
           4 1: 39 1: 49 33: 64
           5 56: 96 50: 96 1: 28
           6 56: 96 50: 96 29: 64
           7 40: 96 1: 49 33: 64
           8 1: 55 50: 96 32: 64
Setting up quadratic distribution...
ExtMesh (bp) on 0 = 128 x 118 x 108 = 1631232
PhiOnMesh: Number of (b)points on node 0 = 82432
PhiOnMesh: nlist on node 0 = 693601

        iscf Eharris(eV) E_KS(eV) FreeEng(eV) dDmax Ef(eV) dHmax(eV)
   scf: 1 -12788.770827 -12801.630559 -12801.686744 0.152263 -3.812185 10.995559
   scf: 2 -11525.788614 -12395.457449 -12395.464019 0.970011 -4.027359 79.588207
   scf: 3 -12876.043695 -12803.707177 -12803.757995 0.966627 -3.747580 7.078482
   scf: 4 -12807.726753 -12805.977184 -12806.043668 0.071330 -3.747752 4.539986
   scf: 5 -12797.032081 -12805.239902 -12805.293215 0.267421 -3.755574 6.171852
   scf: 6 -12805.372441 -12805.306484 -12805.360359 0.002036 -3.755584 6.080833
   scf: 7 -12808.416493 -12807.434963 -12807.510246 0.099203 -3.761361 1.960429
   scf: 8 -12806.746333 -12807.465215 -12807.543131 0.086393 -3.760691 1.299814
   scf: 9 -12807.531532 -12807.503694 -12807.581041 0.012170 -3.757675 1.307682
   scf: 10 -12807.721600 -12807.636628 -12807.714360 0.025043 -3.763559 0.638568
   scf: 11 -12807.220037 -12807.569279 -12807.644706 0.054392 -3.767115 1.301317
   scf: 12 -12807.092012 -12807.359164 -12807.431867 0.025128 -3.772569 2.116193
   scf: 13 -12807.739649 -12807.682985 -12807.760548 0.052847 -3.771765 0.240193
   scf: 14 -12807.668189 -12807.676640 -12807.754078 0.004360 -3.772706 0.380338
   scf: 15 -12807.686915 -12807.682570 -12807.760174 0.004482 -3.774252 0.238252
   scf: 16 -12807.681100 -12807.681854 -12807.759436 0.000580 -3.774333 0.256937
   scf: 17 -12807.687552 -12807.686857 -12807.764652 0.006140 -3.775415 0.026962
   scf: 18 -12807.686463 -12807.686764 -12807.764647 0.001265 -3.776118 0.032556
   scf: 19 -12807.686895 -12807.686919 -12807.764719 0.001567 -3.777612 0.016978
   scf: 20 -12807.686890 -12807.686916 -12807.764746 0.000428 -3.777901 0.006294
   scf: 21 -12807.686912 -12807.686914 -12807.764747 0.000067 -3.777933 0.006403
   scf: 22 -12807.686935 -12807.686928 -12807.764747 0.000202 -3.778101 0.006445
   scf: 23 -12807.686916 -12807.686924 -12807.764750 0.000183 -3.778135 0.001028
   scf: 24 -12807.686926 -12807.686925 -12807.764750 0.000046 -3.778105 0.000885
   scf: 25 -12807.686933 -12807.686929 -12807.764751 0.000070 -3.778230 0.000972
   scf: 26 -12807.686929 -12807.686929 -12807.764751 0.000008 -3.778243 0.000974

SCF Convergence by EDM+DM+H criterion
max |DM_out - DM_in| : 0.0000082805
max |EDM_out - EDM_in| (eV) : 0.0000538542
max |H_out - H_in| (eV) : 0.0009738005
SCF cycle converged after 26 iterations

Using DM_out to compute the final energy and forces
No. of atoms with KB's overlaping orbs in proc 0. Max # of overlaps: 73 184

siesta: E_KS(eV) = -12807.6869

siesta: Atomic forces (eV/Ang):
----------------------------------------
   Tot -0.104692 -0.061387 0.154154
----------------------------------------
   Max 140.688329
   Res 16.315850 sqrt( Sum f_i^2 / 3N )
----------------------------------------
   Max 140.688329 constrained

Stress-tensor-Voigt (kbar): -50.65 -24.85 -0.84 -11.35 2.19 -9.85
(Free)E + p*V (eV/cell) -12714.0058
Target enthalpy (eV/cell) -12807.7648

NEB step
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunkstack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk

stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 6
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 5
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 6
Stopping Program from Node: 5
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 7
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 7
Stopping Program from Node: 1
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 1
application called MPI_Abort(comm=0x84000000, 1) - process 5
application called MPI_Abort(comm=0x84000000, 1) - process 6
application called MPI_Abort(comm=0x84000000, 1) - process 7
application called MPI_Abort(comm=0x84000000, 1) - process 1

/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 3
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk
Stopping Program from Node: 3
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
application called MPI_Abort(comm=0x84000000, 1) - process 3
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 2
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 2
application called MPI_Abort(comm=0x84000000, 1) - process 2
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 4
Stopping Program from Node: 4
application called MPI_Abort(comm=0x84000000, 1) - process 4
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 0
stack traceback:
 /opt/flos/flos/num/array.lua:815: in method 'dot'
 /opt/flos/flos/num/array.lua:593: in method 'project'
 /opt/flos/flos/special/neb.lua:255: in method 'perpendicular_force'
 /opt/flos/flos/special/neb.lua:317: in method 'force'
 neb.lua:190: in function 'siesta_move'
 neb.lua:116: in function 'siesta_comm'
 [string "siesta_comm()"]:1: in main chunk
/opt/flos/flos/error.lua:15: flos.Array dot dimensions for 1D dot product are not the same
LUA could not run siesta_comm() without an error, please check your Lua script
Stopping Program from Node: 0
application called MPI_Abort(comm=0x84000000, 1) - process 0
[root@client9 neb_cnt]#
=================================================

scf converges for all images, but I get above error while lua code wants to calculate the forces.

Thanks
Reza
Any help?

Question information

Language:
English Edit question
Status:
Solved
For:
Siesta Edit question
Assignee:
No assignee Edit question
Solved by:
rezabma
Solved:
2019-05-21
Last query:
2019-05-21
Last reply:
2019-05-21
Nick Papior (nickpapior) said : #1

Could you attach your fdf and image files?

Nick Papior (nickpapior) said : #2

I.e. it seems that the dimensions is not correct. You can also try the latest 4.1 revision (r1072) which has additional checks. :)

rezabma (rezabma) said : #6

Dear Nick
You are right. My structures had a problem. Thank you for your guide. The problem is solved.

Nick Papior (nickpapior) said : #7

Exactly. I would suggest you to use r1072 and use the *updated* flos_h2o_neb lua script. That one implements checks for number of atoms.

rezabma (rezabma) said : #8

Thank you Nick, I am working in FHI-aims and OPENMX for NEB calculation. I am new in siesta. In both codes, developers have used built-in neb calculation. In recent version of FHI-aims, everything in neb calculation is very simple and restartable. jmol is used to show path.xyz file which is generated during neb calculation. OPENMX has its web-base viewer which can show trajectories of a neb calculation. When I compare these codes, siesta need much lower RAM, and its speed is very good. But, there is no user friendly software to generate/read input/output of siesta, especially show move of atoms in neb calculation. They only need initial and final configuration, and the codes generate images by linear interpolation, but siesta needs each of images.
ASE provides python based codes for neb, opt, ... calculation with different calculators (DFT codes) such as siesta.

Thanks.
Reza

rezabma (rezabma) said : #9

One more question:
if I want to restart a neb calculation, what should I do?
 it seems that the code doesn't generate image_XX.xyz files in each steps of neb.
This is a good idea the the code can detect and restart an opt or a neb job automatically.

Nick Papior (nickpapior) said : #10

This small code can do a linear interpolation of *any* initial and final xyz files and write them to the appropriate flos-neb file formats. :)

For parsing input/output of siesta sisl may be used (www.github.com/zerothi/sisl) which is a python script allowing easy parsing of fdf files and much more. It can also convert geometries to ASE (and from ASE). So it may ease some of your workflows? I guess?

Here is the Python snippet:

import numpy as np
import sisl as si

geom_initial = si.get_sile('INITIAL.xyz').read_geometry()
geom_final = si.get_sile('FINAL.xyz').read_geometry()

# Number of points in the NEB calculation (excluding initial and final)
N = 11

# Define linear interpolation points
interps = np.linspace(0, 1, N + 1)[1:]

geom = geom_initial.copy()
dxyz = geom_final.xyz - geom_initial.xyz
geom_initial.write('image_0.xyz')
for i, di in enumerate(interps):
    geom.xyz = geom_initial.xyz + dxyz * di
    geom.write('image_{}.xyz'.format(i + 1))
geom_final.write('image_{}.xyz'.format(N + 1))

Nick Papior (nickpapior) said : #11

I agree a restart possibility would be ideal. For now it does not work. And I have little to no experience in NEB, so any help on this would be appreciated. I.e. this should be handled in Lua since when dF is smaller than the tolerance it allows one to skip those points.

rezabma (rezabma) said : #12

Thank you Nick for your time and for your effort. My new research work is on the development and design new catalysis for chemical engineers by investigation their reaction mechanism by NEB or similar approaches. I am not professional in programming. I will be happy, if I can help in this field, for example, by testing and bench-marking the code.

thank you
Reza