计算化学公社

标题: 非平衡MD的mdp设置求助 [打印本页]

作者
Author:
tjuptz    时间: 2021-8-10 23:40
标题: 非平衡MD的mdp设置求助
本帖最后由 tjuptz 于 2021-8-11 19:51 编辑

看到之前有帖子通过加速组来模拟模拟剪切流,于是在水盒子上下各放了一片石墨烯,并在index中分别设置为bot upp两组,想分别施加不同方向的加速度,但是grompp报错
mdp如下
  1. define =
  2. integrator = md
  3. dt         = 0.002   ; ps
  4. nsteps     = 100000 ; 200ps
  5. comm-grps  = system
  6. energygrps =
  7. ;
  8. nstxout = 0
  9. nstvout = 0
  10. nstfout = 0
  11. nstlog  = 1000
  12. nstenergy = 1000
  13. nstxout-compressed = 1000
  14. compressed-x-grps  = system
  15. ;
  16. pbc = xyz
  17. cutoff-scheme = Verlet
  18. coulombtype   = PME
  19. rcoulomb      = 1.0
  20. vdwtype       = cut-off
  21. rvdw          = 1.0
  22. DispCorr      = EnerPres
  23. ;
  24. Tcoupl  = V-rescale
  25. tau_t   = 0.2
  26. tc_grps = system
  27. ref_t   = 298.15
  28. ;
  29. gen_vel  = no
  30. gen_temp = 298.15
  31. gen_seed = -1
  32. ;
  33. freezegrps  =
  34. freezedim   =
  35. constraints = hbonds
  36. acc-grps    = bot upp
  37. accelerate  = -0.1 0.0 0.0 0.1 0.0 0.0
复制代码
grompp报错如下
  1. Program:     gmx grompp, version 2018.8
  2. Source file: src\gromacs\gmxpreprocess\readir.cpp (line 3607)

  3. Fatal error:
  4. Invalid Acceleration input: 2 groups and 2 acc. values
复制代码
去掉一个加速组后
  1. acc-grps    = bot ;upp
  2. accelerate  = 0.1 0.0 0.0 ;-0.1 0.0 0.0
复制代码
仍报错如下
  1. Fatal error:
  2. Invalid Acceleration input: 1 groups and 1 acc. values
复制代码


用的是社长编译的2018.8Windows版本,没来得及在Linux下试。根据手册来看应该是可以多个加速组的,请问有哪位老师遇到过吗?

作者
Author:
tjuptz    时间: 2021-8-11 22:32
从官方论坛来看,常加速md这个功能应该是被砍了,因为有bug年久失修
作者
Author:
lyj714    时间: 2021-8-11 22:34
本帖最后由 lyj714 于 2021-8-11 22:46 编辑
tjuptz 发表于 2021-8-11 22:32
从官方论坛来看,常加速md这个功能应该是被砍了,因为有bug年久失修

不是吧,啊sr。我测试过各种版本gmx(2016,2018,2019,2020,2021)都能用,你是不是命令写错了。Bug是有,只是一直没找到原因,很多人实际应用起来也看上去结果正常,所以并没有砍掉,2022版本有移除计划
下面是我以前咨询过开发者的回复:
I did an in depth analysis of this because I got told by several users that this was working as designed.
@mark.j.abraham is of course correct that the call to update_ekindata has been gone for ages, but the code takes the acceleration directly from the inputrec.opts.acc  rvec and adds it to the actual velocity at src/gromacs/mdlib/update.cpp:610.
This means that what is supposed to be computed for the acceleration is skipped (the grpstat[].u field is always zero and never changed), and the velocity is simply scaled by whatever the user set in the accelerate mdp option.



作者
Author:
tjuptz    时间: 2021-8-12 22:27
本帖最后由 tjuptz 于 2021-8-12 22:39 编辑

我用Linux的2018.8版试了也不行。2019.3也是这个报错。我试了下能量最小化是可以的,说明结构和拓扑文件应该没问题。我用的命令如下,附件是我用到的文件
  1. gmx grompp -f shearflow.mdp -c CNSwat.gro -p mix.top -n index.ndx -o sf.tpr
复制代码
(, 下载次数 Times of downloads: 30)






作者
Author:
tjuptz    时间: 2021-8-12 22:28
lyj714 发表于 2021-8-11 22:34
不是吧,啊sr。我测试过各种版本gmx(2016,2018,2019,2020,2021)都能用,你是不是命令写错了。Bug是有,只 ...

