计算化学公社

标题: 求助:CP2K与Gromacs联用,如何提高计算速度 [打印本页]

作者
Author:
李放    时间: 2025-12-30 11:14
标题: 求助:CP2K与Gromacs联用,如何提高计算速度
本帖最后由 李放 于 2025-12-30 11:39 编辑

在跑qmmm时,gmx grompp -f md-qmmm.mdp -c em.gro -p topol.top -n index.ndx -o md.tpr -qmi md_cp2k.inp
设mdp文件中dt                       = 0.002时出现以下警告导致报错
WARNING 1 [file topol.top, line 30]:
  The bond in molecule-type PROA between atoms 114 OH and 115 HH has an
  estimated oscillational period of 9.1e-03 ps, which is less than 5 times
  the time step of 2.0e-03 ps.
  Maybe you forgot to change the constraints mdp option.
后将dt                       = 0.0009可以正常生成md.tpr文件,但是这样导致步数增加后续计算时间延长(使用以下命令和附件中的文件,0.09ps跑了5个多小时,QM区域含61个原子,请问是否属于正常速度?)
命令:OMP_NUM_THREADS=8 mpirun -np 12 gmx mdrun -v -s md.tpr -deffnm md ,请问是否有方法可以加速(CPU为96×2)?gmx CPU调用情况如下图:
(, 下载次数 Times of downloads: 1)
md-qmmm.mdp和md_cp2k.inp上传至附件
(, 下载次数 Times of downloads: 6) (, 下载次数 Times of downloads: 5)






作者
Author:
beyond    时间: 2026-1-1 07:40
本帖最后由 beyond 于 2026-1-1 08:01 编辑

QMMM, 步长一般都是1fs,或者0.5fs, 因为QM atoms没法使用bonds constraints,
一天跑4-5 ps,速度还可以,2个节点的提速一般在30-50%,看你资源了

看了一下你的cp2k input,要提速的话,可以考虑以下:
1. NGRIDS 改为4, 一般使用默认的就可以
2.  &OT
        MINIMIZER  CG    # 用DIIS会快点
      &END OT
3. &CELL
      A 26.582 0.000 0.000
      B 0.000 26.582 0.000
      C 0.000 0.000 26.582
      PERIODIC XYZ
    &END CELL

Gromacs/CP2K的默认QM box size一般偏大,QM 区域xyz最长边的1.5还是2.0倍 的立方体,可以考虑缩小一点点,也可以提速一些
自己检查一下,QM box size xyz的两边各留出3 angstrom的空间就可以


4.  nstxout                  = 1                         ; 每 100 步保存坐标数据
nstvout                  = 1                         ; 每 100 步保存速度数据
nstlog                   = 1                         ; 每 100 步输出日志
nstcalcenergy            = 1                         ; 每 100 步计算能量
nstenergy                = 1                         ; 每 100 步保存能量数据
nstxout-compressed       = 1                         ; 每 100 步保存压缩坐标数据

mdp中的这几个参数,也没有必要每步都输出,计算,可以改为5,或者10, 不过估计提速也不会很大

问题:
1. cutoff = 300 Ry, 可能偏小, 需要benchmark一下,400, 或者450, 提高cutoff,并不会增加太多的计算量,
而QM box size对计算量更加敏感。。。
2. 体系中有一个Cu离子,这样的话,multiplicity不一定是1, 需要检查一下,有可能需要用到UKS,那样速度估计要再降一半左右



作者
Author:
李放    时间: 2026-1-4 18:10
beyond 发表于 2026-1-1 07:40
QMMM, 步长一般都是1fs,或者0.5fs, 因为QM atoms没法使用bonds constraints,
一天跑4-5 ps,速度还可以 ...

好的,感谢解答。
2.  &OT
        MINIMIZER  CG    # 用DIIS会快点
      &END OT
我开始是用的DISS,但是跑了一段时间就出现以下报错,然后改为的CG
*  [ABORT]
*   \/
*   Cholesky decomposition failed. Matrix ill conditioned ?
*   |
*   0/|
*  /| |
* / / \
问题2. 体系中有一个Cu离子,这样的话,multiplicity不一定是1, 需要检查一下,有可能需要用到UKS,那样速度估计要再降一半左右
关于Cu离子,multiplicity最初是设定为2,但是会出现不匹配报错,后续改为1正常运行,猜测可能是因为QM区域Cu的3个配位原子存在所影响。
作者
Author:
beyond    时间: 2026-1-8 00:10
李放 发表于 2026-1-4 18:10
好的,感谢解答。
2.  &OT
        MINIMIZER  CG    # 用DIIS会快点

multiplicity, 不是这样试的,那个能跑选哪个
模拟开始前,就应该确定好,Cu2+是2, Cu+是1




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