计算化学公社

标题: Gromacs与cp2k联动使用plumed做QM/MM增强采样 [打印本页]

作者
Author:
wuzhiyi    时间: 2021-3-2 05:22
标题: Gromacs与cp2k联动使用plumed做QM/MM增强采样
本帖最后由 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安装
  1. ./configure --prefix=/usr/local/plumed/2.7.2
  2. make -j24
  3. make install
复制代码
用module的同学可以复制module文件方便设置环境变量
  1. 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安装依赖,可以根据自己的需求增减。
  1. ./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
复制代码
然后将生成的依赖复制到根目录进行安装
  1. cp -r /Users/formidable/src/cp2k-8.1/tools/toolchain/install/arch/* /Users/formidable/src/cp2k-8.1/arch
  2. source /Users/formidable/src/cp2k-8.1/tools/toolchain/install/setup
复制代码
这里其实都和sob老师推荐的一样http://bbs.keinsci.com/thread-21608-1-1.html,不过因为Gromacs要将cp2k作为库来调用,所以要编译cp2k库。
  1. 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版。

然后进行编译
  1. mkdir build
  2. cd build
  3. 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
  4. make -j24
  5. 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/)。






作者
Author:
nianbin    时间: 2021-3-2 19:13
老师,请问能不能在此基础之上多出几个实例教程,让初学者跟着尝试一下,多谢
作者
Author:
wuzhiyi    时间: 2021-3-2 21:36
nianbin 发表于 2021-3-2 19:13
老师,请问能不能在此基础之上多出几个实例教程,让初学者跟着尝试一下,多谢

你是想要什么样的例子啊?

这里已经提供了真空小分子对应AIMD,
小分子在水里
和蛋白质在水里的激发态

感觉好像也没别情况了?
作者
Author:
Daniel_Arndt    时间: 2021-3-3 08:28
有一个问题想了解一下,我看到你编译gromacs时使用了“-DGMX_MPI=on”,想起来plumed编译时是有个“--enable-mpi”的。你的这个教程,需要编译plumed时指定“--enable-mpi”吗?
作者
Author:
wuzhiyi    时间: 2021-3-3 16:54
Daniel_Arndt 发表于 2021-3-3 08:28
有一个问题想了解一下,我看到你编译gromacs时使用了“-DGMX_MPI=on”,想起来plumed编译时是有个“--enabl ...

是的 不过只要找得到MPI版本的编译器 plumed会优先用MPI版本的编译器
作者
Author:
k64_cc    时间: 2021-3-3 18:26
不过CP2K应该是支持读GMX的input file来着?

这么联用不累吗
作者
Author:
wuzhiyi    时间: 2021-3-3 21:46
k64_cc 发表于 2021-3-3 18:26
不过CP2K应该是支持读GMX的input file来着?

这么联用不累吗

支持么?
我看gromacs的支持在to-do里啊?https://www.cp2k.org/dev:todo
而且8.1的文档里https://manual.cp2k.org/trunk/CP ... FIELD.html#PARMTYPE
没有gromacs啊
作者
Author:
k64_cc    时间: 2021-3-4 11:53
wuzhiyi 发表于 2021-3-3 21:46
支持么?
我看gromacs的支持在to-do里啊?https://www.cp2k.org/dev:todo
而且8.1的文档里https://manu ...

那就是支持amber?反正就转个格式的事。
作者
Author:
azero    时间: 2021-3-5 15:23
请教 cp2k +GMX+plumed 做QM/MM硬件配置如何, 需要较多核心的 CPU么
还是说直接参考sob老师的装机配置就可以,普通CPU+较好显卡
作者
Author:
wuzhiyi    时间: 2021-3-5 18:30
azero 发表于 2021-3-5 15:23
请教 cp2k +GMX+plumed 做QM/MM硬件配置如何, 需要较多核心的 CPU么
还是说直接参考sob老师的装机配置就 ...

不需要显卡,cp2k+GMX主要运算瓶颈在cp2k那里,MM部分的耗时估计0.1%都不到,按cp2k的需求配置就行。
作者
Author:
nianbin    时间: 2021-3-6 02:08
老师,请问下我在编译gmx这一步分时候提示我Target "cmTC_21d74" requires the language dialect "CXX17" , but CMake does
  not know the compile flags to use to enable it. 应该咋整
作者
Author:
wuzhiyi    时间: 2021-3-7 01:40
nianbin 发表于 2021-3-6 02:08
老师,请问下我在编译gmx这一步分时候提示我Target "cmTC_21d74" requires the language dialect "CXX17" , ...

你正常编译gromacs可以么?
作者
Author:
nianbin    时间: 2021-3-7 18:03
是可以的,我现在系统里有gmx2018.8

作者
Author:
wuzhiyi    时间: 2021-3-9 05:02
nianbin 发表于 2021-3-7 18:03
是可以的,我现在系统里有gmx2018.8

可以试试装最新的Gromacs 2021.1么?
作者
Author:
nianbin    时间: 2021-3-9 19:30
好的,多谢老师,我试试
作者
Author:
xuzixing    时间: 2021-3-16 12:38
编译了2021.1版本,Plumed补丁没有加入,编译完成后发现使用教程命令gmx_mpi_d grompp -f em-qmmm.mdp -p topol.top -c stilbene-sol.pdb -n index.ndx -o stilbene-sol-opt.tpr,无法识别 Unknown left-hand 'qmmm-active' in parameter file这个参数?是不是编译的问题
作者
Author:
lyj714    时间: 2021-3-16 12:55
xuzixing 发表于 2021-3-16 12:38
编译了2021.1版本,Plumed补丁没有加入,编译完成后发现使用教程命令gmx_mpi_d grompp -f em-qmmm.mdp -p t ...

正式版2021.x系列根本就还没有注入cp2k做QMMM的补丁。这个项目目前还在开发中。我个人认为现在还没必要使用这个,因为是不完善的,可能有很多隐藏bug。
如果要尝鲜,理应下载具备cp2k补丁的那个分支源码(一楼提供的那个)
作者
Author:
xuzixing    时间: 2021-3-16 12:59
lyj714 发表于 2021-3-16 12:55
正式版2021.x系列根本就还没有注入cp2k做QMMM的补丁。这个项目目前还在开发中。我个人认为现在还没必要使 ...

原来如此,感谢博主,我下载这个版本试试https://gitlab.com/aracsmd/groma ... 6b2d252dbd224a45a1c
作者
Author:
Chris——szk    时间: 2021-4-8 01:32
老师您好,我想问一下按照上面的步骤都已经安装好了,可是却出现说这样的错误:unknownleft hand:qmm-qmmultiplicity in parameter,请问该如何解决呢,谢谢老师
作者
Author:
wuzhiyi    时间: 2021-4-8 03:40
Chris——szk 发表于 2021-4-8 01:32
老师您好,我想问一下按照上面的步骤都已经安装好了,可是却出现说这样的错误:unknownleft hand:qmm-qmmu ...

你安装的是https://gitlab.com/aracsmd/gromacs/-/commits/2021.1-plumed-qmmm下载的么?
作者
Author:
Chris——szk    时间: 2021-4-8 11:15
wuzhiyi 发表于 2021-4-8 03:40
你安装的是https://gitlab.com/aracsmd/gromacs/-/commits/2021.1-plumed-qmmm下载的么?

是的,老师,一开始没有,但是后来重新下载了上面这个链接上的,然后根据一些cmake那一步的提示,我把cmake那一步修改成如下内容了:cmake .. -DGMX_INSTALL_NBLIB_API=OFF -DBUILD_SHARED_LIBS=OFF -DGMXAPI=OFF -DFFTW_LIBRARY="/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/fftw-3.3.8/lib/libfftw3.so" -DFFTW_INCLUDE_DIR="/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/fftw-3.3.8/include" -DGMX_BLAS_USER="/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/openblas-0.3.10/lib/libopenblas.a" -DGMX_LAPACK_USER="/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/openblas-0.3.10/lib/libopenblas.a" -DCMAKE_CXX_FLAGS="-I/home/szk/gromacs_QMMM/cp2k/src/start" -DCMAKE_CXX_STANDARD_LIBRARIES="-Wl,--allow-multiple-definition -pthread -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/fftw-3.3.8/lib -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/libxc-4.3.4/lib -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/libxsmm-1.16.1/lib -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/scalapack-2.1.0/lib -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/openblas-3.10.0/lib -L/home/szk/gromacs_QMMM/cp2k/lib/local/psmp/exts/dbcsr -L/home/szk/gromacs_QMMM/cp2k/tools/toolchain/install/elpa-2020.05.001/lib -L/home/szk/gromacs_QMMM/cp2k/lib/local/psmp -lcp2k -ldbcsr -lelpa_openmp -lscalapack -lxsmmf -lxsmm -ldl -lpthread -lxcf03 -lxc -lint2 -lfftw3_mpi -lfftw3 -lfftw3_omp -lstdc++ -lgfortran" -DGMX_DOUBLE=ON -DGMX_MPI=on -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/,但是不知为什么就还是不行,就是还是提示出来无法识别mdp里的qmm啥的
作者
Author:
Chris——szk    时间: 2021-4-8 12:02
wuzhiyi 发表于 2021-4-8 03:40
你安装的是https://gitlab.com/aracsmd/gromacs/-/commits/2021.1-plumed-qmmm下载的么?

老师你好,刚刚我修改了gromacs的版本在试了一次,在make这一步出现这样子的报错应该如何解决呢:libxsmm_gemm.c:(.text.__real_sgemm_+0x1): undefined reference to `sgemm_'
collect2: error: ld returned 1 exit status
make[2]: *** [src/programs/CMakeFiles/gmx.dir/build.make:98: bin/gmx_mpi_d] Error 1
make[1]: *** [CMakeFiles/Makefile2:5485: src/programs/CMakeFiles/gmx.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

作者
Author:
wuzhiyi    时间: 2021-4-9 20:03
Chris——szk 发表于 2021-4-8 12:02
老师你好,刚刚我修改了gromacs的版本在试了一次,在make这一步出现这样子的报错应该如何解决呢:libxsmm ...

我试了试 好像不能复现
1. 你的cp2k可以正常运行嘛?regtest有没有应该过没有过的状态?
2. 可以试试cp2k不用xsmm么?看看别的部分能不能顺利安装
作者
Author:
lkipouy    时间: 2021-4-16 11:37
老师您好,我想请问一下我的现在已经安装了plumed和gromacs,如果我要安装CP2K的话,plumed和gromacs我需要重新编译吗
作者
Author:
wuzhiyi    时间: 2021-4-16 17:05
lkipouy 发表于 2021-4-16 11:37
老师您好,我想请问一下我的现在已经安装了plumed和gromacs,如果我要安装CP2K的话,plumed和gromacs我需要 ...

plumed不需要
但gromacs需要
作者
Author:
Chris——szk    时间: 2021-4-25 19:07
想问一下老师,在运行的egfp-spectrue中的tutorial的时候一直出现以下的报错是因为什么原因呢,谢谢老师了
C:\Users\chris\Pictures\Saved Pictures\1.png
作者
Author:
wuzhiyi    时间: 2021-4-25 20:26
Chris——szk 发表于 2021-4-25 19:07
想问一下老师,在运行的egfp-spectrue中的tutorial的时候一直出现以下的报错是因为什么原因呢,谢谢老师了
...

哦 因为一些原因 必须要MPI>2才行
作者
Author:
Chris——szk    时间: 2021-7-22 21:02
老师您好,又来麻烦和请教您了,我在最后一步用gmx_cp2k grompp 来生成cp2k的输入文件inp的时候一直会提示segemantation fault段错误应该如何解决呢,谢谢老师啦
作者
Author:
Chris——szk    时间: 2021-7-22 21:03
已经修改过蛋白质的初始结构,也检查了一遍体系的问题了,应该是没有问题的,也没有崩溃emmm

作者
Author:
wuzhiyi    时间: 2021-7-22 21:17
Chris——szk 发表于 2021-7-22 21:03
已经修改过蛋白质的初始结构,也检查了一遍体系的问题了,应该是没有问题的,也没有崩溃emmm

是还是崩溃,还是也没有崩溃?
作者
Author:
Chris——szk    时间: 2021-7-23 14:41
wuzhiyi 发表于 2021-7-22 21:17
是还是崩溃,还是也没有崩溃?

没有崩溃,就是一直提示这样子的段错误,我发现在官方中提供的文档当中它也同时提供了力场文件,不知道是否需要按照他这样对于具体的体系提供具体的参数?然后体系在前面能量最小化和限制性模拟的时候都没有提示这样子的段错误,再确立好QMatoms之后grompp那一步就发生了段错误相关的提示吧,不知道gromacs和cp2k在做模拟之前是否有必要加上nvt和npt系综的模拟呢,我在采用那个这样子的方式通过PDB进行简单的qm优化的时候也会出现这样子的段错误的提示emm,谢谢老师解答,不知道是不是盒子的设置上的不合理呢emmm,我用的是WSL2的子系统,谢谢老师哇
作者
Author:
@Bruce    时间: 2021-8-25 10:13
wuzhiyi 发表于 2021-7-22 21:17
是还是崩溃,还是也没有崩溃?

您好。同样的,我使用自己的文件时出现“吐核,段错误“,但是使用例子:小分子在水中 的文件并无问题。我的体系比该例子多了上百个水分子。

作者
Author:
wuzhiyi    时间: 2021-8-30 17:40
@Bruce 发表于 2021-8-25 10:13
您好。同样的,我使用自己的文件时出现“吐核,段错误“,但是使用例子:小分子在水中 的文件并无问题。 ...

能不能把文件和具体的命令提供给我一下?我测试一下,谢谢。
作者
Author:
wuzhiyi    时间: 2021-8-30 17:40
Chris——szk 发表于 2021-7-23 14:41
没有崩溃,就是一直提示这样子的段错误,我发现在官方中提供的文档当中它也同时提供了力场文件,不知道是 ...

能不能把文件和具体的命令提供给我一下?我测试一下,谢谢。
作者
Author:
HZW    时间: 2021-8-31 09:58
你好,老师,Plumed安装的时候不需要安装其它额外的库吗?为啥我最近编译Plumed一直弄不上。
作者
Author:
@Bruce    时间: 2021-8-31 16:49
wuzhiyi 发表于 2021-8-30 17:40
能不能把文件和具体的命令提供给我一下?我测试一下,谢谢。

命令:
gmx_mpi_d grompp -f em-qmmm.mdp -c gmx-cp2k-qmmm-test.gro -p system.top -n index.ndx -o em-qmmm.tpr
谢谢!

作者
Author:
wuzhiyi    时间: 2021-9-6 20:53
本帖最后由 wuzhiyi 于 2021-9-6 23:43 编辑
@Bruce 发表于 2021-8-31 16:49
命令:
gmx_mpi_d grompp -f em-qmmm.mdp -c gmx-cp2k-qmmm-test.gro -p system.top -n index.ndx -o em ...

非常感谢,确实是一个问题,金和银时比较蛋疼的金属,所以一开始没有收录进去。我和开发者联系了一下,把这两个金属给加进去,请参照第一页下载最新的gromacs进行编译。不过你需要自己修改生成的inp文件,来给他加上合适的基组和peusdopotentials,千万别用默认的。


作者
Author:
wuzhiyi    时间: 2021-9-6 20:54
HZW 发表于 2021-8-31 09:58
你好,老师,Plumed安装的时候不需要安装其它额外的库吗?为啥我最近编译Plumed一直弄不上。

一般来说不需要。。。plumed编译不了可能有很多的问题。。。
作者
Author:
HZW    时间: 2021-9-6 21:14
wuzhiyi 发表于 2021-9-6 20:54
一般来说不需要。。。plumed编译不了可能有很多的问题。。。

我看官方安装教程说强烈建议安装blas和lapack这两个库,可以提升速度。好像最新版的现在自带这两个库
作者
Author:
@Bruce    时间: 2021-9-7 17:34
wuzhiyi 发表于 2021-9-6 20:53
非常感谢,确实是一个问题,金和银时比较蛋疼的金属,所以一开始没有收录进去。我和开发者联系了一下,把 ...

非常感谢!刚卸载重装,并顺利运行。
作者
Author:
yxp212121    时间: 2021-11-1 23:31
请问老师,openblas、lapack和openMPI必须要事先装好吗,可不可以用install_cp2k_toolchain.sh一起安装?
如果我事先只安装了openMPI,cp2k8.2安装是正常的,但gromacs2021.2安装就会报错
(, 下载次数 Times of downloads: 108)
这是怎么回事?
作者
Author:
Aridea    时间: 2021-11-21 20:36
大佬,请教几个问题呀~
1. 我调用cp2k plumed2.62做了well temper mtd,然后单独去github下载安装了同版本的plumed2.6.2来后处理得到的HILLS文件。执行的plumed sum_hills --hills HILLS得到了fes.dat文件。我看hill和convar文件里定义的两个distance的cv还是0-1.5的变化区间,处理后的得到的fes.dat两个cv变成了-0.8-1.7了,这个距离cv处理后出现负值是啥情况呀.
2.上面单独下载安装plumed2.6.2的配置是不是和cp2k编译toolchain安装的plumed配置是不一样的导致的后处理有问题呀,请问cp2k+plumed得到的文件有啥办法调用cp2k里的plumed做后处理嘛
3.我看plumed的默认长度单位为nm 能量都是kJ/mol啥的,cp2k里默认单位长度为A,能量为hartree。这里plumed.dat的输入文件里如果我没指定统一到cp2k的单位,而是用plumed默认的单位出入的参数。最后计算会不会有问题啊,大佬的单位一般是怎么处理的呢,要不要把plumed里单位指定并统一到cp2k一致呢
4. plumed官网教程里我一直不明白reweight和histrogram到底是干啥的这个和直接用sum_hills得到的fes.dat有啥区别呢,如果想得到well temper mtd两个cv的自由能面,后处理怎么输入呢
5.在plumed.dat的输入里我定义了两个距离cv的upper和lower wall。正常得到的Hills和COLVAR文件里的两个cv值也的确基本落在我设定的两个wall的范围内。但是我查看xyz轨迹和普通AIMD轨迹有点像。明显两个距离cv没有达到Hills里的地方呀,例如CV1 指向A B原子的distance,为啥有时候CV1距离都0了这受力上不可能啊,而且轨迹里并没有这么近的距离轨迹显示呀
6.下次再问吧 ,怕把大佬吓跑不会我了,
救救我~~~~救救我~~
作者
Author:
wuzhiyi    时间: 2021-11-22 18:19
1. 我调用cp2k plumed2.62做了well temper mtd,然后单独去github下载安装了同版本的plumed2.6.2来后处理得到的HILLS文件。执行的plumed sum_hills --hills HILLS得到了fes.dat文件。我看hill和convar文件里定义的两个distance的cv还是0-1.5的变化区间,处理后的得到的fes.dat两个cv变成了-0.8-1.7了,这个距离cv处理后出现负值是啥情况呀.

因为自由能是用格点算的,所以格点的分布会对上下限有影响,用--min和--max手动设置上下限。

2.上面单独下载安装plumed2.6.2的配置是不是和cp2k编译toolchain安装的plumed配置是不一样的导致的后处理有问题呀,请问cp2k+plumed得到的文件有啥办法调用cp2k里的plumed做后处理嘛

cp2k装的plumed在cp2k-8.2/tools/toolchain/build/plumed-2.6.2

3.我看plumed的默认长度单位为nm 能量都是kJ/mol啥的,cp2k里默认单位长度为A,能量为hartree。这里plumed.dat的输入文件里如果我没指定统一到cp2k的单位,而是用plumed默认的单位出入的参数。最后计算会不会有问题啊,大佬的单位一般是怎么处理的呢,要不要把plumed里单位指定并统一到cp2k一致呢

不会。你既可以在plumed里设置plumed单位,也可以在cp2k设置cp2k单位。

4. plumed官网教程里我一直不明白reweight和histrogram到底是干啥的这个和直接用sum_hills得到的fes.dat有啥区别呢,如果想得到well temper mtd两个cv的自由能面,后处理怎么输入呢

reweight 是你采样用一个CV,但想得到另一个CV的自由能平面是用的。histrogram你要算啥?你要得到你采样的CV对应的自由能直接用sum_hills就行啊,你还要啥输入?

5.在plumed.dat的输入里我定义了两个距离cv的upper和lower wall。正常得到的Hills和COLVAR文件里的两个cv值也的确基本落在我设定的两个wall的范围内。但是我查看xyz轨迹和普通AIMD轨迹有点像。明显两个距离cv没有达到Hills里的地方呀,例如CV1 指向A B原子的distance,为啥有时候CV1距离都0了这受力上不可能啊,而且轨迹里并没有这么近的距离轨迹显示呀

如果采样没到的话,自由能按照已有的高斯进行外推得到。
作者
Author:
Aridea    时间: 2021-11-28 23:58
wuzhiyi 发表于 2021-11-22 18:19
1. 我调用cp2k plumed2.62做了well temper mtd,然后单独去github下载安装了同版本的plumed2.6.2来后处理得 ...

今天才看到,大佬回复我论坛没消息提醒,多谢大佬指点,我用cp2k自带的MTD和plumed做了两次测试,两个距离cv范围100ps最后得到的fes结果很不一样特别奇怪:
1.plumed sum_hills得到的两个cv和file.fes做的图是这里灰色的这个,感觉好多空白区域是不是还没跑出这个hill,然后其他地方没采样到呀,按理说100ps时间不少了,不知道输入里那些参数可以进一步改进呢
uwall: UPPER_WALLS ARG=CV1,CV2 AT=1.5,1.5 KAPPA=1000.0,1000.0 EXP=2,2 EPS=1,1 OFFSET=0,0
lwall: LOWER_WALLS ARG=CV1,CV2 AT=0.10,0.10 KAPPA=1000.0,1000.0 EXP=2,2 EPS=1,1 OFFSET=0,0
metad: METAD ARG=CV1,CV2 PACE=200 HEIGHT=1.2 SIGMA=0.35,0.35 FILE=HILLS BIASFACTOR=12 TEMP=298.15 STRIDE=1



2.cp2k自带的MTD,官网后处理py脚本生成的,脚本里大概是对COLVAR的那个文件做的histogram然后log后*-kt处理的,是这里彩虹色的图,像素感特明显。不知道下面那些参数可以改进呢

100000fs, 1fs, NT_HILLS 100, WW 1.5E-3,  SCALE 0.3, DIRECTION WALL_PLUS下面所有的K [kcalmol] 2.0


3.另一个问题就是plumed和cp2k这里后处理fes似乎不太一样。plumed的well-temper的后处理sum_hill之后得到的fes.dat直接作图就是需要的fes嘛?
cp2k官网脚本的对histrogram统计处理后的fes能量似乎对于一个体系里几个并行算例(掺杂元素不同)最后得到的自由能bar的range几乎是一样的就很难理解,正常不同系统自由能面应该有明显差别的吧
还有cp2k和plumed的MTD里的fes数值差异挺大的,例如这两个图里plumed 自由能bar大概80kJ/mol≈0.8eV, 而cp2k处理fes的自由能bar范围大概只有0.24eV,这个怎么理解好呀

问题比较多,给大佬递阔落了~

作者
Author:
xj1318850094    时间: 2021-12-10 00:31
Chris——szk 发表于 2021-4-8 12:02
老师你好,刚刚我修改了gromacs的版本在试了一次,在make这一步出现这样子的报错应该如何解决呢:libxsmm ...

您好,编译时我也出现了同样的错误,请问您是怎样解决的呢
作者
Author:
yjb    时间: 2021-12-18 14:50
Steepest Descents:
   Tolerance (Fmax)   =  1.00000e+01
   Number of steps    =         5000
[localhost:15931] *** An error occurred in MPI_Comm_rank
[localhost:15931] *** reported by process [4004708353,0]
[localhost:15931] *** on communicator MPI_COMM_WORLD
[localhost:15931] *** MPI_ERR_COMM: invalid communicator
[localhost:15931] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[localhost:15931] ***    and potentially your MPI job)

老师您好,我按您的要求一模一样安装了GMX和cp2k的版本,但是在run QM/MM任务的时候报错了。
作者
Author:
yjb    时间: 2021-12-19 22:24
wuzhiyi 发表于 2021-4-25 20:26
哦 因为一些原因 必须要MPI>2才行

感谢 终于解决了这个问题,能跑起来了!
作者
Author:
miblyf    时间: 2022-1-26 13:22
本帖最后由 miblyf 于 2022-1-26 13:27 编辑

请问各位老师,我用32核算https://github.com/bioexcel/gromacs_cp2k_tutorial上的优化例子(stilbene_water),需要3天左右,是不是我编译的有问题呢?大家算起来很快吗?
作者
Author:
cmd27    时间: 2022-3-25 10:13
老师您好,我现在装了cp2k9.1, gromacs-2021.2-qmmm,  plumed-2.7.4  ,但是我最后选择gromacs版本的时候却看不到我的gromacs-2021.2版本?您有什么好的建议嘛?

(, 下载次数 Times of downloads: 146)
作者
Author:
函数与激情    时间: 2022-4-7 09:31
请问下楼主,是不是目前GMX接口CP2K的QM/MM方法,CP2K能选择的泛函只有PBE和BLYP呀,以后会更新吗?
作者
Author:
wuzhiyi    时间: 2022-4-15 19:22
函数与激情 发表于 2022-4-7 09:31
请问下楼主,是不是目前GMX接口CP2K的QM/MM方法,CP2K能选择的泛函只有PBE和BLYP呀,以后会更新吗?

以后是会更新 不过你可以直接给template 然后就可以自定义cp2k的所有设置了
作者
Author:
yjb    时间: 2022-4-22 01:38
老师,您好,我用最新版本的gromacs22来链接cp2k8.1,cmake成功后,在make -j的过程中,报错。

[ 26%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/qmmm/qmmmforceprovider.cpp.o
/home/test/soft/gromacs-2022/src/gromacs/applied_forces/qmmm/qmmmforceprovider.cpp:56:10: fatal error: <libcp2k.h>: No such file or directory
   56 | #include "<libcp2k.h>"

请问这个问题如何解决呢
作者
Author:
@Bruce    时间: 2022-5-6 21:27
本帖最后由 @Bruce 于 2022-5-6 21:29 编辑
yjb 发表于 2022-4-22 01:38
老师,您好,我用最新版本的gromacs22来链接cp2k8.1,cmake成功后,在make -j的过程中,报错。

[ 26%] B ...

确保编译cp2k时是成功编译了cp2k库, make -j ARCH=local VERSION="ssmp psmp" libcp2k注意:编译cp2k时,首先执行make -j ARCH=local VERSION="ssmp psmp" ,再执行 make -j ARCH=local VERSION="ssmp psmp" libcp2k,这样既有cp2k库,又有cp2k的执行程序(前面两个make过程的执行顺序不能颠倒)

作者
Author:
yjb    时间: 2022-5-7 12:27
@Bruce 发表于 2022-5-6 21:27
确保编译cp2k时是成功编译了cp2k库, make -j ARCH=local VERSION="ssmp psmp" libcp2k注意:编译cp2k时 ...

谢谢老师 明白了
作者
Author:
vantasyoscar    时间: 2022-6-8 09:50
nianbin 发表于 2021-3-6 02:08
老师,请问下我在编译gmx这一步分时候提示我Target "cmTC_21d74" requires the language dialect "CXX17" , ...

您好,我在cmake的时候出现了同样的错误,请问现在这个问题您解决了吗。我看网上说是gcc版本不够的原因,但是我gcc是9.3.0,不应该不够哇
作者
Author:
yjb    时间: 2022-12-8 19:34
(base) gmx_mpi_d mdrun -s qmmm.tpr
      :-) GROMACS - gmx mdrun, 2022.3-plumed_2.8.1 (double precision) (-:

Executable:   /home/jbyin/soft/gromacs-2022.3/bin/gmx_mpi_d
Data prefix:  /home/jbyin/soft/gromacs-2022.3
Working dir:  /home/jbyin/gmx/protein/1BZI/qmmm
Command line:
  gmx_mpi_d mdrun -s qmmm.tpr


Back Off! I just backed up md.log to ./#md.log.8#
Reading file qmmm.tpr, VERSION 2022.3-plumed_2.8.1 (double precision)
Changing nstlist from 10 to 100, rlist from 1.2 to 1.2

comm-mode angular will give incorrect results when the comm group partially crosses a periodic boundary
Using 1 MPI process
Using 128 OpenMP threads


Back Off! I just backed up traj_comp.xtc to ./#traj_comp.xtc.7#

Back Off! I just backed up ener.edr to ./#ener.edr.7#
starting mdrun 'Generic title'
200000 steps,    200.0 ps.
[localhost:421217] *** Process received signal ***
[localhost:421217] Signal: Segmentation fault (11)
[localhost:421217] Signal code: Address not mapped (1)
[localhost:421217] Failing at address: 0x7f97f5f869f0
Segmentation fault (core dumped)
请问老师这个报错是怎么回事啊
作者
Author:
Lightzfp    时间: 2023-4-5 22:45
提问,编译成功后,看上去一切正常,但是无法用grompp生成inp文件,这是怎么回事
作者
Author:
ldx022    时间: 2023-12-29 13:59
请问老师,不需要cp2k只需要plumed外加gromacs,目的是为了用gpu(cuda)跑metaD,能否直接沿用您一楼给的示例来安装呢?谢谢!
作者
Author:
Huschein    时间: 2023-12-29 14:35
ldx022 发表于 2023-12-29 13:59
请问老师,不需要cp2k只需要plumed外加gromacs,目的是为了用gpu(cuda)跑metaD,能否直接沿用您一楼给的 ...

GPU加速不了metad,建议就按CPU的去跑就行
作者
Author:
ldx022    时间: 2023-12-29 14:56
Huschein 发表于 2023-12-29 14:35
GPU加速不了metad,建议就按CPU的去跑就行

请问老师GPU加速不了metaD,是由metaD的原理决定的吗?
作者
Author:
Huschein    时间: 2023-12-30 12:56
ldx022 发表于 2023-12-29 14:56
请问老师GPU加速不了metaD,是由metaD的原理决定的吗?

人家根本就没写GPU加速的metad,你就算用GPU也是对MD部分加速,瓶颈还在Metad
作者
Author:
龙井茶    时间: 2024-12-25 14:17
/usr/bin/ld: cannot find -lcp2k: No such file or directory
/usr/bin/ld: cannot find -ldbcsr: No such file or directory
/usr/bin/ld: cannot find -lscalapack: No such file or directory
/usr/bin/ld: cannot find -lgfortran: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/programs/CMakeFiles/gmx.dir/build.make:105: bin/gmx_mpi_d] Error 1
make[1]: *** [CMakeFiles/Makefile2:5661: src/programs/CMakeFiles/gmx.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
请问这样的报错原因是什么?应该如何解决?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3