刘老师,可否帮忙看一下,十分感激!刚刚发错楼了,忘记用回复了
作者
Author:
lyj714    时间: 2021-8-12 22:41
tjuptz 发表于 2021-8-12 22:28
刘老师,可否帮忙看一下,十分感激!刚刚发错楼了,忘记用回复了

mdp中有奇怪字符,你的accelerate  = 0.1 0.0 0.0 -0.1 0.0 0.0的数值不是空格隔开的,自己重新打一下就好了。
  1. accelerate  = 0.1 0.0 0.0 -0.1 0.0 0.0
复制代码

作者
Author:
tjuptz    时间: 2021-8-13 09:32
本帖最后由 tjuptz 于 2021-8-13 09:34 编辑
lyj714 发表于 2021-8-12 22:41
mdp中有奇怪字符,你的accelerate  = 0.1 0.0 0.0 -0.1 0.0 0.0的数值不是空格隔开的,自己重新打一下就 ...

谢谢,竟然是这样的。都怪自己偷懒了另外请教下,这个恒加速组跟拉伸里面的匀速拉伸不一样的吧,这个速度应该是变化的,对应的恒力拉伸?

作者
Author:
萌新杨同学    时间: 2023-4-30 21:06
老师您好,首先感谢您分享了非平衡MD的mdp文件,但是我有一个疑虑:您对两个组分别施加了恒定的加速度,那么这两个方向上的速度必然受到了人为的干扰,而您又采用了NVT系综和V-rescale恒温器,控温器是通过调节速度来达到恒温的目的的,那么是否应该考虑人为引入的加速度对温度的影响?我看相关文献模拟纳米孔隙流在控温时不考虑加速度方向上的自由度(就是说速度调节时不考虑施加加速度方向上的速度?),可惜这些模拟是采用lammps软件模拟的,我想请问前辈在gromacs中能否做到在控温时只考虑某些方向上的自由度,而忽略施加加速度方向上的速度?
作者
Author:
tjuptz    时间: 2023-5-2 08:57
萌新杨同学 发表于 2023-4-30 21:06
老师您好,首先感谢您分享了非平衡MD的mdp文件,但是我有一个疑虑:您对两个组分别施加了恒定的加速度,那 ...

不能,所以基本没人用gromacs 做纳米流动
作者
Author:
萌新杨同学    时间: 2023-5-2 10:56
tjuptz 发表于 2023-5-2 08:57
不能,所以基本没人用gromacs 做纳米流动

感谢前辈的回复~
还想再向前辈请教一下可否在控温时只对不施加外力的组进行控温而对施加外力的组不控温来减少控温对施加外力组的干扰呢?理论上所有施加外力或者外电场的模拟都会受到恒温器速度调节的影响?
作者
Author:
tjuptz    时间: 2023-5-2 15:36
萌新杨同学 发表于 2023-5-2 10:56
感谢前辈的回复~
还想再向前辈请教一下可否在控温时只对不施加外力的组进行控温而对施加外力的组不控温 ...

你可以看一下gmx手册里是否提到施加加速度后的控温器是不是已经排除了加速度组,如果不是可以自己尝试比较一下,具体我也没有比较过
作者
Author:
萌新杨同学    时间: 2023-5-2 16:43
本帖最后由 萌新杨同学 于 2023-5-2 17:19 编辑
tjuptz 发表于 2023-5-2 15:36
你可以看一下gmx手册里是否提到施加加速度后的控温器是不是已经排除了加速度组,如果不是可以自己尝试比 ...

好的,感谢您的回复,我再研究研究-----------------------------
(, 下载次数 Times of downloads: 12)
gmx手册中指出被加速的组也会对系统动能和温度产生贡献,也就是说gmx在控温时是考虑了加速后的粒子,确实控温会对施加外力组造成影响,所以应该分组控温;系统控温时并未对加速组的速度做修正,也不可以仅考虑非加速度方向的速度进行控温,希望gmx日后能加上相关功能

作者
Author:
云非侠    时间: 4 day ago
萌新杨同学 发表于 2023-5-2 16:43
好的,感谢您的回复,我再研究研究-----------------------------

gmx手册中指出被加速的组也会对系统 ...

看了你的发言,我的理解是假如体系中有4种物质,其中一种是加速组,分别设置参考温度,比如298.15K,就可以了呀,为何要纠结系统控温?




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