py4vasp专题

py4vasp 输运系数与弛豫时间

用Si真实CRTA结果提取电导、迁移率、Seebeck和电子热导,区分假定寿命与声子寿命。

更新于 2026-11-08约 9 分钟阅读按任务与环境选择适用配置
阅读本篇目录

用Si真实CRTA结果提取电导、迁移率、Seebeck和电子热导,区分假定寿命与声子寿命。

1. 下载实例,先看图再提取#

下载本篇终端实操资料包,在新目录解压:

unzip py4vasp-electronphonon-practical-wave291-*.zip
cd py4vasp-electronphonon-practical-wave291
bash preview.sh

preview/figures/生成三张参考图。完整提取、原生报告和重新画图只需:

bash run.sh
ls results/data
ls tools-output
ls plots/figures

run.sh依次执行prepare.sh、extract.sh、tools.sh、plot.sh。results/data/是提取的CSV与张量,tools-output/是原生报告,plots/figures/是PNG。输出目录受保护;再次操作请换一个新解压目录。随包figures/可以直接查看。

后处理使用py4vasp/0.11.3的Python3.11环境,静态图使用pymatgen/2026.9.24中的NumPy2.3.5、Matplotlib3.11.2。已分配资源内1个CPU即可,不会重新运行VASP。carriers/保存本例导出的自有全分辨率数值与字段配方;脚本在work/重建明确标记的最小HDF读取载体,它不是原始完整VASP输出。下载包不含PAW、波函数、响应导数、Wannier系数或程序。

2. 确定输运近似和输入#

本例研究同一个2原子Si原胞,复用已收敛电子态及匹配的真实声子势导数。VASP6.6.1 GPU/HDF5、NVHPC25.3、CUDA12.8,P100/V10016G,单任务1GPU、1MPI进程。电子态550 eV、Gamma4³、24能带;输运插值6³,101个能量节点,300/600 K,目标空穴/电子掺杂−1E19/+1E19 cm⁻³。

这里采用恒定弛豫时间近似CRTA。先由用户指定τ=10 fs,再改成20 fs进行对照。两者都是真实原生输运计算,但τ不是这次由电子—声子散射算出的寿命。想预测声子限制迁移率,应另行选择并收敛相应散射近似,不能给CRTA结果换一个名字。VASP输运说明介绍了不同近似的用途。

ELPH_MODE = TRANSPORT
ELPH_TRANSPORT = .TRUE.
ELPH_SCATTERING_APPROX = CRTA
TRANSPORT_RELAXATION_TIME = 1E-14
TRANSPORT_NEDOS = 101
ELPH_SELFEN_TEMPS = 300 600
ELPH_SELFEN_CARRIER_DEN = -1E19 1E19

τ输入单位为秒,1E−14 s=10 fs,20 fs用2E−14。完整输入见文末,参数入口见ELPH_TRANSPORT。

mkdir Si-transport
cp inputs/Si-CRTA-10fs-fixedcharge/{INCAR,POSCAR,KPOINTS,KPOINTS_ELPH} Si-transport/
# 复制自己匹配的POTCAR、phelel_params.hdf5及已收敛WAVECAR、CHGCAR
cd Si-transport
sbatch submit.sh

固定电荷使用ICHARG=11、ISTART=1和ALGO=Normal,读取同一收敛电荷后更新相应电子态;不要为了节省步骤直接改为ALGO=None。完成后检查OUTCAR末尾及实际输运表,再提取。

3. 一次提取一个掺杂累加器#

在资料包根目录:

module load py4vasp/0.11.3
python - <<'PYCODE'
import py4vasp
c = py4vasp.Calculation.from_path('work/Si-CRTA-10fs-fixedcharge')
print(c.electron_phonon.transport.read())
for i in range(len(c.electron_phonon.transport)):
    d = c.electron_phonon.transport[i].to_dict()
    print('累加器', i+1, d['metadata'])
    print('温度/K', d['temperatures'])
    for key in ['electronic_conductivity','mobility','seebeck',
                'peltier','electronic_thermal_conductivity']:
        print(key, d[key])
PYCODE

数组为温度×3×3张量,不能默认把所有矩阵元素平均。本例为立方晶体,图表用对角分量平均,非对角分量仍保存在数据中。两个累加器对应两种目标掺杂,先读metadata确认符号,不能只靠编号猜。

物理量 API单位 OUTCAR常见打印单位
电导率σ S/m S/m
迁移率μ cm²/(V·s) cm²/(V·s)
Seebeck系数S V/K μV/K
Peltier系数Π V μV
电子热导κₑ W/(m·K) W/(m·K)

把Seebeck画成μV/K时乘1E6,不能把API原值直接标μV/K。Π满足Π=T Sᵀ;电子热导不包含晶格热导。

4. Si真实输运结果#

τ=10 fs时,对角平均如下;更完整的精度和20 fs对照在CSV中。

多数载流子 T/K σ/(S/m) μ/(cm²/V·s) S/(μV/K) κₑ/(W/m·K)
空穴 300 6623.229 41.0580 185.627 0.0517632
空穴 600 6817.742 41.2304 319.266 0.112011
电子 300 7555.197 46.2984 −290.733 0.0395426
电子 600 5601.804 33.6197 −394.648 0.0540219

Si真实CRTA输运与10/20fs对照

将τ从10 fs加倍到20 fs,σ、μ、κₑ约加倍,S和Π基本不变。图中的重合Seebeck曲线是这个近似的结果,并非漏画了一组数据。完整脚本同时保存原生报告,并用transport[i].to_plotly('electronic_conductivity')生成可放大的HTML。

