Skip to content

从零开始:「SymTopo+DFT」拓扑材料物性计算全程实战

拓扑电子材料因其体态和边界态的诸多新奇性质,引起了理论和实验物理学界的广泛关注。从量子自旋霍尔效应到拓扑绝缘体、拓扑半金属,这些物态不仅丰富了人们对量子物相的认知,更为低能耗电子器件、量子计算等应用提供了全新平台。然而,传统拓扑材料筛选依赖于繁琐的手动能带分析和复杂的对称性分析,难以满足高通量材料发现的需求。
SymTopo 是一款由中国科学院团队开发的自动计算非磁性材料拓扑性质的软件包,旨在基于第一性原理密度泛函理论(DFT)计算结果,自动判定非磁性材料的拓扑分类,大幅提升拓扑材料的研究效率。其主要功能包括:根据 DFT 计算结果自动计算材料的拓扑分类、生成 DFT 计算所需的输入文件、以及分析 DFT 输出结果并报告对称性拓扑分类及相关性质。目前 SymTopo 接口支持两种主流 DFT 软件:VASP和ABINIT。
本次实操,我们将以 SnTe 为例,在超算互联网平台上完整演示使用“SymTopo +DFT”进行拓扑物性计算的流程,包括:软件环境配置、从结构文件生成 DFT 输入文件、自洽与波函数计算,以及基于高对称点不可约表示的拓扑分类分析,最终识别出材料的拓扑相(如拓扑晶体绝缘体、高对称线半金属等)。除视频教程外,我们也提供了详细的分步文档,方便大家在超算互联网平台快速上手复现。

一、通过 Anaconda 创建单独python环境快捷安装:

下载anaconda: https://www.anaconda.com/
通过bash 安装文件.sh进行安装
生成symtopo 运行环境:

shell
conda create -n symtopo_env
conda activate symtopo_env
conda config --env --add channels abinit --add channels conda-forge --add channels materiae
conda install symtopo

或通过mamba安装:

shell
mamba install -c abinit -c conda-forge -c materiae symtopo

配置赝势环境
通过VASP使用时需配置 PAW_GGA_PBE 赝势文件,通过 Pymatgen 设置 PMG_VASP_PSP_DIR
具体方法:找到存放PBE赝势文件夹,新建文件夹POT_GGA_PAW_PBE,并将所有赝势的目录复制一份存放进POT_GGA_PAW_PBE,然后将当前目录设置为$VASP_PSP_DIR,即运行:

shell
export VASP_PSP_DIR=/public/home/vasp/PAW_PBE

实际程序读取的赝势路径为/public/home/vasp/PAW_PBE/POT_GGA_PAW_PBE/ELMARIT
通过ABINIT使用时,需下载 Pseudo-dojo 的 PAW 类型 .xml 格式赝势文件并完成配置 symtopo config --abpsp /home/username/abinit/psp/

二、SymTopo+DFT使用流程

使用流程

1. 生成 DFT 输入文件

shell
symtopo geninp -f <CIF_FILE> -s soc/nsoc -c abinit/vasp [-d <DIR_NAME> --sgid <SG_NUM>]

-f:CIF 结构文件/POSCAR
-s:自旋轨道耦合设置(soc/nsoc)
-c:DFT 代码选择(vasp/abinit)
-d:输出目录名(可选)
--sgid:空间群编号(可选,不指定则自动识别)

2. 运行 DFT 计算

VASP:先在 scf 目录做自洽计算,将 CHGCAR 复制到 wave 目录后计算波函数
ABINIT:直接运行 auto.files 即可完成两个步骤(需编译时启用 --with-trio-flavor="netcdf")
分析拓扑性质

shell
# 基础拓扑分类
symtopo caltopo -p <PATH_OF_DFT_RESULT>

# 详细分析(支持高对称点/线分析)
symtopo calk -p <PATH> -k <K1>[,<K2>] [-n <NUM_BAND>]

输出结果
工具可识别多种拓扑材料类型:
HSPSM:高对称点半金属(列出简并的高对称点及不可约表示)
HSLSM:高对称线半金属(列出能带交叉的高对称线)
GMSM/TI/TCI:给出对称性指标和价带不可约表示
平庸绝缘体:仅列出平庸性和能带表示
不可约表示符号遵循 Bilbao 晶体学服务器 (BCS) 的规范。
使用示例
准备文件结构的cif文件或POSCAR文件(可通过VESTA转化),本教程使用官网案例SnTe材料,POSCAR如下:

shell
generated by phonopy
   1.0
     0.0000000000000000    3.1590000705440620    3.1590000705440620
     3.1590000705440620    0.0000000000000000    3.1590000705440620
     3.1590000705440620    3.1590000705440620    0.0000000000000000
Sn Te
   1    1
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.5000000000000000  0.5000000000000000  0.5000000000000000

生成文件symtopo geninp -f POSCAR -s nsoc -c vasp
输出Generated directory POSCAR_noc_vasp with input files for VASP.,生成非SOC计算内容 1.png 生成的INCAR文件 scf/INCAR:

