用户工具

站点工具


adf:optimizeff_crystal

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
adf:optimizeff_crystal [2019/12/10 15:48] – [使用块体材料DFT计算数据优化ReaxFF力场] liu.junadf:optimizeff_crystal [2022/09/14 11:15] (当前版本) liu.jun
行 1: 行 1:
 ======使用块体材料DFT计算数据优化ReaxFF力场====== ======使用块体材料DFT计算数据优化ReaxFF力场======
-**提示:下面的操作,除了DFT计算之外,其他只在Linux、Mac系统测试过。**+**提示:下面的操作,除了DFT计算之外,其他只在Linux、Mac系统测试过。**本教程仅适用于2019.1以下版本。
  
 ADF软件集成了使用蒙特卡洛方法优化力场参数的脚本。目前已经可以较为方便的使用,脚本经过测试,可以正常工作,但大都是在命令行下工作。用“优化”的方式,也可以创建一些新的力场:一般在相似力场的基础上,对力场中的元素进行修改,使用DFT计算这些新元素体系的一些结构的能量,然后使用MCFF对力场参数进行优化。 ADF软件集成了使用蒙特卡洛方法优化力场参数的脚本。目前已经可以较为方便的使用,脚本经过测试,可以正常工作,但大都是在命令行下工作。用“优化”的方式,也可以创建一些新的力场:一般在相似力场的基础上,对力场中的元素进行修改,使用DFT计算这些新元素体系的一些结构的能量,然后使用MCFF对力场参数进行优化。
行 16: 行 16:
     * mcmxst是允许运行的最大步数,这个参数需要改大,否则默认值为0,只运行一步。     * mcmxst是允许运行的最大步数,这个参数需要改大,否则默认值为0,只运行一步。
  
-[[https://www.jianguoyun.com/p/DZ3SvS4QmZ2ZBhis2S0|详细英文教程下载(点击)]]+{{ :adf:mcff.pdf |详细英文教程下载(点击)}}
  
 本文以石墨烯片层为例,DFT计算得到的层间距为3.355埃(如下图中所示,单胞内的两层石墨烯): 本文以石墨烯片层为例,DFT计算得到的层间距为3.355埃(如下图中所示,单胞内的两层石墨烯):
行 33: 行 33:
   * <color grey>例如下文的第一个命令,需要输入:</color>   * <color grey>例如下文的第一个命令,需要输入:</color>
 <code bash>$ADFBIN/startpython LT_to_trainset.py *.t21</code> <code bash>$ADFBIN/startpython LT_to_trainset.py *.t21</code>
-<color grey>后面其他的命令,也需要在前面加$ADFBIN/,但是像cp、chmod这样的命令,并不是ADF的命令,而是系统的基本命令,前面不需要加$ADFBIN/,用户需要自行尝试。</color>+<color grey>后面其他的命令,也需要在前面加${$ADFBIN/}$,但是像cp、chmod这样的命令,并不是ADF的命令,而是系统的基本命令,前面不需要加${$ADFBIN/}$,用户需要自行尝试。</color>
 =====1. 一系列结构的DFT计算===== =====1. 一系列结构的DFT计算=====
-这里我们使用ADF软件中,用于计算周期性体系DFT计算的BAND模块进行计算。改变两层石墨烯之间的距离,分别为3.913、3.718、3.416、3.355、2.992、2.618、2.316埃,计算了他们的能量([[https://www.jianguoyun.com/p/DUXozi8QmZ2ZBhjRvDk|计算输入输出、文件下载]])。如下图所示:+这里我们使用ADF软件中,用于计算周期性体系DFT计算的BAND模块进行计算。改变两层石墨烯之间的距离,分别为3.913、3.718、3.416、3.355、2.992、2.618、2.316埃,计算了他们的能量。如下图所示:
  
 {{ :adf:opimizeff_crystal02.png?600 }} {{ :adf:opimizeff_crystal02.png?600 }}
行 88: 行 88:
   - 参考上面所示的geo的格式,略作修改:**1)**添加能量信息;**2)**插入一行:“UNIT ENERGY   kcalmol”;**3)**插入一行“RUTYPE SINGLE POINT”(这一行不插入也可以,用于说明数据来源)   - 参考上面所示的geo的格式,略作修改:**1)**添加能量信息;**2)**插入一行:“UNIT ENERGY   kcalmol”;**3)**插入一行“RUTYPE SINGLE POINT”(这一行不插入也可以,用于说明数据来源)
   - 将所有DFT计算的结果,类似地添加到geo文件中。   - 将所有DFT计算的结果,类似地添加到geo文件中。
