使用siesta做MD分子结构优化的过程中经常会遇到结构收敛不到指定力精度的问题,通过查看输出文件可以看出,在很多情况下,优化过程中体系的最大力经常会出现一个极小值,虽然这个值还没有达到我们预期的精度,但是这个结构相对原始结构已经有所改观,但是siesta程序只能给出最后的结构(不管是否收敛),所以有必要修改源程序,将优化过程中力最小的结构输出,作为进一步优化的初始结构。
设想:
f_old=cfmax
call opt_subroutine
f_new=cfmax
if(f_new<f_old)then
write(Current_Structure) to file
end if
在siesta-3.2中已经实现 ^_^
https://wap.sciencenet.cn/blog-276702-829650.html
下一篇:
split_DOS 文件加和