shell
EDIFF = 1e-06
ICHARG = 2
ISMEAR = -5
ISTART = 0
LMAXMIX = 4
LORBIT = 11
LSORBIT = False
LWAVE = False
MAGMOM = 10000*0.0
NELM = 300
LREAL = AUTO
和wave/INCAR:
EDIFF = 1e-06
ICHARG = 11
ISMEAR = 0
ISTART = 0
LMAXMIX = 4
LORBIT = 11
LSORBIT = False
LWAVE = True
MAGMOM = 10000*0.0
NELM = 300
LREAL = AUTO

可根据运算精度需要进行修改,首先在 scf 目录做自洽计算,将 CHGCAR 复制到 wave 目录后计算波函数,计算完成后,确保存在WAVECAR,在wave文件夹中执行: symtopo caltopo -p .|tee topo.txt 输出

shell
Found VASP output files in /public/symtopo/test/POSCAR_nsoc_vasp/wave. Analyzing...

Irreps of bands at kpoint:  GM
band 1-2     :  GM3+
band 3-5     :  GM5+
band 6       :  GM1+
band 7       :  GM1+
band 8-10    :  GM4-
Irreps of bands at kpoint:  L
band 1-2     :  L3+
band 3       :  L1+
band 4-5     :  L3+
band 6       :  L2-
band 7       :  L1+
band 8-9     :  L3+
band 10      :  L2-
Irreps of bands at kpoint:  W
band 1       :  W2
band 2       :  W1
band 3-4     :  W5
band 5       :  W4
band 6       :  W2
band 7       :  W1
band 8-9     :  W5
band 10      :  W1
Irreps of bands at kpoint:  X
band 1       :  X1+
band 2       :  X4+
band 3       :  X2+
band 4-5     :  X5+
band 6       :  X1+
band 7       :  X1+
band 8       :  X3-
band 9-10    :  X5-

Irreducible Representations of all valence bands:
  2GM1+  ,   1GM3+  ,   1GM4-  ,   1GM5+  ,
  2L1+   ,   2L2-   ,   3L3+   ,
  3W1    ,   2W2    ,   1W4    ,   2W5    ,
  3X1+   ,   1X2+   ,   1X3-   ,   1X4+   ,   1X5+   ,   1X5-   ,

Space group: 225
Spin-orbit coupling: No
Topological classification: High-symmetry-line semimetal (HSLSM)
HSLs where band crossings exist:  'W-Q-L'

可看出非SOC计算结果表示SnTe为高对称线半金属,对应SOC计算结果为:

shell
Irreps of bands at kpoint:  GM
band 1-4     :  GM10d
band 5-8     :  GM10d
band 9-10    :  GM7d
band 11-12   :  GM6d
band 13-14   :  GM6d
band 15-16   :  GM8d
band 17-20   :  GM11d
Irreps of bands at kpoint:  L
band 1-2     :  L4d + L5d
band 3-4     :  L8d
band 5-6     :  L8d
band 7-8     :  L4d + L5d
band 9-10    :  L8d
band 11-12   :  L9d
band 13-14   :  L8d
band 15-16   :  L8d
band 17-18   :  L4d + L5d
band 19-20   :  L9d
Irreps of bands at kpoint:  W
band 1-2     :  W6d
band 3-4     :  W7d
band 5-6     :  W6d
band 7-8     :  W7d
band 9-10    :  W6d
band 11-12   :  W6d
band 13-14   :  W7d
band 15-16   :  W7d
band 17-18   :  W6d
band 19-20   :  W7d
Irreps of bands at kpoint:  X
band 1-2     :  X6d
band 3-4     :  X7d
band 5-6     :  X6d
band 7-8     :  X7d
band 9-10    :  X7d
band 11-12   :  X6d
band 13-14   :  X6d
band 15-16   :  X8d
band 17-18   :  X8d
band 19-20   :  X9d

Irreducible Representations of all valence bands:
  2GM6d  ,   1GM7d  ,   1GM8d  ,   2GM10d ,   1GM11d ,
  3L4d + L5d   ,   5L8d   ,   2L9d   ,
  5W6d   ,   5W7d   ,
  4X6d   ,   3X7d   ,   2X8d   ,   1X9d   ,

Space group: 225
Spin-orbit coupling: Yes
Topological classification: Topological crystalline insulator (TCI)
Symmetry-based Indicator Z8 : 4

这时拓扑分类即为 拓扑晶体绝缘体。
以上,我们就完成了通过symyopo+DFT对SnTe体系有无SOC的拓扑计算,清晰展示了 SOC 对 SnTe 拓扑性质的决定性影响。在忽略 SOC 的非相对论近似下,SnTe 表现为高对称线半金属(HSLSM),其导带与价带在 W-Q-L 高对称线上发生交叉,形成受晶体对称性保护的能带简并。当引入 SOC 后,原本线状的能带交叉被打开能隙,系统转变为拓扑晶体绝缘体(TCI),对称性指标 Z₈ = 4 明确标识了其非平庸拓扑特性。这一结果与文献报道的 SnTe 作为首个实验验证的拓扑晶体绝缘体完全一致,验证了 SymTopo 自动拓扑判定的可靠性。
参考论文:
https://cpb.iphy.ac.cn/CN/10.1088/1674-1056/28/8/087102
https://www.nature.com/articles/s41586-019-0944-6