|
本帖最后由 冰释之川 于 2021-1-12 14:21 编辑
截止xtb-6.3.3版本(https://xtb-docs.readthedocs.io/en/latest/contents.html),GFN-xTB在开启PBC(Periodic Boundary Conditions)后所支持的几何优化引擎只有“engine=inertial”一种选择,而ASE(Atomic Simulation Environment) 作为比较流行的计算模拟接口程序(https://wiki.fysik.dtu.dk/ase/) 在开启PBC调用xtb程序进行几何优化时,能够支持多种优化算法(BFGS, BFGSLineSearch, LBFGS, LBFGSLineSearch, GPMin,MDMin and FIRE),因而如果想充分发挥GFN-xTB优化周期性体系的独特魅力,使用ASE和配套的xtb-python模块是一种较好的选择。(注意:xtb-6.3.3版本下GFN2-xTB尚不支持PBC)
之前笔者曾分享过《在ASE中使用xtb-6.3.0(pre.2)的py脚本》(http://bbs.keinsci.com/thread-17104-1-1.html),不过从xtb-6.3.0正式版开始,xtb-python模块与xtb主体分家,因而笔者特开此贴,给大家带来xtb-python模块的编译安装指南以及在ASE中调用计算的py脚本。
第〇部分:xtb的安装
直接下载编译后的xtb二进制文件即可,接下来就是设置xtb的环境变量了,具体安装细节参见《将Gaussian与Grimme的xtb程序联用搜索过渡态、产生IRC、做振动分析》(http://sobereva.com/421)
这里给出在~/.bashrc中需要设置的几个xtb环境变量:- # xtb-6.3.3
- export PATH=$PATH:/mnt/d/xtb_Linux/xtb-6.3.3/bin
- export XTBPATH=/mnt/d/xtb_Linux/xtb-6.3.3/share/xtb
- ulimit -s unlimited
复制代码
第一部分:ASE的安装
1. ASE的安装比较简单,可以直接使用pip3全自动无脑安装:
- $ pip3 install --upgrade --user numpy scipy matplotlib ase
复制代码 2. 在~/.bashrc中设置python环境变量:- # Python 3.6
- export PYTHONPATH=/home/yjy/.local/lib/python3.6/site-packages:$PYTHONPATH
- export PATH=$PATH:/home/yjy/.local/bin
复制代码
3. 调用ase命令进行测试(大约需要1分钟):
4. 如果ase运行正常,会看到如下信息:- ========== Summary ==========
- Number of tests 363
- Passes: 257
- Failures: 0
- Errors: 0
- Skipped: 106
- =============================
- Test suite passed!
- Time elapsed: 55.2 s
复制代码
第二部分:python-xtb的安装
这里分享利用源码编译安装python-xtb的详细流程,喜欢用conda安装的童靴请查阅官网上的conda安装说明(https://xtb-python.readthedocs.io/en/latest/installation.html)。
1. 安装intel全家桶:
具体过程参见《VASP的最简单的安装方法》(http://sobereva.com/455),这里不再赘述。
2. 安装 cmake和python3-dev (这里以CentOS系统为例):
- $ sudo yum install epel-release
- $ sudo yum install cmake python3-devel
复制代码 3. 下载并解压python-xtb源码包(https://github.com/grimme-lab/xtb-python/releases/tag/v20.2):
- $ tar -zxvf xtb-python-20.2.tar.gz
- $ cd xtb-python-20.2
复制代码 4. 安装cffi、numpy、meson和ninja模块:
- $ pip3 install cffi numpy meson ninja
复制代码 5. 更改xtb-6.3.3安装目录下的xtb.pc文件(参考地址:/mnt/d/xtb_Linux/xtb-6.3.3/lib64/pkgconfig):
将prefix=/ 改为 prefix=/mnt/d/xtb_Linux/xtb-6.3.3/
6. source intel全家桶环境变量并设置PKG_CONFIG_PATH环境变量:
- $ source /mnt/d/Intel_Linux/intel/parallel_studio_xe_2020.0.079/psxevars.sh
复制代码- $ export PKG_CONFIG_PATH=/mnt/d/xtb_Linux/xtb-6.3.3/lib64/pkgconfig
复制代码 7. 将xtb-6.3.3动态库环境变量写进~/.bashrc中并source ~/.bashrc
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/d/xtb_Linux/xtb-6.3.3/lib64
复制代码 8. 正式开始编译安装python-xtb:
- $ meson setup build --prefix=$PWD --default-library=shared
- $ ninja -C build install
- $ pip3 install -e .
复制代码 9. 验证安装:
你会看到如下信息:- Package Version Location
- --------------- ------------ -----------------------------------
- ase 3.19.1
- cffi 1.14.3
- matplotlib 3.2.1
- meson 0.56.0
- ninja 1.10.0.post2
- numpy 1.18.2
- pip 20.1.1
- pycparser 2.20
- pyparsing 2.4.7
- python-dateutil 2.8.1
- scipy 1.4.1
- wheel 0.34.2
- xtb-python 20.1 /home/yjy/softwares/xtb-python-20.2
复制代码 第15行信息表明python-xtb模块已安装完毕
第三部分:python-xtb的运行
1. 下载ASE_xtb_test.7z测试包并进入该目录,将test.sh脚本中的intel全家桶环境变量路径示例更改为实际对应的路径:
- #source /home/yjy/intel/parallel_studio_xe_2020/psxevars.sh
- #source /opt/intel2018/parallel_studio_xe_2018/psxevars.sh
- source /mnt/d/Intel_Linux/intel/parallel_studio_xe_2020.0.079/psxevars.sh
复制代码 2. 利用bash运行脚本:若python-xtb正常运行,你会看到如下信息:
- *** ASE program with xTB started at 2020-11-17 21:33:20 ***
- -> Task name: diamond
- -> Orthorhombic cell parameters: Cell([3.57, 3.57, 3.57])
- -> Total number of atoms in a cell: 8
- -> PBC dimensions: [ True True True]
- -> The atoms with following labels are fixed:
- [0, 1]
- Total energy of the initial geomertry:
- -457.167602 eV <==> -16.80059963 Hartree
- ~~~ Geometry optimization started... ~~~
- Step[ FC] Time Energy fmax
- *Force-consistent energies used in optimization.
- BFGSLineSearch: 0[ 0] 21:33:21 -457.167602* 1.8195
- BFGSLineSearch: 1[ 2] 21:33:22 -457.245735* 1.0806
- BFGSLineSearch: 2[ 4] 21:33:23 -457.276050* 0.4399
- BFGSLineSearch: 3[ 6] 21:33:24 -457.289570* 0.6919
- BFGSLineSearch: 4[ 8] 21:33:25 -457.297283* 0.2032
- BFGSLineSearch: 5[ 10] 21:33:26 -457.298051* 0.1078
- BFGSLineSearch: 6[ 12] 21:33:27 -457.298503* 0.0713
- BFGSLineSearch: 7[ 14] 21:33:28 -457.298911* 0.0564
- BFGSLineSearch: 8[ 16] 21:33:29 -457.299011* 0.0117
- BFGSLineSearch: 9[ 18] 21:33:30 -457.299016* 0.0017
- BFGSLineSearch: 10[ 20] 21:33:30 -457.299016* 0.0012
- BFGSLineSearch: 11[ 21] 21:33:31 -457.299016* 0.0005
- ~~~ Geometry optimization terminated... ~~~
- Total energy of the optimized geometry:
- -457.299016 eV <==> -16.80542900 Hartree
- *** ASE program with xTB ended at 2020-11-17 21:33:31 ***
- >> Elapsed time: 0 days 0 hours 0 minutes 10.0 seconds <<
复制代码
ASE_xtb_test.7z
(1.79 KB, 下载次数 Times of downloads: 119)
附录:ASE下调用xtb-python进行计算的py脚本包(实例)
Scripts_ASE_xtb.7z
(2.37 KB, 下载次数 Times of downloads: 122)
|
评分 Rate
-
查看全部评分 View all ratings
|