目录

EPW计算超导转变温度

misaraty 更新 | 2025-05-21
前言
简单介绍下如何使用EPW计算超导转变温度Tc。

EPW

  • EPW是是一个基于Quantum ESPRESSO的模块,通过求解Migdal-Eliashberg(ME)方程1来计算Tc。

  • 下载测试例子2

目录结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
EPW计算输入文件集/(或 EPW Input Files Only/)
├── job.sh                  # 作业调度脚本
├── plot.py                 # 提取 Tc 绘图脚本
├── pseudo/                 # 赝势目录
│   ├── B.pz-vbc.UPF
│   ├── Mg.pz-n-vbc.UPF
│   ├── Nb_ONCV_PBE-1.2.upf
│   └── pb_s.UPF
├── phonon/                 # 自洽与声子计算
│   ├── scf.in              # 自洽计算输入
│   └── ph.in               # 声子计算输入
└── epw/                    # 非自洽与EPW计算
    ├── nscf.in             # 非自洽计算输入
    ├── epw1.in             # 第一次EPW运行
    └── epw2.in             # 第二次EPW运行

教程

步骤 1:SCF 自洽计算(phonon/scf.in)

1
2
cd phonon
pw.x < scf.in > scf.out

目的:获得收敛的电子密度。 赝势文件通过pseudo_dir引入,如pseudo/pb_s.UPF

步骤 2:声子计算(phonon/ph.in)

1
ph.x < ph.in > ph.out

目的:获得动力学矩阵和电子-声子耦合数据。

步骤 3:非自洽计算(epw/nscf.in)

1
2
cd ../epw
pw.x < nscf.in > nscf.out

目的:获取用于Wannier化插值的波函数信息。

步骤 4:第一次EPW运行(epw/epw1.in)

1
epw.x < epw1.in > epw1.out

目的:计算电子-声子矩阵元,Eliashberg谱函数α²F(ω)λ态密度能隙 Δ(ω)

步骤 5:第二次EPW运行(epw/epw2.in)

1
epw.x < epw2.in > epw2.out

目的:读取α²F并求解线性化Eliashberg方程,得到Tc

步骤 6:绘图(plot.py)

1
python plot.py

输出:温度 vs 最大本征值曲线,Tc即对应最大特征值为1时的温度。

注意

修改:/opt/ohpc/pub/apps/q-e-qe-7.3/EPW/bin/pp.py, 把

1
2
3
4
Enter the number of irr. q-points
user_input = input(
        'Enter the prefix used for PH calculations (e.g. diam)\n')
prefix = str(user_input)

替换为

1
2
import sys
prefix = sys.argv[1]

  1. Margine E R, Giustino F. Anisotropic migdal-eliashberg theory using wannier functions[J]. Physical Review B—Condensed Matter and Materials Physics, 2013, 87(2): 024505. ↩︎

  2. Hands-On tutorial 3: Calculations of superconducting Tc | Tutorial Files ↩︎