首页/文章/ 详情

如何添加力场中不支持(没有)的离子

2月前浏览1000
当我们的体系中含有某种离子的时候,恰好选用的力场里面又不包含此离子的参数,程序就会报如下类似的错误:Atomtype ** not found


出现这样的情况就得自己添加相应离子的参数到力场的文件中。由于gromacs可以支持多种力场,这里只选择其中的amber99s b力场来作为例子。其他力场都是相同的修改方法,因为gromacs调用力场时候,都是会调用到下面两个文件:
ffbonded.itp   ffnonbonded.itp
ffbonded.itp文件里面保存了成键的参数,比如键长及其力常数,键角及其力常数等等,由于我们添加的离子是不成键的,所以不需要修改这里面。
ffnonbonded.itp文件里面保存了非键的参数,主要内容是LJ势函数的参数,如下:


Amber力场LJ势函数采用的是如下公式:

所以需要找到相应离子的sigma和epsilon的值,按照上面的格式把这些信息加入ffnonbonded.itp文件即可。注意:sigma的单位是:nm,epsilon的单位是:kJ/mol。有些力场不是此数学形式,所以一定要注意别人用的参数具体是对应什么表达式的,然后通过一定的换算,得出适合自己力场的参数。比如有些力场用的是下面这种形式:
所以,需要通过转换来得到自己的参数。转换公式为:
一定要注意所采用的力场用到的具体表达式是什么。
修改完ffnonbonded.itp之后,接着要在ions.itp文件里面添加离子,当使用命令添加离子时候,程序才能识别。ions.itp内容如下:


按照里面的格式,添加自己想要的离子即可。注意,[ moleculetype ] 字段下面的名字,必须要和添加在ffnonbonded.itp文件里面的名字一样。


来源:模拟之家
GROMACS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-06
最近编辑:2月前
刘十三613
博士 分子动力学、GROMACS
获赞 133粉丝 96文章 83课程 29
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