这是mdp文件系列的第二篇,介绍nvt平衡中要使用的mdp文件。

先上代码,nvt.mdp

 1 title       = OPLS Lysozyme NVT equilibration
2 define = -DPOSRES
3 ; Run parameters
4 integrator = md
5 nsteps = 50000
6 dt = 0.002
7 ; Output control
8 nstxout = 500
9 nstvout = 500
10 nstenergy = 500
11 nstlog = 500
12 ; Bond parameters
13 continuation = no
14 constraint_algorithm = lincs
15 constraints = all-bonds
16 lincs_iter = 1
17 lincs_order = 4
18 ; Neighborsearching
19 cutoff-scheme = Verlet
20 ns_type = grid
21 nstlist = 10
22 rcoulomb = 1.0
23 rvdw = 1.0
24 ; Electrostatics
25 coulombtype = PME
26 pme_order = 4
27 fourierspacing = 0.16
28 ; Temperature coupling is on
29 tcoupl = V-rescale
30 tc-grps = Protein Non-Protein
31 tau_t = 0.1 0.1
32 ref_t = 300 300
33 ; Pressure coupling is off
34 pcoupl = no
35 ; Periodic boundary conditions
36 pbc = xyz
37 ; Dispersion correction
38 DispCorr = EnerPres
39 ; Velocity generation
40 gen_vel = yes
41 gen_temp = 300
42 gen_seed = -1

按行解释:

1.title 说明这个mdp文件的作用

2.NVT NPT模拟中都需要对蛋白质做位置限定,这样做是为了避免在平衡过程中把蛋白质打散,最终的md模拟中要放开位置限制。

3.运行参数部分

4.与minim.mdp中类似,不同的是这次我们不再做能量最小化,而是做MD模拟,这里md代指蛙跳算法

5-6.运行步长为0.002ps=2fs 总运行时间为2*50000=100ps,一般10-20ps体系就可以完成弛豫,所以取100ps一般是没有问题的

7.输出控制

8-9.每500步输出一次坐标和速度

10.每500步向能量文件中输出一次,模拟结束的能量一定输出

11.每500步向日志文件中输出一次能量

12.键合部分

13.continuation这个指令以前叫做unconstrained-start 直译就是“未限定即开始”,取no时意味着对初始结构做位置限定并重构壳层;取yes相反

14.限定算法选择lincs

15.键合限制  对所有键做限制

16-17:与lincs算法的精度有关,一般取1,4

18.临近搜索部分

19.截断方式 Verlet

20.临近格子搜索方式选择grid

21.临近列表更新频率 10步更新一次

22.短程库伦力截断距离(nm)

23.短程范德华力截断距离(nm)

24.库伦力部分

25.库伦长程力计算方式 PME

26-27:与精度有关

28.温度耦合部分

29.温度耦合,选择了Beredesen方式

30.温度耦合组 分为蛋白质和非蛋白质组

31.耦合时间常数 对两个组各自定义  单位为ps

32.耦合温度  对两个组各自定义  单位为K

33.压力耦合部分

34.压力耦合不进行

35.周期性边界条件部分

36.对三个方向均进行周期性边界条件限制

37.色散力修正

38.选择修正方案

39.速度产生部分

40.是否产生速度:是 按照Maxwell分布随机分布

41.Maxwell分布中的温度 300K

42.随机数生成种子 -1

接下来要对其中的几个重要部分做一解释,与minim.mdp重合的就不重复解释了。

约束算法:12-17行

约束是必要的,否则的话键合将会被打断,在Gromacs中可以使用默认的lincs算法或传统的shake算法来进行约束。参考文档3.6节。SHAKE算法将一组不受约束的坐标转变为一组坐标,使其满足一系列距离约束条件。而lincs算法则是始终将键重置为它们的正确长度,这个方法不进行迭代。lincs的精度取决于算法中展开方程的矩阵阶数,对于MD来说四阶就够了。精度为一阶。第16行的lincs_iter指精度,指定为1;lincs_order为四阶。

温度耦合:28-32行

直接使用的分子动力学模拟体系对应于NVE系综,这在现实中是显然不存在的。NVT系综可以让系统处于恒温,这稍微现实一点。当然最后还是要进行NPT模拟,这才对对应于真实情况。Gromacs中实现恒温过程有以下几种方案:

Berendsen温度耦合:模仿与给定温度的热浴T0相连。优点很显然:对于以平衡为目的的模拟可以采用极小的的时间常数,对于比较可靠的体系则可以使用较大的时间常数。Berendsen耦合不会产生正确的正则系综,且会降低动能的涨落。

速度重缩放温度耦合:本质上还是一个Berendsen耦合,但是附加了一个随机项,以保证能给出正确的动能分布,能够给出正确的正则系综。上面文件中第29行的v-rescale即代表选择该耦合方式。

Anderson控温器:使用NVE积分方法,并周期性的从M-B分布(Maxwell-Boltzmann distribution)中重新选择粒子速度。通过每τ/Δt步同时对所有粒子的速度进行随机化,或通过一小概率(Δt/τ)随机化每个粒子的速度.Δt为时间步长,tau为特征耦合时间长度。这样一来,这个方法不能用来考察动力学和输运性质。

Nose-Hoover耦合:Berendsen 弱耦合算法可以非常高效地将体系弛豫到到目标温度, 但是, 一旦系统达到平衡, 维持正确的正则系综更重要. 很可惜,弱耦合方案并不能满足这一点.

