这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
atk:研究块体材料的能带结构 [2018/03/20 18:33] – liu.jun | atk:研究块体材料的能带结构 [2018/04/12 10:57] (当前版本) – 移除 fermi | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 研究块体材料的能带结构 ====== | ||
- | <WRAP center info 100%> | ||
- | === 提示 === | ||
- | **本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。** | ||
- | </ | ||
- | ===== 基本操作 ===== | ||
- | * 构建好材料结构模型后,点击右下角“箭头”图标发送至**Script Generator**; | ||
- | * 添加**New Calculator**,设置合适的计算方法; | ||
- | * 添加**Band Structure**,修改合适的高对称点路径、每段能带的点数、费米面以上的能带数; | ||
- | |||
- | {{ : | ||
- | |||
- | {{ : | ||
- | |||
- | 得到的脚本如下: | ||
- | |||
- | <file python silicon-bs.py> | ||
- | # ------------------------------------------------------------- | ||
- | # Bulk Configuration | ||
- | # ------------------------------------------------------------- | ||
- | |||
- | # Set up lattice | ||
- | lattice = FaceCenteredCubic(5.4306*Angstrom) | ||
- | |||
- | # Define elements | ||
- | elements = [Silicon, Silicon] | ||
- | |||
- | # Define coordinates | ||
- | fractional_coordinates = [[ 0. , 0. , 0. ], | ||
- | [ 0.25, 0.25, 0.25]] | ||
- | |||
- | # Set up configuration | ||
- | bulk_configuration = BulkConfiguration( | ||
- | bravais_lattice=lattice, | ||
- | elements=elements, | ||
- | fractional_coordinates=fractional_coordinates | ||
- | ) | ||
- | |||
- | # ------------------------------------------------------------- | ||
- | # Calculator | ||
- | # ------------------------------------------------------------- | ||
- | # | ||
- | # Basis Set | ||
- | # | ||
- | basis_set = [ | ||
- | GGABasis.Silicon_DoubleZetaPolarized, | ||
- | ] | ||
- | |||
- | # | ||
- | # Exchange-Correlation | ||
- | # | ||
- | exchange_correlation = GGA.PBE | ||
- | |||
- | numerical_accuracy_parameters = NumericalAccuracyParameters( | ||
- | k_point_sampling=(7, | ||
- | ) | ||
- | |||
- | calculator = LCAOCalculator( | ||
- | basis_set=basis_set, | ||
- | exchange_correlation=exchange_correlation, | ||
- | numerical_accuracy_parameters=numerical_accuracy_parameters, | ||
- | ) | ||
- | |||
- | bulk_configuration.setCalculator(calculator) | ||
- | nlprint(bulk_configuration) | ||
- | bulk_configuration.update() | ||
- | nlsave(' | ||
- | |||
- | # ------------------------------------------------------------- | ||
- | # Bandstructure | ||
- | # ------------------------------------------------------------- | ||
- | bandstructure = Bandstructure( | ||
- | configuration=bulk_configuration, | ||
- | route=[' | ||
- | points_per_segment=20, | ||
- | bands_above_fermi_level=All | ||
- | ) | ||
- | nlsave(' | ||
- | </ | ||
- | |||
- | 将脚本发送到 **Job Manager** 执行,稍等片刻即可在主窗口中的LabFloor中看到计算结果(选定输出的nc文件)。 | ||
- | |||
- | |||
- | ===== 能带分析工具 ===== | ||
- | |||
- | VNL提供了方便的能带分析工具(主窗口右侧**Band Structure Analyzer**),可以直接作图、查看能带结构,并在能带上进行交互式测量。所得能带结构也可以导出数据和图像。同时,可以在这些高对称方向上进行有效质量分析。 | ||
- | |||
- | {{ : | ||
- | |||
- | |||
- | ===== 关于高对称点 ===== | ||
- | VNL中默认的高对称点的标志依赖于晶格的布拉维格子种类,在Builder中 | ||
- | * 可以通过**Crystal Symmetry Info**查看体系的对称性; | ||
- | * 使用 **Brillouin Zone Viewer** 查看这些高对称点在布里渊区里的位置; | ||
- | * 如果发现体系的格子属性不对,导致无法设置需要的高对称点,则可以在**Lattice Parameters...**里调整格子,也有可能需要重新优化结构; | ||
- | |||
- | {{ : | ||
- | |||
- | ===== 自定义k点路径 ===== | ||
- | |||
- | QuantumATK计算中还支持用户自定义任意布里渊区路径,这通过'' | ||
- | * 使用'' | ||
- | * kpoints不能只定义线段两端,而必须逐点定义所有线段上的点。 | ||
- | |||
- | <code python> | ||
- | # ------------------------------------------------------------- | ||
- | # Bandstructure | ||
- | # ------------------------------------------------------------- | ||
- | bandstructure = Bandstructure( | ||
- | configuration=bulk_configuration, | ||
- | kpoints=[[0.0, | ||
- | bands_above_fermi_level=All | ||
- | ) | ||
- | </ | ||
- | |||
- | 使用这种方法计算得到的能带,需要用户自己标记路径。 | ||
- | |||
- | {{ : | ||
- | |||
- | ===== 参考 ===== | ||
- | * 实例教程:[[计算晶体能带]] | ||
- | * 手册:[[http:// | ||
- | |||