head -9 results/data/Si-CRTA-transport.csv
cat tools-output/Si-CRTA-10fs-fixedcharge-accumulator1.txt

5. 掺杂密度与每胞电子数不要混用#

本例原胞体积40.892732 ų。输出n≈8表示每晶胞电子数,不是8 cm⁻³;相应n_e、n_h也是每胞计数。换成cm⁻³应除以晶胞体积的cm³值。迁移率关系σ=|e| n_majority μ应使用积分得到的实际多数载流子数,而不是直接拿输入目标值替代。

本例粗能量网格的积分密度与目标±1E19 cm⁻³略有差别,完整CSV保留两者。资料脚本与该VASP版本核对时使用其原生单位常数;换成现代SI常数会有约1E−7级差别,远小于本例粗网格的不确定度。

实际材料应分别收敛k/q网格、能量节点、空带、掺杂和温度采样;τ也应有实验或计算依据。这里给出的是可操作流程,不能直接用两温度、假定τ预测实验热电优值ZT。

将自己的电子结构输入提交到Slurm#

解压、读取和画图不需要提交VASP。若要运行新计算,在上文计算目录保存submit.sh:

#!/bin/bash
#SBATCH --partition=gpu-8p100-hs
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --gres=gpu:p100-16g:1
#SBATCH --time=00:30:00
source /etc/profile
module purge
module load vasp/6.6.1-p100-hdf5
export OMP_NUM_THREADS=1
mpirun --bind-to none -np 1 vasp_std > vasp.log

请先用module avail vasp确认模块名称与账户可用分区。所需PAW和前置文件应来自自己的同一计算链;不要混用不同晶格、PAW或能带数的WAVECAR/导数。

本例完整输入#

以下文件已包含在资料包inputs/中。POTCAR和匹配的前置响应文件需自行提供。

Si-CRTA-10fs-fixedcharge:完整输入

INCAR

ENCUT=550
PREC=Accurate
EDIFF=1E-6
NSW=0
IBRION=-1
ISMEAR=0
SIGMA=0.05
EFERMI=MIDGAP
ISYM=2
LREAL=.FALSE.
LASPH=.TRUE.
LWAVE=.FALSE.
LCHARG=.FALSE.
NELM=160
NBANDS=24
ELPH_RUN=.TRUE.
ELPH_MODE=TRANSPORT
ELPH_DRIVER=EL
ELPH_NBANDS=16
ELPH_SELFEN_GAPS=.FALSE.
ELPH_SELFEN_TEMPS=300 600
ELPH_SELFEN_DELTA=0
SYSTEM=Si-CRTA-10fs
LH5=.FALSE.
ISTART=1
ICHARG=11
ALGO=Normal
ELPH_TRANSPORT=.TRUE.
ELPH_SCATTERING_APPROX=CRTA
TRANSPORT_RELAXATION_TIME=1E-14
TRANSPORT_NEDOS=101
ELPH_SELFEN_CARRIER_DEN=-1E19 1E19
ELPH_ISMEAR=-15

POSCAR

si-thermal-static                       
    1.000000000000000     
     0.0000000000000000    2.7344629562984921    2.7344629562984921
     2.7344629562984921    0.0000000000000000    2.7344629562984921
     2.7344629562984921    2.7344629562984921    0.0000000000000000
  Si            
     2
Direct
     0.0000000000000000    0.0000000000000000    0.0000000000000000
     0.2500000000000000    0.2500000000000000    0.2500000000000000

KPOINTS

Gamma mesh
0
Gamma
4 4 4
0 0 0

KPOINTS_ELPH

Actual electronphonon interpolation mesh
0
Gamma
6 6 6
0 0 0
Si-CRTA-20fs-fixedcharge:完整输入

INCAR

ENCUT=550
PREC=Accurate
EDIFF=1E-6
NSW=0
IBRION=-1
ISMEAR=0
SIGMA=0.05
EFERMI=MIDGAP
ISYM=2
LREAL=.FALSE.
LASPH=.TRUE.
LWAVE=.FALSE.
LCHARG=.FALSE.
NELM=160
NBANDS=24
ELPH_RUN=.TRUE.
ELPH_MODE=TRANSPORT
ELPH_DRIVER=EL
ELPH_NBANDS=16
ELPH_SELFEN_GAPS=.FALSE.
ELPH_SELFEN_TEMPS=300 600
ELPH_SELFEN_DELTA=0
SYSTEM=Si-CRTA-20fs
LH5=.FALSE.
ISTART=1
ICHARG=11
ALGO=Normal
ELPH_TRANSPORT=.TRUE.
ELPH_SCATTERING_APPROX=CRTA
TRANSPORT_RELAXATION_TIME=2E-14
TRANSPORT_NEDOS=101
ELPH_SELFEN_CARRIER_DEN=-1E19 1E19
ELPH_ISMEAR=-15

POSCAR

si-thermal-static                       
    1.000000000000000     
     0.0000000000000000    2.7344629562984921    2.7344629562984921
     2.7344629562984921    0.0000000000000000    2.7344629562984921
     2.7344629562984921    2.7344629562984921    0.0000000000000000
  Si            
     2
Direct
     0.0000000000000000    0.0000000000000000    0.0000000000000000
     0.2500000000000000    0.2500000000000000    0.2500000000000000

KPOINTS

Gamma mesh
0
Gamma
4 4 4
0 0 0

KPOINTS_ELPH

Actual electronphonon interpolation mesh
0
Gamma
6 6 6
0 0 0

继续查找其他数据入口:py4vasp功能索引。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