Nose和Hoover提出一种方法,在运动方程中引入一个热容器和一个摩擦项,来实现一种新的耦合。具体请参考文档。

组内温度耦合:将蛋白质和非蛋白质分开耦合。即文件中第30行。

色散纠正:37-38行

色散需要纠正,因为对Lennard-Jones或Buckingham相互作用截断而引起的。我们假定截断足够大以至于可以安全地忽略斥力项, 因此只须考虑色散项的校正.可参考文档4.9节。具体在mdp文件中只有三个选项:no(不进行修正),EnerPres(对能量和压力进行修正),Ener(只对能量进行修正)。一般情况下色散纠正对能量影响较小,而对压力影响很大,因此一般要采用EnerPres选项。

速度产生:39-42行

有三个选项,gen-vel:

no:Do not generate velocities. The velocities are set to zero when there are no velocities in the input structure file.

yes:在gen-temp温度下,按照M-B分布产生速度

gen-temp:定义温度

gen-seed:随机数种子。

至此,nvt.mdp告一段落。

mdp文件-Chapter2-NVT.mdp的更多相关文章

  1. mdp文件-Chapter4-MD.mdp

    终于到了mdp系列的第四篇,最终MD模拟的mdp文件 先上代码,md.mdp 1 title = OPLS Lysozyme MD simulation 2 ; Run parameters 3 in ...

  2. mdp文件-Chapter3-NPT.mdp

    mdp系列的第三篇,对NPT模拟中的mdp文件做一简单介绍. 先上代码 1 title = OPLS Lysozyme NPT equilibration 2 define = -DPOSRES ; ...

  3. mdp文件-Chapter1-MINIM.mdp

    mdp文件是能量最小化,NVT模拟,NPT模拟与MD模拟的必须文件. mdp文件的详细解释可以参考官方文档http://manual.gromacs.org/online/mdp_opt.html 接 ...

  4. martini-md参数(mdp文件)

    输入参数:一个典型的mdp文件 1 ; 2 ; STANDARD MD INPUT OPTIONS FOR MARTINI 2.x 3 ; Updated 02 feb 2013 by DdJ 4 ; ...

  5. martini-能量最小化参数(mdp文件)

    1 ; 2 ; STANDARD MD INPUT OPTIONS FOR MARTINI 2.x 3 ; Updated 02 feb 2013 by DdJ 4 ; 5 ; for use wit ...

  6. Gromacs分子动力学模拟流程概述

    Gromacs分子动力学模拟主要可以分为以下几个步骤,不同的体系步骤可能略有不同. 在开始之前,先简单了解一下预平衡: 分子动力学模拟的最终目的是对体系进行抽样,然后计算体系的能量,各种化学键,成分分 ...

  7. Visual C++文件后缀名释义

    [1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度). [2] .BMP:位图资源文件. [3] .BSC:浏览信息文件.由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(. ...

  8. Visual C++文件扩展名解读

    VisualC++文件扩展名解读 [1] .APS:存储二进制资源的资源辅助中间文件(能否加快资源加载速度). [2] .BMP:位图资源文件. [3] .BSC:浏览信息文件.由浏览信息维护工具(B ...

  9. Gromacs命令-Chapter1

    Gromacs的命令非常多,下面我将我最近用到的先总结一下.标题上也写了这只是Chapter1,以后有新的会继续写Chapter2...等等. 下面这个网址http://manual.gromacs. ...

随机推荐

  1. 多测师讲解 _接口自动化框架设计_高级讲师肖sir

    背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...

  2. linux(centos8):用uniq去除文本中重复的行(去重)

    一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...

  3. 第二十六章 ansible主要模块介绍

    一.Ansible模块回顾 1.command模块 [root@m01 ~]# ansible web01 -m command -a 'free -m' 2.shell模块 #支持管道符这种特殊符号 ...

  4. CPU 运算实现过程

    总结 加法运算过程:十进制:1+1=2二进制01+01=10实现过程: 在做加法时CPU内部会调用加法器,实际上加法运算器所做的工作就是按位与操作和进位运算!所谓的进位运算规则和十进制一样满10进一而 ...

  5. jmeter环境变量配置

    参考博客:超全 https://blog.csdn.net/qq_39720249/article/details/80721777

  6. Spring笔记(4) - Spring的编程式事务和声明式事务详解

    一.背景 事务管理对于企业应用而言至关重要.它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性.就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作 ...

  7. python numpy输出排名

    python numpy排序后输出排名 问题: 假设某班的成绩为: 姓名 成绩 名次 小红 95 小黑 67 小白 58 小绿 82 小蓝 76 小橙 79 小可爱 99 请根据表格,输出对应的名次 ...

  8. JS XMLHttpRequest请求

    前言 我们知道jq的请求非常简短好用,但是其实js原生的请求也不差,并且不用插件更能说明自己本身的技术已经很强了,别人看自己代码一脸懵逼的时候,这时就可以一一解释这些代码的用处,更能让别人敬佩! JS ...

  9. Ⅱ Finite Markov Decision Processes

    Dictum:  Is the true wisdom fortitude ambition. -- Napoleon 马尔可夫决策过程(Markov Decision Processes, MDPs ...

  10. CentOS 环境变量编辑、保存、立即生效的方法

    方法一: 该方法只能修改临时配置文件,当每次系统重启后,配置文件将失效 假如我的安装路径如下:/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin 那 ...