用户工具

站点工具

本页面的其他翻译:
  • zh

atk:硅的声子能带

这是本文档旧的修订版!


硅的声子能带结构

介绍

在本教程中您将学习如何进行一个简单的声子能带计算。尤其是学会如何设置计算,了解哪些参数是重要的。您也将学会如何通过并行方法优化这种类型的计算

  • 您将首先利用ATK-DFT结合LDA交换关联势进行计算。您会在计算声子时大体浏览一下所有使用的相关的参数。
  • 在最后,您将使用能在ATK-Classical引擎中获得的经典势(进行声子计算)并与DFT的计算结果进行比较。

晶格优化

第一步也是非常重要的一步就是对您的体系进行应力优化。这可以去除声子谱中的虚频,虚频通常源于未充分弛豫的结构。 1.进入 Builder并从 Database 导入silicon(alpha)结构 2.将结构发送到Script Generator中并添加一个 New Calculator.

  • 选择ATK-DFT和LDA(默认选项)
  • 使用13×13×13 K-point取样
  • Iteration control 参数中,选取阻尼系数为0.5.该值减少了这个特定体系自洽态收敛所需要的迭代次数。
  • 使用SingleZetaPolarizedbasis 基组以加快计算进度
  • 添加 Optimization ‣ OptimizeGeometry 模块,并按照下图所示修改参数来实现力和应力的最小化。
  • 将输出文件名改为 Silicon_opt.nc,将脚本发送到 Job Manager并运行。

该计算只需要花费几十秒钟。然后,您将在 LabFloor 中的项id gID001中找到优化的BulkConfiguration。选择该项,点击Text representation得到优化参数,5.4787

设置声子能带结构计算

将优化好的BulkConfiguration拖拽到Scritper. 1、双击New Calculator并将k-point取样改为1x1x1

  • 该k-point取样将被用来计算动力学矩阵,动力学矩阵的计算需要结合重复的结构(参见下面)。您也可以参考 K-points used for ATK-DFT and ATK-SE

2、添加声子能带分析项

  • 选择每段400点以及G, X, K, G,L布里渊区路径。
  • 将输出文件改名为SiliconPhBS.nc
  • 为了看到动力学矩阵参数(下一步),将script detail设置成“show defaults”并将脚本发送到Editor:

3、声子由体系的动力学矩阵计算。动力学矩阵是能量的二阶导数,相当于力的一阶导数。力的一阶导数是利用有限差分法计算的,体系每次沿着一个自由度进行位移,该方法也叫做冻结声子计算法。

  • 普通列表项目动力学矩阵的计算细节由DynamicalMatrixParameters项控制,给定的该项可以作为计算的一个选项。为了在动力学矩阵项中考虑临近单胞,体系被repeat参数控制进行重复。默认值是“automatic”;ATK将试图确定相应的重复数,重复数将在输出文件中被打印。
  • 普通列表项目如果您用Editor检查 检查脚本时您可以看到DynamicalMatrixParameters,该项会显示您前一个步骤所有参数的默认值
  • 普通列表项目在您的脚本中找到dynamical_matrix_parameters部分,默认参数如下:
dynamical_matrix_parameters = DynamicalMatrixParameters(
    atomic_displacement=0.01*Angstrom,
    repeats=(5,5,5),
    acoustic_sum_rule=True,
    symmetrize=True,
    )

4、进行一些修改

  • acoustic_sum_rule:为了激活声学支求和规则,将该选项改为“True”
  • 普通列表项目repeats:使用该参数您可以在计算动力学矩阵时选择体系沿着x,y,z方向的重复次数。
  • 普通列表项目默认值是Automatic且这适用于大部分体系。然而,您应该留意这些重复的结构,因为如果您使用的是DFT,那么计算会变得非常繁重。
  • 普通列表项目在本教程中,您将使用DFT计算重复数为3×3×3,5×5×5,7×7×7的声子能带结构。

对于5×5×5的重复,您的dynamical_matrix_parameters看起来应如下所示:

运行声子能带计算

保存脚本后,现在就可以运行您的DFT声子能带计算。 然而,有一些细节是在您运行计算之前要考虑的: 在ATK中,动力学矩阵的位移计算是并行化的。位移的数目是原子数目的三倍(沿着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进程进行的。

分析结果

当工作完成后您将在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] 进行比较。

ATK-Classical

ATK2014和更新的版本中,大量的经典势被囊括在ATK-Classical引擎中。这些势都很适合研究材料的振动性质,就像本教程中的硅的声子能带计算。

将硅块体结构发送到Scripter并如之前解释的那样,设置应力优化和硅的声子能带结构计算,二者在同一脚本中。 在普通的笔记本中计算将只花费几十秒的时间。 New Calculator中,选择ATK-Classical引擎并使用对硅来说能够获得的最精确的势,像Tersoff或者Stillinger-Weber势。 每个提供的势都有一个文字参考,您应该检查确定该势是否适用于您的体系或者您所感兴趣的性质。 ATK-DFT例子那样设置OptimizeGeometry模块和PhononBandstructure项,运行计算。 使用Tersoff_si_2005potential【2】所计算的硅的声子能带结构在下图中被展示。

参考文献

[1] Giannozzi et al., “Ab initio calculation of phonon dispersions in semiconductors”, Phys. Rev. B 43, 7231 (1991). [2] Stillinger and T. A. Weber, “Computer simulation of local order in condensed phases of silicon”, Phys. Rev. B, 31, 5262 (1985).

atk/硅的声子能带.1474251839.txt.gz · 最后更改: 2016/09/19 10:23 由 nie.han

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