QE专题

QE:电极与散射区建模

用Al线和5Al+H模型准备两组实际SCF,给出完整输入与个人工具构建步骤。

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

下载完整输入、实际SCF与输运数据、个人PWCOND构建文件和绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd qe-pwcond-wire
module load ase/3.29.0 qe/7.6-8173m
bash read.sh
bash plot.sh

本例在鸢算科技集群使用 QE 7.6,Intel oneAPI 2024.2、Intel MPI 2021.13、MKL CPU 环境。沿用官方 Al 单原子线及 5Al+H 散射区模型:PZ 规范守恒赝势、25/150 Ry 截断能、非磁、固定结构。电子网格为电极 1×1×12、散射区 1×1×4,输运只取横向 Γ 点和九个能量点,用于先掌握完整流程;没有完成几何、真空层、截断能、k 网格或能量采样收敛。

1. 电极和散射区分别做什么#

输运沿 z 方向。电极单胞有 1 个 Al,重复长度 4.5 Bohr≈2.3813 Å;散射区有 5 个 Al 和 1 个侧向 H,z 方向长度为五个电极周期。横向晶胞均为 12×12 Bohr²,电极与散射区横截面相同。

实际输入的电极与含氢散射区几何

图中浅色原子表示周期复制。该结构用于讲解接触、开放通道与散射,不是已优化的实验纳米器件。

2. 准备赝势与个人计算工具#

python3 setup-pseudo.py
cat pseudopotentials.json
bash build-tools.sh
ls build/pwcond-cachefix.x

下载器按官方网址获取 Al.pz-vbc.UPF 和 H.pz-vbc.UPF 并核对 SHA256。资料包不分发赝势与二进制。

本例使用随包源码构建的个人 PWCOND:在切换不同元素或不同体积的电极/散射区时,重新初始化局域势和投影子插值表。构建使用现有 QE 7.6 CPU 库,文件放在自己的 build 目录;后续计算调用此程序。pw.x 仍使用当前环境中的程序。无需修改公共软件或个人登录配置。

3. 电极完整输入#

inputs/lead.scf.in:

&control
 calculation='scf', restart_mode='from_scratch',
 pseudo_dir='../pseudo',outdir='./tmp',prefix='alw',
 verbosity='high',tprnfor=.true.
/
&system
 ibrav=6,celldm(1)=12.0,celldm(3)=.375,
 nat=1,ntyp=1,nspin=1,
 ecutwfc=25,ecutrho=150,nbnd=6,
 occupations='smearing',smearing='mv',degauss=0.01
/
&electrons
 conv_thr=1d-8,mixing_beta=0.4,electron_maxstep=150
/
ATOMIC_SPECIES
Al 26.98 Al.pz-vbc.UPF
ATOMIC_POSITIONS alat
Al 0 0 0
K_POINTS automatic
1 1 12 0 0 0

celldm(1)=12 是横向尺度,celldm(3)=0.375 给出 z 方向长度比值,所以电极周期是 12×0.375=4.5 Bohr。不能把 12 Bohr 直接当作沿线的电极周期。

4. 散射区完整输入#

inputs/sample.scf.in:

&control
 calculation='scf', restart_mode='from_scratch',
 pseudo_dir='../pseudo',outdir='./tmp',prefix='alh',
 verbosity='high',tprnfor=.true.
/
&system
 ibrav=6,celldm(1)=12.0,celldm(3)=1.875,
 nat=6,ntyp=2,nspin=1,
 ecutwfc=25,ecutrho=150,nbnd=12,
 occupations='smearing',smearing='mv',degauss=0.01
/
&electrons
 conv_thr=1d-8,mixing_beta=0.4,electron_maxstep=150
/
ATOMIC_SPECIES
Al 26.98 Al.pz-vbc.UPF
H 1.0 H.pz-vbc.UPF
ATOMIC_POSITIONS alat
Al 0 0 0
Al 0 0 0.375
Al -0.02779870 0 0.75537515
H 0.19269012 0 0.9375
Al -0.02779870 0 1.11962485
Al 0 0 1.5
K_POINTS automatic
1 1 4 0 0 0

ATOMIC_POSITIONS alat 的坐标单位是 celldm(1),不是各自晶轴长度。例如最后一个 Al 的 z=1.5 表示 18 Bohr。H 位于中间并偏离主链。

5. 提交完整工作流#

bash submit.sh
squeue -u "$USER"

模板申请 cpu-8173m 的 56 核整节点,本例实际使用 1 MPI、1 线程;脚本按电极 SCF、散射区 SCF、复能带、理想链透射、含 H 透射依次执行。

也可以在已分配的 CPU 资源里手动完成两组 SCF:

mkdir -p manual/pseudo manual/work
cp pseudo/*.UPF manual/pseudo/
cd manual/work
pw.x < ../../inputs/lead.scf.in > lead.out
pw.x < ../../inputs/sample.scf.in > sample.out
grep 'convergence has been achieved' lead.out sample.out
ls tmp/alw.save tmp/alh.save
cd ../..

保留两个 save 目录和关联文件。输运程序需要自洽势数据,不能只拿 lead.out/sample.out 文本继续。下一篇比较透射;复能带与衰减解。

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

查看配图

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

100%查看原图 ↗