24小时热门版块排行榜    

查看: 3812  |  回复: 15

gx730

金虫 (正式写手)

[交流] 学习TOWHEE的经验和感悟已有10人参与

首先在这里我要衷心的感谢043114076师兄,在学习towhee过程中他给予了我极大的帮助和指导。他不但具有丰富的学识,而且非常友善有耐心。

关于input
首先确保格式正确无误,然后参数设置方面,参数都是有物理意义的,重要的是对monte carlo方法本身的理解,不要局限于towhee本身的manual(不是说不重要)。当然最初接触要多加调试,会加深理解,最后总结的时候要与参数物理意义结合,归结于理论。
参数的设置对于模拟时间和结果的准确性影响很大:
模拟参数的设置,如controlstyle只对输出参数的形式有影响,可通过自己想要怎么样处理数据进行设置。equili 和product过程的差别主要在于是否去做结果分析。equili 过程是 不能做分析的,主要是为了得到热力学平衡的结构;product 的结果才能做RDF 、RMSD等等的分析。仔细比较一下不同controlstyle的差别,就会发现两者只是生 成output的差别。一般是采用manual,按照自己想要的输出结果进行设置。
如stepstyle的选择
‘cycles’ 跑nstep步mc循环。每次循环包含分子数次mc尝试移动,所以速度慢点。在一个cycles中每个移动的概率是不一样的。
‘moves’ 跑nstep次mc尝试移动。(速度非常快,每次概率一样)
要充分理解两者的本质区别,从而进行取舍。
初始构型的设置主要是影响平衡时间,对最终结果影响不大,但能够快速达到平衡对计算来说非常具有优势。若没有通过其他途径得到初始构型,那就直接从input里设置;自己设置时一定要注意hmatrix,盒子大小的设置,对于平衡影响很大,一般液相盒子通过分子数和液相密度计算得到,气相盒子通过理想气体状态方程计算得到。
若有从MC或MD方法得到的初始构型可以转化为initial或coords文件进行计算,从而能够快速进行计算。
使用initial时:
linit(logical)      
        .TRUE. 生成初始构型。
        .FALSE.不生成初始构型,从towhee_initial中读入。
计算过程停电终止,若想接着前面的计算继续下去,按照帮助文档上说是把backup里的内容复制到initial里,然后再运行就可以。
但尝试一次直接计算100000的,再尝试一次先计算50000再利用initial计算50000,这两次运行的结果并不太一样,最后的结构可能是不一样的,但是热力学信息应该是类似的。要么可能是运行的步数不够多。因为monte carlo是随机过程,每次随机数都是不同的。
使用coords时:
可以把pdb 文件转换为coords 文件,utils 中有这个小程序。
coords文件的格式比较简单,手册中的说明也比较清楚。注意在input中初始结构的参数(initstyle 等)也要相应的修改。
模拟移动类型比率设定,概率为累加概率,即实际概率为当前数值减前一项数值,必有一项概率为1.后续项则均为0.
pmvol(double precision) 盒子体积变化,对于非常消耗模拟时间,比例通常设置非常小,而且在NVT系综时此项不起作用,可设为0.
pm2boxrbswap
pm2boxcbswap
这两项都是粒子交换,根据自己所计算体系进行选择,在高温时候可适当明显减小比例会大大优化模拟结果。
各种移动的接受概率 不能太高也不能太低,否则效率都是不高的。要多试试,不同的体系是需要经验的。有文献说0.3-0.5之间模拟效果最好。
电荷 使用手动指定电荷的方法(manual),在input file 指定电荷。这样就可以使用文献当中的电荷值。电荷的分布对于模拟结果影响很大,一般不设置的话都是默认采用软件自带的从烷烃和烯烃等体系迁移过来的电荷值。若要修正电荷,可通过量化方法进行拟合,或者与实验数据拟合进行不断调整。
例如我运行中出现运行towhee ,出现assemble:unknown match_style for nonbond,仔细核查了输入文件都没有发现问题,总以为是力场里非键参数的问题,结果只是格式出错了,解决办法如下:
在linux下运行:
dos2unix towhee_input
dos2unix towhee_ff_TraPPE-UAn
之后我试了这个方法,没有转化成功,不知道是什么原因,但是师兄电脑运行很好。然后师兄又给我一个建议:如果没有dos2unix 这个命令,可以使用linux的vi 打开你的上述两个文件,把所有^M 去掉。
果然用vi打开input 文件以后,发现了很多^M,删除以后运行正常。
这是属于格式问题,原因是在windows 编辑的文件与linux不兼容,有两个解决的办法:
1. 一般情况下,使用dos2unix 命令是可以进行转换的。
2. 即使不能转换也没有关系,可以在linux 下使用vi 打开你的文件,把那些不应该出现的特殊的符号删除掉,最常见的是"^M"
另外编辑towhee_input 文件,推荐使用unicode类型的编辑器,我使用的是geany, 一个免费开源的软件,win和linux都可以使用。
每次编写完input,检查完各参数的设置后一定要检查格式,一个小小的标点符合,一个空格都会使程序运行不下去。
运行过程中,一旦出现问题就会中断并提示错误,仔细琢磨提示的错误,再进行修改,如我遇到过:出现 ‘command not found’,有时候是因为命令打错了,大小写没有注意,有时候是由于命令与输入文件不在同一个路径内;出现‘已杀死’,有时候是因为终端运行任务太多,超过电脑负荷,有时候是因为运行程序所需要的输出文件不完全,或者终端写代码时候与input文件不负荷;出现 ‘expected string’,有时候是因为输入文件里的参数漏了某些前后对应的,有时候是因为格式问题。。。。。。


