计算化学公社

标题: 非平衡动力学(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