目录

用python统计ReaxFF轨迹中的分子个数、键、氢键、环的数目变化

注意这个脚本的兼容性不是太好,对于一些特殊的模型,有可能分析不出来。

1,统计化学键

Python脚本右键另存下载并解压 版本建议 AMS2024.101以上的版本,否则有可能报错。

运行方式:

该脚本默认统计单、双、三键,如果需要统计芳香键,则修改脚本中:

    round_type = 'integer'       # round bond orders to nearest integer
    #round_type = 'half_integer' # round bond orders to nearest half integer

    #round_type = 'integer'       # round bond orders to nearest integer
    round_type = 'half_integer' # round bond orders to nearest half integer

注意

  1. 如果体系比较大,模拟的帧数很多,那么分析过程也会很长,有可能如下类似如下提示:qq图片20231118203113.jpg这个提示可以忽略。
  2. 如果数据量很大,那么在一张图里面体现所有的分子数量、键的数量,就不太可能了。可以修改脚本中nplots = 的值更大,这样将会在多张图中显示这些曲线,这个值即图的数量。
  3. 最终会分别生成分子数量的*.txt文件与化学键数量的*.txt文件,用户也可以从这两个文件中的数据,自行作图。

2,增加环、氢键统计功能

该脚本适用于2023.104以后版本,在原先脚本功能的基础上增加了对环与氢键的统计。脚本右键另存下载并解压

ams.rkf文件可以是旧的,但是分析的时候,软件必须是最新的,因为python分析的时候,调用了一个库,2023.104及其之前的版本里面没有。

注意:环的统计功能,并未深度开发、测试,因此很可能会工作失败。

开关:

switch = {'Mol_analysis':True,'Bond_analysis':True,'Ring_analysis':True,'Hb_analysis':True}

Ture表示开关打开,False表示关闭:第一个开关是分子数变化,第二个是键数变化,第三个即环数变化,第四个为氢键数变化。可以酌情关闭一些,注意修改脚本要么在专业python编辑器里面,要么在记事本里面关闭输入法后修改字符(这种方式非常容易出现格式问题)。

氢键的种类需要自己定义一下:

donor_list = ['O']
acceptor_list = ['O']
d_hb_cutoff = 3.0
ang_hb_cutoff = 150.0

其中氢键表示为“D-H–A”,donor_list为“D”元素,acceptor_list为A元素,如果存在多种D、A可以在[]中列出,用逗号隔开,例如['O','N']。

运行过程中出现“No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.”不用管它。