这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:dftbmdexample [2019/11/01 14:27] – [参数设置] liu.jun | adf:dftbmdexample [2020/11/25 11:35] (当前版本) – liu.jun | ||
---|---|---|---|
行 4: | 行 4: | ||
点击ADFinput右上角的🔍符号,输入silver,搜索软件自带的Ag晶体。 | 点击ADFinput右上角的🔍符号,输入silver,搜索软件自带的Ag晶体。 | ||
- | {{ :adf:dftbmd01.png?700 }} | + | {{ :adf:2020dftmd01.png?650 }} |
- | 点击ADFinput窗口底部的四边形按钮(该按钮用于切割表面),作为演示,我们设置切面米勒指数为111,厚度为2层。切出这个表面之后,体系的周期性变成了二维,原子沿着xy平面无限延伸,z方向上下为半无限大的真空,因此Main面板中Periodicity自动变为Slab(Bulk为三维周期性,Chain为一维周期性)。 | + | 转为常用单胞: |
+ | {{ : | ||
- | 现在这个二维单胞里面,有2个原子。我们希望做一个大一些大超胞,例如4*4: | + | 点击AMSinput窗口底部的四边形按钮(该按钮用于切割表面),作为演示,我们设置切面米勒指数为111,厚度为2层。切出这个表面之后,体系的周期性变成了二维,原子沿着xy平面无限延伸,**z方向上下为半无限大的真空**,因此Main面板中Periodicity自动变为Slab(Bulk为三维周期性,Chain为一维周期性)。 |
- | {{ :adf:dftbmd02.png?230 }} | + | {{ :adf:2020dftmd03.png?650 }} |
- | + | 我们希望做一个大一些大超胞,例如2*2: | |
- | 这样就得到一个单胞包含32个银原子的二位无限大银薄膜。在表面画一个甲醇分子,并将模块从BAND切换到DFTB。 | + | |
+ | {{ : | ||
=====参数设置===== | =====参数设置===== | ||
如下图: | 如下图: | ||
- | {{ :adf:dftbmd03.png?700 }} | + | {{ :adf:2020dftmd05.png?650 }} |
- | 点击Task:Molecular Dynamics后面的省略号图标,可以对分子动力学进行详细设置,例如:设置模拟3000步,步长为0.25fs,每个30步保存一次原子轨迹,这里我们设置NVT系综,因此可以设定温度,体系的初始温度设为300K: | + | 说明: |
+ | * 精度方面,DFTB3 > SCCDFTB > DFTB | ||
+ | * 对分子晶体而言,K-space可以选择Normal即可,与选择Good区别不大,对半导体等晶体结构选择Good、Very Good更好。 | ||
+ | * 如果是分子晶体优化,出现ERROR: | ||
+ | * Parameter Director选择DFTB参数。会自动根据体系元素、Method,列出所有可选参数,用户需要自行测试哪个参数对自己的体系而言,精度更高(点击下拉窗口后面的? | ||
+ | * 分子晶体可以使用色散修正,例如D3-BJ,但这会让结构收敛变得更困难。不存在分子间相互作用的体系,不需要使用色散修正。有的参数、方法不支持色散修正 | ||
- | ADF、BAND、MOPAC模块也可以做这种分子动力学模拟,参数设置类似,不同模块仅仅在这个Main窗口参数设置有差别(具体可以参考各自计算引擎的参数设置方法,一般而言,分子动力学模拟需要的精度远低于平时性质计算所需精度,基组、泛函、数值精度等,不需要设置很高)。其他地方都一样。ADF、BAND、MOPAC模块的分子动力学,分别使用无边界(外部为无限大真空)DFT、周期性边界条件的DFT、半经验量子化学方法作为计算引擎。 | + | 点击Task:Molecular Dynamics后面的 > 图标,可以对分子动力学进行详细设置,例如:设置模拟30000步,步长为0.25fs,每个10步保存一次原子轨迹: |
- | {{ :adf:dftbmd04.png?700 }} | + | {{ :adf:2020dftmd06.png?650 }} |
- | 然后点击Thermostat后面的省略号图标,可以设置NVT系综的详细参数。如果我们选择NPT系综,则可以点击Barostat后面的省略号,设置压强等信息。这里我们使用NVT系综,可以选择控温算法Berendsen,允许体系随机高温震荡1fs,这里随机震荡主要是增大体系的初始随机性。也可以设置的更长一些,例如10fs。 | + | 点击Thermostat后面的>按钮,设置温度。如果只设置温度则为NVT系综,如果设置温度的同时设置Barostat则为NPT系综。 |
- | {{ : | + | NPT系综,一般建议在原子个数非常多,例如几万原子的情况下才使用。否则压强涨落太剧烈,可以达到几千MPa,原子个数越多,涨落越小,这本身也是符合物理事实的。 |
- | 如果我们希望模拟过程中,温度有所变化,有升温、保温、降温的过程,则可以通过点击上图中的➕来实现: | + | {{ : |
+ | 其中Thermostat是实现NVT系综的算法,可以选择NHC。**恒温:**温度如果只设置了一个,则不需要设置Duration(s),整个模拟过程都是该温度 | ||
- | {{ : | + | 如果要实现温度变化: |
- | 上图表示,0-1000步时,温度从300K逐渐升温到700K,接下来2000步,保温在700K,再接下来2000步,从700K降温到300K,如果总步数大于上述步数之和,则后面的steps都维持在300K。用户可以根据需要,灵活设定。 | + | {{ : |
- | 本例中,只是使用最简单的恒温300K。 | + | 总之,Duration(s)的数字个数比温度的数字个数少1个。如上图所示的设置,表示:起始温度298K,经历3000步升温到1300K,然后保温3000步,然后经历3000步升温到4300K,然后保温20000步,然后经历3000步降温到298K,298K直到结束。 |
- | + | ||
- | 保存并提交任务。 | + | |
=====结果查看===== | =====结果查看===== | ||
行 43: | 行 48: | ||
SCM LOGO → Movie,点击窗口底部的播放按钮,可以看到原子的运动轨迹: | SCM LOGO → Movie,点击窗口底部的播放按钮,可以看到原子的运动轨迹: | ||
- | {{ :adf:dftbmd07.png?700 }} | + | {{ :adf:2020dftmd09.png?350 }} |
+ | |||
+ | 如果不是表面体系吸附,而是纯粹的分子混合物体系,则Movie中的MD Properties选项会多很多,包括Molecules可以显示分子数量变化曲线: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Movie - MD properties - Reaction Event Detection,可以分析单步反应(基元反应): | ||
+ | {{ : | ||
+ | * Start at Timestep,从多少步开始分析 | ||
+ | * Process steps,分析接下来的多少步 | ||
+ | * Recrossing Filter,该数值设置为保存轨迹频率的10倍,例如这里设置为100 | ||
+ | 之后点击Process,处理完毕之后,点击Browse即可在网页中看到分析信息: | ||
+ | * 首页是排名前五的“反应物”、产物,以及发生次数最多的前五个反应 | ||
+ | * 分子结构都可以点击而得到该分子的“来源”(参与过的基元反应的反应物有哪些)与“去向”(参与过的基元反应的产物有哪些) | ||
+ | * 右上角有其他汇总信息,例如所有反应、所以物种、时间线(每种物质首次出现的时间线)等等 | ||