气液平衡确实比较难以模拟,跟目前理论方法有关,加深对monte carlo方法的理解会有很大的帮助,也会对选择参数有指导。这些参数都是有物理意义的,重要的是对方法本身的理解,不要局限于towhee本身的manual(不是说不重要)。多多调试也会加深理解,使误差缩小,但要明白这些参数的调整只是为了更快达到平衡或者更好地收敛并不改变方法的本质。
关于output文件
计算结果output最后的block averages,里的 block energy, density, virial press, mol fracs,这四项有时候会突然全部变成 0.  例如最后输出10个block averages,从第5开始变成0 ,只有一直如此;还有时候是从第五个变成0到第七个,然后第八个又恢复正常值。
为什么会出现这种不正常的现象呢?
后来我仔细检查了初始文件、结构、中间的结构、output 等等,并和例子文件对照,然后调整了盒子大小,改变一下粒子交换的比例,目标接收概率等解决了这个问题。
在系统温度接近临界温度时,模拟体系的波动显著增强,容易出现某模拟盒的粒子数为零的情况,导致模拟进程中断。因此,必须小心调整模拟条件。高温(接近临界温度)时候,将粒子交换步所占的比率显著减小,能够获得较好的模拟效果。

关于力场
若计算体系里分子片段在软件里都有定义,那就直接采用自带力场;若有些分子片段没有定义,要么从其他分子片段里迁移,要么就自己按照所要使用力场的格式要求编写。
力场修正,有(1) 完全拟合实验数据。(2) 部分源于量化计算,部分源于对实验数据的拟合。(3) 完全拟合量化方法计算得到的数据。
一般的分子内相互作用(如键长、二面角等)可完全通过量化计算获得准确的结果,但是分子间的相互作用(如库伦相互作用、范德华相互作用等)则很难完全通过量化计算得到准确通用的结果,需要不断拟合,最好是参考实验数据或者状态方程计算的数据。要注意无论是经验的还是量子力学方法的。这些参数之间是compromise的结果,所以自己调整时要尽量小心。除了参数,模拟体系的模型选择也很重要,好的模型可能使得更快达到平衡。

关于Utils
towhee 的utils 目录下有一些非常有用的小程序,也可以写一些简单的脚本。如pdb2towhee可以将pdb文件转化成其他形式的文件从而在输入文件中使用。Fitcoex可以得到临界温度和临界密度。rdf2pmfair可以得到RDF图(radial distribution funtion)等。
举一例:
我按照手册上的步骤
先    cd/Utils
      make pdb2towhee
然后我也发现Utils里有了这个可执行文件。
接下又到带有pdb文件的计算结果文件夹里执行这个   pdb2towhee命令
可是总是说 command not found。
后来我把可执行命令pdb2towhee复制到结果文件夹里就可以执行
./ pdb2towhee 这个命令了,按照提示一步一步输入代码。都是一些简单的小问题。
出现这个问题是由于执行命令和结果文件不在同一个路径。也可以尝试把执行命令复制到bin文件中。


关于模拟方法的改进以及与其他方法结合

气液相平衡的时候先用MC或者MD得到平衡的气相和液相,再用GEMC。

如果用MC的话,towhee就可以,关键是运行时只设置一个盒子,分别得到气相和液相的平衡结构。control style 设置我一般是使用manual 自己指定每个参数。(这个关系不大,只是输出的参数有差别)观察能量和压力等参数达到平衡以后,再运行两个盒子的任务。一般气相平衡很容易,液相要多运行 很多步。平衡的判断最重要的是查看MSD。

如果会MD的话,也可以试试,平衡的速度更快。

结语

气液相平衡的模拟采用的蒙特卡洛方法,首先要理解这个方法的原理,才能加深对于软件学习以及参数设置的理解,从而可以避免过多无谓的调试,尽快地达到平衡进行计算缩小误差。学习towhee 首先是input 文件,参照manual 理解每一个参数的意义,各参数之间是compromise的关系,注意前后对应。能够快速达到平衡,减小误差
然后是力场,一般体系都是使用软件自带力场,有些时候只需要修改一些参数就行了。但是遇到软件没有定义的分子基团,就要自己进行编写力场了,格式严格按照手册上的要求,注意对齐,不要有多余的空格。
目前我刚接触towhee一个月,很多东西仍然在学习,把自己的学习经历贴出来跟大家分享,希望得到大家的指导。最后还要再次感谢043114076师兄。
回复此楼