- 
-本例中,生成的geo文件下载,[[https://www.jianguoyun.com/p/DfkrSpYQmZ2ZBhifvTk|请点击此处]](如果下载后名字变了,需要手动改回geo,注意没有后缀)。 
 =====3. 生成trainset.in文件===== =====3. 生成trainset.in文件=====
 这个文件并不是geo文件相同的作用,而是对力场优化的过程进行一些权重设置,也就是用户可能特别要求某些参数更重要,权重就可以设置的很高,这样在优化力场过程中,就会更大程度地满足该参数条件。 这个文件并不是geo文件相同的作用,而是对力场优化的过程进行一些权重设置,也就是用户可能特别要求某些参数更重要,权重就可以设置的很高,这样在优化力场过程中,就会更大程度地满足该参数条件。
行 175: 行 173:
 第一个结构1_reax就是DFT优化的最优结构。可以设置这个权重非常大,例如是其他条件的权重的10倍(即1.0)。但本例中,实际上并没有这样做。使用了默认的trainset.in文件。 第一个结构1_reax就是DFT优化的最优结构。可以设置这个权重非常大,例如是其他条件的权重的10倍(即1.0)。但本例中,实际上并没有这样做。使用了默认的trainset.in文件。
  
-Trainset.in文件格式,参考:https://www.scm.com/doc/ReaxFF/trainset_descrp.html?highlight=trainset+Trainset.in文件格式,参考:https://www.scm.com/doc/ReaxFF/trainset_descrp.html
 =====4. 准备ffield、ffield_min、ffield_max、ffield_bool文件===== =====4. 准备ffield、ffield_min、ffield_max、ffield_bool文件=====
 ====生成ffield==== ====生成ffield====
 本例中,我们可以直接在CHO.ff的基础上修改,所以直接将其拷贝过来,改名为ffield即可。 本例中,我们可以直接在CHO.ff的基础上修改,所以直接将其拷贝过来,改名为ffield即可。
 ====生成ffield_min、ffield_max==== ====生成ffield_min、ffield_max====
-ffield的格式、参数的具体含义,参考[[https://www.scm.com/doc/ReaxFF/_downloads/ReaxFF-users-manual-2002.pdf|英文手册]](page 16)。+ffield的格式、参数的具体含义,参考{{ :adf:reaxff-users-manual-2002.pdf |英文手册}}(page 16)。
  
 我们这里可以只优化: 我们这里可以只优化:
行 211: 行 209:
 因为只优化4个参数,所以只将ffield_bool文件中,四个参数对应位置的数字,从0改为1。 因为只优化4个参数,所以只将ffield_bool文件中,四个参数对应位置的数字,从0改为1。
  
-[[https://www.jianguoyun.com/p/DSEZdKoQmZ2ZBhjVvTk|四个ffield文件下载(点击)]] 
  
 =====5. mcff.run文件===== =====5. mcff.run文件=====
-[[https://www.jianguoyun.com/p/DeC_4V4QmZ2ZBhjWvTk|mcff.run文件下载]]。注意根据实际需求,灵活修改(参数的含义在本文前面已经进行了说明):+注意根据实际需求,灵活修改(参数的含义在本文前面已经进行了说明):
   * mcbeta可以用默认值;   * mcbeta可以用默认值;
   * mcdbet设置的越小越好,降温越慢,蒙特卡洛模拟效果越好,但所需的步数就越多,默认值实际上已经比较小了;   * mcdbet设置的越小越好,降温越慢,蒙特卡洛模拟效果越好,但所需的步数就越多,默认值实际上已经比较小了;
行 231: 行 228:
  
 生成的summery.txt列出了蒙特卡洛的过程,比较重要的数据是能量误差(Current error这一列数据),当然误差越小越好。生成的ffield_best是优化得到的力场,修改成自己希望的名字,例如CHO_modified.ff即可。 生成的summery.txt列出了蒙特卡洛的过程,比较重要的数据是能量误差(Current error这一列数据),当然误差越小越好。生成的ffield_best是优化得到的力场,修改成自己希望的名字,例如CHO_modified.ff即可。
- 
-[[https://www.jianguoyun.com/p/DQxJWhUQmZ2ZBhjfvTk|生成的CHO_modified.ff文件下载。]] 
  
 使用该力场,在ReaxFF中优化,我们得到的层间距3.41埃,很接近DFT的结果3.355埃: 使用该力场,在ReaxFF中优化,我们得到的层间距3.41埃,很接近DFT的结果3.355埃:
行 239: 行 234:
  
 注意,这里我们没有优化二面角参数,也没有在trainset.in里面限定二面角,所以为了保证层间距,优化键能的同时,二面角的结果变差了,石墨烯变得不是平面的了。 注意,这里我们没有优化二面角参数,也没有在trainset.in里面限定二面角,所以为了保证层间距,优化键能的同时,二面角的结果变差了,石墨烯变得不是平面的了。
 +
 +{{ :adf:mcff_crystal.zip |本例文件计算文件下载}}
adf/optimizeff_crystal.1575964128.txt.gz · 最后更改: 2019/12/10 15:48 由 liu.jun

© 2014-2022 费米科技(京ICP备14023855号