No relaxation during CI-NEB calculation
Moderator: moderators
No relaxation during CI-NEB calculation
Hello professor Henkelman,
I met some issues with CI-NEB implemented in VTST when I'm trying to calculate the ion diffusion energy barrier. The energy barrier is high and it seems that the image geometries are unrelaxed, which is out of expection (I used IBRION=3, POTIM =0 and IOPT = 1). After going through some posts in this forum, I think the issue might be the result of unsuccessful interface between VTST (VTST5) and VASP (VASP5.4.4). Specifically, there is no VTST version number and 'neb', 'spring' as expected in my OUTCAR files. I also tried the case to use the VASP optimizer (IBRION = 1, or IBRION =3 and POTIM = 0.1 with IOPT = 0), but I still got weird energy result. I checked the OUTCAR files, there are no 'VTST', 'neb' and 'spring' which I think there should be if CI-NEB is implemented successfully (if I understand correctly). Since I'm new to VTST and VASP, I'm not sure if that is the only reason or if there is any other reason or anything wrong with my parameter setting, I wonder if you could please check my attached file and provide me with some suggestion. Thanks for your time!
Here is how I did for the interface. I followed exactly as described in this page (https://theory.cm.utexas.edu/vtsttools/ ... ation.html) to install VTST5 (the code part). I made the code change in the VASP main.F file, copied the files in the vtstcode5 files into VASP src file and modified the .objects file. Besides, I exported the path of vtstscripts in my bashrc file. I have no issue with the scripts like nebmake.pl, nebef.pl.
Thank you very much for your time and help!
I met some issues with CI-NEB implemented in VTST when I'm trying to calculate the ion diffusion energy barrier. The energy barrier is high and it seems that the image geometries are unrelaxed, which is out of expection (I used IBRION=3, POTIM =0 and IOPT = 1). After going through some posts in this forum, I think the issue might be the result of unsuccessful interface between VTST (VTST5) and VASP (VASP5.4.4). Specifically, there is no VTST version number and 'neb', 'spring' as expected in my OUTCAR files. I also tried the case to use the VASP optimizer (IBRION = 1, or IBRION =3 and POTIM = 0.1 with IOPT = 0), but I still got weird energy result. I checked the OUTCAR files, there are no 'VTST', 'neb' and 'spring' which I think there should be if CI-NEB is implemented successfully (if I understand correctly). Since I'm new to VTST and VASP, I'm not sure if that is the only reason or if there is any other reason or anything wrong with my parameter setting, I wonder if you could please check my attached file and provide me with some suggestion. Thanks for your time!
Here is how I did for the interface. I followed exactly as described in this page (https://theory.cm.utexas.edu/vtsttools/ ... ation.html) to install VTST5 (the code part). I made the code change in the VASP main.F file, copied the files in the vtstcode5 files into VASP src file and modified the .objects file. Besides, I exported the path of vtstscripts in my bashrc file. I have no issue with the scripts like nebmake.pl, nebef.pl.
Thank you very much for your time and help!
- Attachments
-
- NEB.zip
- (53.66 MiB) Downloaded 6899 times
Re: No relaxation during CI-NEB calculation
It doesn't seem like you have our vtstcode linked into your vasp binary.
Re: No relaxation during CI-NEB calculation
Hello professor Henkelman,
Thanks very much for your reply! I really appreciate it. Since I followed the steps exactly as described on https://theory.cm.utexas.edu/vtsttools/ ... ation.html, and I have tried several times. I'm not sure why I cannot link vtstcode into vasp. Could you please give some advice regarding my steps in the following. I chose vtstcode5 for vasp5.4.4.
I have three steps done as the attached snapsots show. First, I modified the main.F file. Second, I copied the files in vtstcode5 folder into my vasp src folder (I didn't copy the patch file into src folder). Third, I modified the .objects file. Besides, I have reported the path of vasp and vtstscript to my bashrc file. Professor, did I do anything wrong or miss anything?
Thanks very much for your time!
Thanks very much for your reply! I really appreciate it. Since I followed the steps exactly as described on https://theory.cm.utexas.edu/vtsttools/ ... ation.html, and I have tried several times. I'm not sure why I cannot link vtstcode into vasp. Could you please give some advice regarding my steps in the following. I chose vtstcode5 for vasp5.4.4.
I have three steps done as the attached snapsots show. First, I modified the main.F file. Second, I copied the files in vtstcode5 folder into my vasp src folder (I didn't copy the patch file into src folder). Third, I modified the .objects file. Besides, I have reported the path of vasp and vtstscript to my bashrc file. Professor, did I do anything wrong or miss anything?
Thanks very much for your time!
- Attachments
-
- modify .objects file.PNG (14.44 KiB) Viewed 114158 times
-
- copy the files into src folder.PNG (182.09 KiB) Viewed 114158 times
-
- change in main.F.PNG (10.57 KiB) Viewed 114158 times
Re: No relaxation during CI-NEB calculation
It's a little hard to debug without seeing your environment, but my first guess would be that you are pointing to a vasp binary that is different from what you built. As you say, you can grep for VTST in your OUTCAR, and if it is not present, it did not include our code. I know this is basic, but you can try "which vasp" or "which vasp_std" and see the binary that your shell is pointing to. If you are using a module system, check to see what is being loaded and maybe overriding what is in your path. You can also provide an explicit path in your submit script, or run directly. I know, these are all basic things, but that's where I would start.
Re: No relaxation during CI-NEB calculation
Hello professor,
Thanks for your quick response and comment!
I installed VASP under my own environment and did provide the explicit path in my submit script. Specifically, I have the src files with the path /username/software/vasp/vasp.5.4.4.pl2/src (where I copied the vtstcode5 files and made modifications in .objects). In the job submission file, I have 'mpirun -np 24 /username/software/vasp/vasp.5.4.4.pl2/bin/vasp_std'. In the bashrc file, I reported the same path of vasp bin as 'export PATH=/username/software/vasp/vasp.5.4.4.pl2/bin:$PATH' and 'export PATH=/username/software/vtst/vtstscripts-1033:$PATH'.
I totally understand it is hard to debug with limited information listed here. Thanks again for your great patience! Professor, I wonder if there is any other common reason for such issue.
Thanks for your quick response and comment!
I installed VASP under my own environment and did provide the explicit path in my submit script. Specifically, I have the src files with the path /username/software/vasp/vasp.5.4.4.pl2/src (where I copied the vtstcode5 files and made modifications in .objects). In the job submission file, I have 'mpirun -np 24 /username/software/vasp/vasp.5.4.4.pl2/bin/vasp_std'. In the bashrc file, I reported the same path of vasp bin as 'export PATH=/username/software/vasp/vasp.5.4.4.pl2/bin:$PATH' and 'export PATH=/username/software/vtst/vtstscripts-1033:$PATH'.
I totally understand it is hard to debug with limited information listed here. Thanks again for your great patience! Professor, I wonder if there is any other common reason for such issue.
Re: No relaxation during CI-NEB calculation
Ok, two more basic tests: make sure to do a "make clean" and be sure that the date of the binary is current. With no make clean, it could be doing nothing in the make processes, or if there was a problem with the build, there may be an old binary there which you are running.
Re: No relaxation during CI-NEB calculation
Professor, Thanks for your time and response. I'm sorry that I'm a bit confused about your comment here. I typed 'make veryclean' in the /username/software/vasp/vasp.5.4.4.pl2 (where the bin and src folders are listed, did I do in the right place?). After doing this, there is nothing in my 'build' file. Then I checked the date of vasp_bin with 'stat vasp_bin' and it has been shown that the modify time is not current. But the access time is really the one when I submitted the job. I'm not sure if it is the right thing to be done as you told me.
Besides, with the information you provided, I also find a case in this forum (viewtopic.php?t=3904) before, it is said that there are two 'chain.o' in the .objects file. I did find two 'chain.o' in my .objects file as well. I deleted 'chain.o' in the SOURCE_GPU, but I still didn't have 'VTST' in my OUTCAR file. I guess he solved the problem by doing this. BTW, do we need something like 'make all' after modifying .objects file or doing anyhing else?
Thank you very much professor!
Besides, with the information you provided, I also find a case in this forum (viewtopic.php?t=3904) before, it is said that there are two 'chain.o' in the .objects file. I did find two 'chain.o' in my .objects file as well. I deleted 'chain.o' in the SOURCE_GPU, but I still didn't have 'VTST' in my OUTCAR file. I guess he solved the problem by doing this. BTW, do we need something like 'make all' after modifying .objects file or doing anyhing else?
Thank you very much professor!
Re: No relaxation during CI-NEB calculation
Hello Professor,
Thanks for your great comments and patience! I worked it out!
Your comment on the date of vasp_std reminds me of the recompilation and source ~/.bashrc file. In order to make it clear for others who meet the same issue with the link between VTST and VASP. I'd like to summarize the procedure and add some notes here. Please feel free to add more comments or correction if I have anything wrong. I have VASP 5.4.4.
1. For VASP < 6, I attach VTSTcode5 to VASP; (I checked some posts, it is recommend to link VTST5 if VASP < 6)
2. Follow the installation instruction listed on https://theory.cm.utexas.edu/vtsttools/ ... ation.html.
Specifically, there are three main steps. (1). modify the VASP main.F file; (2). copy all the *.F files in the VTSTcode5 into VASP /src file (for VTSTcode5, don't need to copy the patch file); (3) modify the VASP /src .objects file.
Here, additional attention needs to be paid! There are two 'chain.o' in the .objects file, only modify the one in the variable SOURCE, but not change the one in the SOURCE_GPU!!!
3. Before recompile VASP, type 'make veryclean' in the VASP folder to clear the build folder;
4. Recompile VASP; after recompilation, check the date of vasp_std with 'stat vasp_std' in the bin file and make sure the date is the recompilation time; report the path to ~/.bashrc file;
5. Report the path for vtstscripts in ~/.bashrc file; 'source ~/.bashrc' before running NEB calculation;
6. Submit NEB calculation job. Within the job submission file, explicit path of vasp_std can be provided to make sure that the one after recompilation is used.
If link between VASP and VTST is successful, there will be version number of VTST reported with 'grep 'VTST' OUTCAR' command in the image folder.
Thanks for your great comments and patience! I worked it out!
Your comment on the date of vasp_std reminds me of the recompilation and source ~/.bashrc file. In order to make it clear for others who meet the same issue with the link between VTST and VASP. I'd like to summarize the procedure and add some notes here. Please feel free to add more comments or correction if I have anything wrong. I have VASP 5.4.4.
1. For VASP < 6, I attach VTSTcode5 to VASP; (I checked some posts, it is recommend to link VTST5 if VASP < 6)
2. Follow the installation instruction listed on https://theory.cm.utexas.edu/vtsttools/ ... ation.html.
Specifically, there are three main steps. (1). modify the VASP main.F file; (2). copy all the *.F files in the VTSTcode5 into VASP /src file (for VTSTcode5, don't need to copy the patch file); (3) modify the VASP /src .objects file.
Here, additional attention needs to be paid! There are two 'chain.o' in the .objects file, only modify the one in the variable SOURCE, but not change the one in the SOURCE_GPU!!!
3. Before recompile VASP, type 'make veryclean' in the VASP folder to clear the build folder;
4. Recompile VASP; after recompilation, check the date of vasp_std with 'stat vasp_std' in the bin file and make sure the date is the recompilation time; report the path to ~/.bashrc file;
5. Report the path for vtstscripts in ~/.bashrc file; 'source ~/.bashrc' before running NEB calculation;
6. Submit NEB calculation job. Within the job submission file, explicit path of vasp_std can be provided to make sure that the one after recompilation is used.
If link between VASP and VTST is successful, there will be version number of VTST reported with 'grep 'VTST' OUTCAR' command in the image folder.
Re: No relaxation during CI-NEB calculation
Awesome, great to hear!
Re: No relaxation during CI-NEB calculation
Thank you very much. Really appreciate your help, professor!