» 收录本帖的淘贴专辑推荐

分子模拟

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gx730

金虫 (正式写手)

最近想要计算的体系中含有C三键的乙炔,对于这样的分子片段应该选择什么力场?
可以用UFF吗?
2楼2013-11-26 17:05:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gx730

金虫 (正式写手)

3楼2013-11-26 18:20:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
谢谢分享!
4楼2013-11-26 20:09:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Clovetessal

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
膜拜一下。我之前也准备学习towhee来模拟气液平衡的,可是苦于无法入门,然后就此罢手。楼主真心牛!
5楼2013-11-27 14:40:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

豆豆sk8

银虫 (小有名气)

送红花一朵
赞一个,学的好快
Justskate
6楼2013-11-27 19:48:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gx730

金虫 (正式写手)

引用回帖:
5楼: Originally posted by Clovetessal at 2013-11-27 14:40:51
膜拜一下。我之前也准备学习towhee来模拟气液平衡的,可是苦于无法入门,然后就此罢手。楼主真心牛!

主要是在论坛上认识一个好师兄
帮忙很多
7楼2013-11-30 17:13:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
8楼2013-11-30 19:02:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gx730

金虫 (正式写手)

送红花一朵
鼓励一下
9楼2013-12-03 11:17:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gx730

金虫 (正式写手)

期待交流
10楼2013-12-03 11:17:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gx730 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 审不上青基又非升即走的青椒 和 牢里踩缝纫机的犯人哪个活的更舒服一点? +14 非非飞远了 2024-05-20 15/750 2024-05-22 07:52 by 慢慢有点懂
[硕博家园] 博三一直没文章怎么办 +27 133456 2024-05-17 45/2250 2024-05-22 06:56 by dong5391
[找工作] 浙江的高校现在门槛都这么高吗 +12 dadqweq_qw 2024-05-16 12/600 2024-05-21 22:30 by foolishmani
[基金申请] 河北省基金 +12 3101251516 2024-05-16 19/950 2024-05-21 21:20 by zhang5657
[无机/物化] 请问什么溶剂能溶解二氧化锰 (金币+5) +4 这是春天 2024-05-15 5/250 2024-05-21 18:24 by 这是春天
[论文投稿] word转成pdf之后公式里面的字体变了,正文字体没变。 +7 1255037206 2024-05-20 9/450 2024-05-21 17:00 by Qzang
[考博] 本科出身不好是不是会被直接刷呀 +5 未来富婆蛙 2024-05-20 5/250 2024-05-21 15:52 by chemdl
[基金申请] 又有两个中科院三、四区计算机领域SCI/SSCI期刊爆出问题了! +3 瞬息宇宙 2024-05-19 4/200 2024-05-21 15:06 by yp_nupt
[基金申请] 国社科申请书上传有误,学校已提交到省里,省里还未审核,还能退回修改嘛? 100+3 远山晴岚 2024-05-19 6/300 2024-05-21 14:14 by 漠上藜梭
[基金申请] 太诡异了,五月底还有没有送审的。。 +12 hdzw9071 2024-05-21 12/600 2024-05-21 12:43 by dxcharlary
[基金申请] 基金委也是打工的 +25 wsjing 2024-05-16 34/1700 2024-05-21 08:31 by mrKiller
[基金申请] 申请基金代表性成果 +14 lancet0903 2024-05-17 20/1000 2024-05-21 00:23 by dxcharlary
[硕博家园] 海外博士,国内博后找工作求建议 +8 905452934 2024-05-16 22/1100 2024-05-20 21:42 by littlezl
[考博] 海南大学国家级人才田新龙教授团队氢燃料电池与器件方向招收科研助理 (重点支持方向) +6 Dreammzp 2024-05-17 9/450 2024-05-20 18:40 by Dreammzp
[教师之家] 来用亲身体会,一起说说年轻老师的辛苦 +19 zylfront 2024-05-17 25/1250 2024-05-19 16:19 by otani
[留学DIY] 求助:医生想润 +7 safrina 2024-05-15 7/350 2024-05-17 18:50 by 卡皮吧啦123
[基金申请] 面上评委可能变为7个了,是好是坏呢? +20 suiyuanwgz 2024-05-15 25/1250 2024-05-17 17:05 by 能丫
[基金申请] 青基 +3 变成超人 2024-05-15 4/200 2024-05-17 12:42 by ssxclkj
[基金申请] 系统导出申报书中参与人那一页的格式,跨入两页,要通过调整行间距调整到一页吗? +3 danisha 2024-05-15 5/250 2024-05-16 18:21 by danisha
[教师之家] 问题已解觉,谢谢大家关注! +7 lzgj258 2024-05-15 11/550 2024-05-15 19:15 by 环境检测2024
信息提示
请填处理意见