|
本帖最后由 wuzhiyi 于 2022-4-15 19:26 编辑
注:本功能已经正式进入Gromacs 2022,具体内容请关注官方消息,本帖仅作为留档。
最近sob老师分享了cp2k的安装方法 http://bbs.keinsci.com/thread-21608-1-1.html 和cp2k输入文件的生成方法 http://bbs.keinsci.com/thread-21668-1-1.html 让cp2k距离被普通人可以使用又进了一步。
其实Gromacs也可以和cp2k联动联动,进行QM/MM模拟。对于自由能的计算也可以使用plumed来进行增强采样,我想分享一下自己的安装方法,让更多的人可以体会到cp2k的乐趣。
本文中的Gromacs关于cp2k的联动插件预计与2022年正式加入Gromacs,不过根据我的经验,正常使用问题不大,至少在我的测试中,Gromacs/cp2k做真空下用plumed的伞状采样得到小分子二面角的势能面和cp2k下直接用plumed做伞状采样得到的势能面是一样的,如果大家遇到问题,也欢迎在这里反馈。
本教程在来自芬兰Jyväskylä University的Dmitry Morozov的协助下完成。
Plumed安装
先安装plumed,测试了2.7.2发行版(https://github.com/plumed/plumed2/releases/tag/v2.7.2), 理论上应该V2.7分支的都可以。
放在/Users/formidable/src/解压生成plumed2-2.7
然后直接用configure安装- ./configure --prefix=/usr/local/plumed/2.7.2
- make -j24
- make install
复制代码 用module的同学可以复制module文件方便设置环境变量
- cp /usr/local/plumed/2.7.2/lib/plumed/modulefile ~/privatemodules/plumed/2.7.2
复制代码
cp2k安装
本教程默认你已经有openblas/lapack/openMPI,在下载完cp2k 8.1后,解压在/Users/formidable/src
进入/Users/formidable/src/cp2k-8.1/tools/toolchain
用toolchain安装依赖,可以根据自己的需求增减。
- ./install_cp2k_toolchain.sh --with-libxsmm=install --with-elpa=install --with-libxc=install --with-libint=install --with-gsl=no --with-libvdwxc=no --with-spglib=no --with-hdf5=no --with-spfft=no --with-cosma=no --with-libvori=no --with-sirius=no --with-scalapack=install --with-openblas=system --with-fftw=install --with-openmpi=system --with-plumed=system
复制代码 然后将生成的依赖复制到根目录进行安装- cp -r /Users/formidable/src/cp2k-8.1/tools/toolchain/install/arch/* /Users/formidable/src/cp2k-8.1/arch
- source /Users/formidable/src/cp2k-8.1/tools/toolchain/install/setup
复制代码 这里其实都和sob老师推荐的一样http://bbs.keinsci.com/thread-21608-1-1.html,不过因为Gromacs要将cp2k作为库来调用,所以要编译cp2k库。
- make ARCH=local VERSION="ssmp psmp" libcp2k
复制代码 Gromacs安装
最后我们进行gromacs的安装,从这里下载文件https://gitlab.com/gromacs/gromacs/-/tree/2021.2-qmmm。
解压后生产文件/Users/formidable/src/gromacs-2021.2-qmmm
首先对gromacs打上plumed补丁。plumed patch -p
然后选择2021版。
然后进行编译- mkdir build
- cd build
- cmake .. -DBUILD_SHARED_LIBS=OFF -DGMXAPI=OFF -DGMX_INSTALL_NBLIB_API=OFF -DGMX_DOUBLE=ON -DGMX_FFT_LIBRARY=fftw3 -DGMX_CP2K=ON -DCP2K_DIR="/Users/formidable/src/cp2k-8.1/lib/local/psmp" -DCP2K_LIBS="-Wl,--enable-new-dtags -pthread -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/fftw-3.3.8/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libxc-4.3.4/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/libxsmm-1.16.1/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/scalapack-2.1.0/lib' -L'/Users/formidable/src/cp2k-8.1/tools/toolchain/install/elpa-2020.05.001/lib' -lelpa_openmp -lscalapack -lxsmmf -lxsmm -ldl -lpthread -lxcf03 -lxc -lint2 -lfftw3_mpi -lfftw3 -lfftw3_omp -lmpi -lopenblas -lstdc++" -DGMX_MPI=on -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2021.2_QMMM
- make -j24
- make install
复制代码 这样编译出来的文件就可以使用plumed做增强采样,用cp2k做QM区域的运算了。
mdp设置
使用gmx make_ndx来定义QM区域,比如我们将一些原子归在一起命名为QMatoms(qmmm-qmgroup = QMatoms),这些原子的电荷加起来是0(qmmm-qmcharge = 0),自选多重度是1(qmmm-qmmultiplicity = 1),目前有预设的级别PBE/DZVP-MOLOPT和BLYP/DZVP-MOLOPT(qmmm-qmmethod = PBE或者qmmm-qmmethod = BLYP)。
这里提供一个mdp的例子。
; CP2K QMMM parameters
qmmm-active = true
qmmm-qmgroup = QMatoms
qmmm-qmmethod = PBE
qmmm-qmcharge = 0
qmmm-qmmultiplicity = 1
运行grompp之后会生成对应的cp2k的inp文件,可以看看默认的设置是不是自己想要的。
当然也可以自己提供模版(cp2k.inp)。
; CP2K QMMM parameters
qmmm-active = true
qmmm-qmgroup = QMatoms
qmmm-qmmethod = INPUT
qmmm-qminputfile = cp2k.inp
教程
简单的教程可以在这里下载(https://github.com/bioexcel/gromacs_cp2k_tutorial),也可以听这个模块的作者讲解(https://bioexcel.eu/webinar-mult ... terface-2020-12-08/)。
|
评分 Rate
-
查看全部评分 View all ratings
|