在本教程中您将学习如何进行声子能带计算。尤其是学会如何设置计算,了解哪些参数是重要的。您也将学会如何通过并行方法优化这种类型的计算
本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。
第一步也是非常重要的一步就是对您的体系进行应力优化。这可以去除声子谱中的虚频,虚频通常源于未充分弛豫的结构。 1.进入 Builder 并从 Database 导入 silicon(alpha) 结构 2.将结构发送到 Script Generator 中并添加一个 New Calculator.
该计算只需要花费几十秒钟。然后,您将在 LabFloor 中的项 id gID001 中找到优化的 BulkConfiguration。选择该项,点击 Text representation 得到优化参数,5.4787
将优化好的 BulkConfiguration 拖拽到 Scritper. 1、 双击 New Calculator 并将 k-point 取样改为 1x1x1
2、添加声子能带分析项
3、声子由体系的动力学矩阵计算。动力学矩阵是能量的二阶导数,相当于力的一阶导数。力的一阶导数是利用有限差分法计算的,体系每次沿着一个自由度进行位移,该方法也叫做冻结声子计算法。
dynamical_matrix_parameters = DynamicalMatrixParameters( atomic_displacement=0.01*Angstrom, repeats=(5,5,5), acoustic_sum_rule=True, symmetrize=True, )
4、进行一些修改
对于 5×5×5 的重复,您的 dynamical_matrix_parameters 看起来应如下所示:
dynamical_matrix_parameters = DynamicalMatrixParameters( atomic_displacement=0.01*Angstrom, repeats=(5,5,5), acoustic_sum_rule=True, symmetrize=True, )
保存脚本后,现在就可以运行您的 DFT 声子能带计算。 然而,有一些细节是在您运行计算之前要考虑的: 在 QuantumATK 中,动力学矩阵的位移计算是并行化的。位移的数目是原子数目的三倍(沿着x,y,z每一个方向算一次位移)。对于每次位移,都需要沿着+和-两个方向,进而有两次计算。这意味着可以通过使用和位移数目一样的多的MPI进程以获得最优计算性能。
对于这个体系,有 6 个不同的位移需要分别计算。
体系尺寸 在该教程中,被运行的三个体系的重复次数为 3×3×3,5×5×5,7×7×7,分别有 54,250,686 个硅原子组成。除了运行时间(参见下面)外,您也应该考虑内存总数的要求。一个 686 个硅原子的块体结构,在使用 LDA 泛函,SZP 基组运行时将需要 3GB 的内存。每个位移,也就是每个 MPI 进程,都要使用相同大小的内存。这意味着在这种情况下(6 个 MPI 进程),如果您要在单机上运行的话您需要至少 18GB 的内存!
消耗时间 下表显示了使用上述参数计算声子能带所需要的总时间。并行计算是在 Xeon e5472 3.0GHz 机器中使用 6 个 MPI 进程进行的。
Repetition | 3x3x3 | 5x5x5 | 7x7x7 |
---|---|---|---|
Total time | 6m21.44s | 41m16.41s | 3h06m53.15s |
当作业完成后您将在 LabFloor 中找到 PhononBandStructure 项。将其选中并使用 Bandstructure Analyzer 工具显示能带。 下图展现了被定义成 3×3×3, 5×5×5, 7×7×7 的三个体系的结果 您会立刻注意到重复次数 3×3×3 太小了甚至不能定性地给出可靠的结果,而中间尺寸的体系已经是一个相当好的近似。然而,您也注意到 5×5×5 和7×7×7 两个体系在 Γ-point 附近的声子模式依然存在一个微小的差别。 动力学矩阵现在和 BulkConfiguration 储存在一起。这意味着您可以读取动力学矩阵并可以在几十秒钟之内进行另一个 PhononBandStructure 计算(例如沿着不同的布里渊路径)或者声子态密度计算。 下表中展示了声子能带和 DOS,您可以把这些结果和 Ref. [1] 进行比较。
在 2014版 和更新的版本中,大量的经典势被囊括在 ATK-Classical 引擎中。这些势都很适合研究材料的振动性质,就像本教程中的硅的声子能带计算。
将硅块体结构发送到 Scripter并如之前解释的那样,设置应力优化和硅的声子能带结构计算,二者在同一脚本中。 在普通的笔记本中计算将只花费几十秒的时间。 在 New Calculator 中,选择 ATK-Classical 引擎并使用对硅来说能够获得的最精确的势,像 Tersoff 或者 Stillinger-Weber 势。 每个提供的势都有一个文字参考,您应该检查确定该势是否适用于您的体系或者您所感兴趣的性质。 像 ATK-DFT 例子那样设置 OptimizeGeometry 模块和PhononBandstructure 项,运行计算。 使用 Tersoff_si_2005potential【2】所计算的硅的声子能带结构在下图中被展示。