计算化学公社
标题: 非平衡动力学(NEMD)施加拉伸的方法求助 [打印本页]
作者Author: 芝士石油 时间: 2025-9-10 17:07
标题: 非平衡动力学(NEMD)施加拉伸的方法求助
各位老师好。我想模仿一个论文,实现驱油的NEMD模拟,现遇到一些问题,请求帮助解答
如图所示,首先在体系两侧的牵引板上施加相反方向的力,以模拟20MPa的压力。之后又在左侧板上施加方向向右的弹簧力进行拉伸动力学,令其理论质心以0.0001 nm/ps的速度向右驱动流体。同时,因为左侧牵引板会受到阻力,所以其实际质心肯定落后于理论质心,因此会受到向右的弹簧牵引力,其可以间接体现驱油的难易程度。
问题如下:
1. 对于模拟20MPa的反向力,我们如何施加?是使用constanst_force,还是umbrella?
2. 施加了第一组反向力以模拟20MPa之后,我们应如何再施加弹簧力?一个组可以同时施加两种力吗?还是可以用一种力来达到两个目的?
3. 论文里说的弹簧力(spring pulling force)是指umbrella吗?还是还有别的力的类型?
4. 我只了解gromacs的pull的类型有constanst-force, umbrella, constrainst。还有其他的类型吗?
(, 下载次数 Times of downloads: 0)
作者Author: 芝士石油 时间: 2025-9-11 20:44
本帖最后由 芝士石油 于 2025-9-11 20:52 编辑
我自己写了一个pull设置,不知道合不合适,请各位老师指正
; BASIC SETUP
define =
integrator = md
dt = 0.001 ; ps
nsteps = 10000000 ; total time = 10 ns
comm-grps = system
energygrps = system
comm-mode = linear
; OUTPUT CONTROL
nstxout = 20000
nstvout = 20000
nstfout = 20000
nstlog = 20000
nstenergy = 20000
nstxout-compressed = 5000
compressed-x-grps = system
; BOUNDARY CONDITIONS & INTERACTIONS
pbc = xyz
cutoff-scheme = Verlet
coulombtype = PME
rcoulomb = 1.4
vdwtype = Cut-off
rvdw = 1.4
DispCorr = EnerPres
; TEMPERATURE COUPLING
Tcoupl = V-rescale
tau_t = 0.2
tc_grps = system
ref_t = 333
; PRESSURE COUPLING
Pcoupl = no
; VELOCITY GENERATION
gen_vel = no
gen_temp = 260
gen_seed = -1
; FREEZE GROUPS
freezegrps =
freezedim =
; CONSTRAINTS
constraints = h-bonds
; PULLING
pull = yes
pull-pbc-ref-prev-step-com = yes
; 定义三个组:左侧板、右侧板、以及用于定义距离的参考组
pull-group1-name = cl ; 左侧牵引板原子组名(在index文件中定义)
pull-group2-name = cr ; 右侧牵引板原子组名(在index文件中定义)
pull-ncoords = 3
pull-ngroups = 2
pull-group1-name = cl
pull-group1-pbcatom = 1984
pull-group2-name = cr
pull-group2-pbcatom = 3636
; ----------------------
; Left graphite slab
pull-coord1-groups = 1 2
pull-coord1-type = constant-force
pull-coord1-geometry = direction
pull-coord1-vec = 0 0 1
pull-coord1-k = 460
pull-coord1-start = yes
; ----------------------
; Right graphite slab
pull-coord2-groups = 2 1
pull-coord2-type = constant-force
pull-coord2-geometry = direction
pull-coord2-vec = 0 0 -1
pull-coord2-k = 460
pull-coord2-start = yes
;----------------------------------------------------------
; 坐标3:对左侧板施加移动的弹簧力,进行牵引
;----------------------------------------------------------
; 它测量的是左板相对于右板在z方向的距离
pull-coord3-groups = 1 0
pull-coord3-geometry = direction
pull-coord3-vec = 0 0 1
; 类型:伞形势(弹簧)
pull-coord3-type = umbrella
; 弹簧常数,需要足够大以保持驱动,但不宜过大导致积分不稳定
pull-coord3-k = 0.0418 ; 单位: kJ/(mol*nm^2)
; 参考距离的移动速率 (0.001 nm/ps)
pull-coord3-rate = 0.001 ; 单位: nm/ps
pull-start = yes
pull-coord3-init = 0
;----------------------------------------------------------
; 输出设置
;----------------------------------------------------------
pull-print-components = yes
pull-print-com = yes
pull-fout-average = yes
pull-nstxout = ?
pull-nstfout = ?
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |