这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版上一修订版两侧同时换到之后的修订记录 | ||
atk:块体金的相对论效应 [2016/08/08 14:18] – [旋轨耦合相对论GGA能带计算] liu.jun | atk:块体金的相对论效应 [2018/03/20 22:25] – liu.jun | ||
---|---|---|---|
行 3: | 行 3: | ||
脚本文件下载: | 脚本文件下载: | ||
- | * [[docs.quantumwise.com/ | + | * [[http://docs.quantumwise.com/ |
- | * [[docs.quantumwise.com/ | + | * [[http://docs.quantumwise.com/ |
- | * [[docs.quantumwise.com/ | + | * [[http://docs.quantumwise.com/ |
金是较重的元素之一。体相的金,其电子结构受到相对论效应,包括自旋轨道耦合(SOC)的显著影响。 | 金是较重的元素之一。体相的金,其电子结构受到相对论效应,包括自旋轨道耦合(SOC)的显著影响。 | ||
行 19: | 行 19: | ||
首先,双击添加一个New Calculator{{: | 首先,双击添加一个New Calculator{{: | ||
- | {{: | + | {{ : |
**编辑New | **编辑New | ||
行 25: | 行 25: | ||
在Basis set/ | 在Basis set/ | ||
- | {{: | + | {{ : |
在Basis菜单选择Density mesh-cutoff到300Hartree,k-point采样增加到9x9x9: | 在Basis菜单选择Density mesh-cutoff到300Hartree,k-point采样增加到9x9x9: | ||
- | {{: | + | {{ : |
**编辑Bandstructure设置:** | **编辑Bandstructure设置:** | ||
行 35: | 行 35: | ||
设置Points per segment为101,这样高对称点之间的能带很光滑;Brillouin zone route设置为G, | 设置Points per segment为101,这样高对称点之间的能带很光滑;Brillouin zone route设置为G, | ||
- | {{: | + | {{ : |
保存脚本的名为gold_gga.py,通过Job Manager{{: | 保存脚本的名为gold_gga.py,通过Job Manager{{: | ||
行 43: | 行 43: | ||
在VNL LabFloor中找到输出文件的Bandstructure项,并使用Bandstructure Analyzer作图。结果如下图所示: | 在VNL LabFloor中找到输出文件的Bandstructure项,并使用Bandstructure Analyzer作图。结果如下图所示: | ||
- | {{: | + | {{ : |
与文献< | 与文献< | ||
行 58: | 行 58: | ||
需要设置两个选项,来进行SGGA计算: | 需要设置两个选项,来进行SGGA计算: | ||
- | a.使用Scripter:和上一节的设置完全一致,但Basic菜单中Spin项改为Polarized,删除Scripter栏的Bandstructure项,输出文件名字设置为gold_sgga.nc,保存脚本名为gold_sgga.py。 | + | a.使用Scripter:和上一节的设置完全一致,但Basic菜单中Spin项改为Polarized,删除Scripter栏的Bandstructure{{: |
- | b.使用Editor:拷贝gold_gga.py到gold_sgga.py,并在Editor 中打开gold_sgga.py,做少量的修改:设置交换相关泛函为SGGA.PBE,删除最后面,计算能带结构的几行,修改输出文件名字为gold_sgga.nc。修改后的脚本如下: | + | b.使用Editor:拷贝gold_gga.py到gold_sgga.py,并在Editor{{: |
+ | |||
+ | <file python gold_sgga.py> | ||
+ | # ------------------------------------------------------------- | ||
+ | # Bulk Configuration | ||
+ | # ------------------------------------------------------------- | ||
+ | |||
+ | # Set up lattice | ||
+ | lattice = FaceCenteredCubic(4.07825*Angstrom) | ||
+ | |||
+ | # Define elements | ||
+ | elements = [Gold] | ||
+ | |||
+ | # Define coordinates | ||
+ | fractional_coordinates = [[ 0., 0., 0.]] | ||
+ | |||
+ | # Set up configuration | ||
+ | bulk_configuration = BulkConfiguration( | ||
+ | bravais_lattice=lattice, | ||
+ | elements=elements, | ||
+ | fractional_coordinates=fractional_coordinates | ||
+ | ) | ||
+ | |||
+ | # ------------------------------------------------------------- | ||
+ | # Calculator | ||
+ | # ------------------------------------------------------------- | ||
+ | # | ||
+ | # Basis Set | ||
+ | # | ||
+ | |||
+ | GoldBasis = OpenMXBasisSet( | ||
+ | element=PeriodicTable.Gold, | ||
+ | filename=" | ||
+ | atomic_species=" | ||
+ | pseudopotential=NormConservingPseudoPotential(" | ||
+ | ) | ||
+ | |||
+ | basis_set = [ | ||
+ | GoldBasis, | ||
+ | ] | ||
+ | |||
+ | # | ||
+ | # Exchange-Correlation | ||
+ | # | ||
+ | exchange_correlation = SGGA.PBE | ||
+ | |||
+ | numerical_accuracy_parameters = NumericalAccuracyParameters( | ||
+ | k_point_sampling=(9, | ||
+ | density_mesh_cutoff=300.0*Hartree, | ||
+ | ) | ||
+ | |||
+ | 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(' | ||
+ | </ | ||
+ | |||
+ | 运行该脚本,速度应该非常快。注意将生成新的输出文件gold_sgga.nc,它只包含一个项目{{: | ||
+ | |||
+ | **SOGGA能带结构计算:** | ||
+ | |||
+ | 使用下面的脚本,完成工作流: | ||
+ | - 从读取gold_sgga.nc读取bulk_configuration; | ||
+ | - 使用SGGA计算的Calculator,略做修改;使用SOGGA交换相关泛函,对非共线计算使用密度混合的方法解决收敛的问题; | ||
+ | - 使用收敛点SGGA态作为SOGGA电子密度计算的初始猜测; | ||
+ | - 进行SOGGA基态计算,然后进行能带结构分析。 | ||
+ | |||
+ | 脚本如下: | ||
+ | |||
+ | <file python gold_sogga.py> | ||
+ | # ------------------------------------------------------------- | ||
+ | # Bulk Configuration | ||
+ | # ------------------------------------------------------------- | ||
+ | bulk_configuration = nlread(' | ||
+ | |||
+ | # ------------------------------------------------------------- | ||
+ | # Calculator | ||
+ | # ------------------------------------------------------------- | ||
+ | |||
+ | # Use the special noncollinear mixing scheme | ||
+ | iteration_control_parameters = IterationControlParameters( | ||
+ | algorithm=PulayMixer(noncollinear_mixing=True) | ||
+ | ) | ||
+ | |||
+ | # Get the calculator and modify it for spin-orbit GGA | ||
+ | calculator = bulk_configuration.calculator() | ||
+ | calculator = calculator( | ||
+ | exchange_correlation = SOGGA.PBE, | ||
+ | iteration_control_parameters = iteration_control_parameters | ||
+ | ) | ||
+ | |||
+ | # Setup the initial state from the GGA calculation | ||
+ | bulk_configuration.setCalculator( | ||
+ | calculator, | ||
+ | initial_state = bulk_configuration | ||
+ | ) | ||
+ | nlprint(bulk_configuration) | ||
+ | bulk_configuration.update() | ||
+ | nlsave(' | ||
+ | |||
+ | # ------------------------------------------------------------- | ||
+ | # Bandstructure | ||
+ | # ------------------------------------------------------------- | ||
+ | bandstructure = Bandstructure( | ||
+ | configuration=bulk_configuration, | ||
+ | route=[' | ||
+ | points_per_segment=101, | ||
+ | bands_above_fermi_level=All | ||
+ | ) | ||
+ | nlsave(' | ||
+ | </ | ||
+ | |||
+ | 保存该脚本名为gold_sogga.py,并运行计算。使用4核进行并行化计算,大约需要6分钟。注意QuantumATK并行计算需要使用MPI库,具体参考[[atk: | ||
+ | |||
+ | 结果: | ||
+ | |||
+ | 下图为SOGGA计算得到的能带结构。与文献< | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 你可以使用Compare Data插件更直接的对比这两个能带(如下图所示)。同时高亮显示GGA能带和SOGGA能带,可以看到相对论效应对金的价带有显著影响。下图与文献< | ||
+ | |||
+ | {{ : |