如何添加力场中不支持(没有)的离子
当我们的体系中含有某种离子的时候,恰好选用的力场里面又不包含此离子的参数,程序就会报如下类似的错误:Atomtype ** not found出现这样的情况就得自己添加相应离子的参数到力场的文件中。由于gromacs可以支持多种力场,这里只选择其中的amber99s b力场来作为例子。其他力场都是相同的修改方法,因为gromacs调用力场时候,都是会调用到下面两个文件:ffbonded.itp 和 ffnonbonded.itpffbonded.itp文件里面保存了成键的参数,比如键长及其力常数,键角及其力常数等等,由于我们添加的离子是不成键的,所以不需要修改这里面。ffnonbonded.itp文件里面保存了非键的参数,主要内容是LJ势函数的参数,如下:所以需要找到相应离子的sigma和epsilon的值,按照上面的格式把这些信息加入ffnonbonded.itp文件即可。注意:sigma的单位是:nm,epsilon的单位是:kJ/mol。有些力场不是此数学形式,所以一定要注意别人用的参数具体是对应什么表达式的,然后通过一定的换算,得出适合自己力场的参数。比如有些力场用的是下面这种形式:修改完ffnonbonded.itp之后,接着要在ions.itp文件里面添加离子,当使用命令添加离子时候,程序才能识别。ions.itp内容如下:按照里面的格式,添加自己想要的离子即可。注意,[ moleculetype ] 字段下面的名字,必须要和添加在ffnonbonded.itp文件里面的名字一样。
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-06
最近编辑:1月前