LOBSTER专题

LOBSTER入门与VASP输入准备

从完整输入、赝势选择和Slurm提交开始,用Si、Na、Cu、Al练习投影分析。

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

LOBSTER把平面波计算的波函数投影到局域轨道,用于COHP、COOP、COBI、态密度和电荷分析。本组提供鸢算科技集群实际计算的Si、Na、Cu、Al小例,以及输入、CSV和图片。先用Si学完整操作,再用金属了解投影质量的判断方法。

1 下载与运行顺序#

下载完整输入、运行脚本、参考数据和七张实算图

unzip lobster-practical-wave273*.zip
cd lobster-practical-wave273
bash run.sh

run.sh先介绍四个例子,不提交计算。查看figures/中的参考图和reference/中的CSV;准备好自己的VASP授权环境后,以普通账户提交:

bash submit.sh
bash results.sh

默认提交P100版本;改用V100 16G时执行bash submit.sh v100。每种平台提交四个独立小任务,各用一张GPU;VASP结束后在同一作业分配的CPU上运行LOBSTER。LOBSTER本身是CPU程序,不因前一步用了GPU而成为GPU计算。脚本保留已有目录,重复执行不会重复提交同一算例。

流程依次是:准备输入和POTCAR → VASP静态自洽并保存WAVECAR → LOBSTER投影及成键分析 → pymatgen导出CSV → 用户画图、检查投影质量。输出位于work/p100/si/等目录,reference/data/是本次自己计算出的数据,不是资料包里预存的参考值。

2 使用的软件版本#

module load vasp/6.6.1-p100
module load lobster/6.0.0
which vasp_std
which lobster

VASP 6.6.1 GPU版本采用NVHPC 25.3、CUDA 12.8、HPC-X 2.22.1与MKL 2023.2。LOBSTER 6.0.0使用官方Linux静态预编译程序,官方构建编译器为g++ 9.3.0;本集群没有重新编译它。LOBSTER为单进程OpenMP程序,可按所申请的CPU数设置OMP_NUM_THREADS,不要用mpirun -np 多进程 lobster来启动多个副本。本组小例使用单线程。

配套数据读取使用pymatgen 2026.9.24及其配套core版本,绘图使用该环境中的NumPy、Matplotlib。本组脚本针对非磁性ISPIN=1输入;磁性、自旋轨道耦合及其他接口需要采用相应的输入和解析方式。

3 Si的完整VASP输入#

这是固定晶胞、固定原子位置的静态计算。已有优化结构时,先把最后一步CONTCAR复制为新目录的POSCAR,再做本步骤;不要把结构优化每一步的WAVECAR混在一起。

POSCAR:

Si2 bonding teaching
1.0
0 2.715 2.715
2.715 0 2.715
2.715 2.715 0
Si
2
Direct
0 0 0
0.25 0.25 0.25

这是晶格常数5.43 Å的金刚石Si原胞。INCAR:

SYSTEM=Si2 actual LOBSTER workflow
ENCUT=520
EDIFF=1E-6
PREC=Accurate
LREAL=.FALSE.
LASPH=.TRUE.
ISYM=-1
ISPIN=1
NSW=0
IBRION=-1
ISTART=0
ICHARG=2
NBANDS=18
LWAVE=.TRUE.
LCHARG=.FALSE.
LH5=.FALSE.
ISMEAR=-5
SIGMA=0.2
ALGO=Normal
NELM=120
LORBIT=11

关键是保存WAVECAR、保留完整规则k网格,并提供与局域基组匹配的足够能带数。ISYM=-1关闭空间对称约化;NBANDS=18是这个小例的设置,不能原样套到所有体系。ISMEAR=-5是带Blöchl修正的四面体法,SIGMA在这里不作为高斯展宽使用。

KPOINTS:

Full regular mesh for LOBSTER
0
Gamma
7 7 7
0 0 0

这是静态规则网格,不是高对称路径能带文件。保留VASP实际生成的IBZKPT及其中的四面体信息,不要手工伪造四面体记录。

4 用VASPKIT生成POTCAR#

在Si的计算目录中操作:

module load vaspkit/1.5.1
vaspkit <<'EOF'
103
EOF
grep TITEL POTCAR
grep ZVAL POTCAR

任务103按POSCAR元素顺序生成POTCAR;Si、Cu、Al在本组均做了实际生成与读回。多元素体系必须核对拼接顺序。配套脚本直接读取集群已有PBE版本64赝势,资料包不包含POTCAR。

Na例子特意使用Na_sv,包含半芯态。仅让任务103根据元素Na选择默认赝势,不能保证得到Na_sv。请显式选择:

cp /public/software/vasp/potcar/version64/PBE/Na_sv/POTCAR .
grep TITEL POTCAR
grep ZVAL POTCAR

这里ZVAL=9,不表示钠的形式氧化态是+9。详细说明见DOS与电荷。不需要改自己的全局VASPKIT配置来完成这个例子。

5 先看生成了什么#

cat work/p100/si/job-id.txt
tail work/p100/si/vasp.log
tail work/p100/si/reference/lobsterout
head work/p100/si/reference/data/charges.csv
bash plot.sh work/p100/si/reference/data si-plots

先核对VASP电子收敛,再查看LOBSTER的实际基组、charge spilling、正交化提示和输出文件。WORKFLOW-DONE.json只表示配套流程完成,科学上能否比较键强、电荷或不同体系,仍需按后续各篇检查。

Si与Na实际周期近邻示意

图中Si原胞只有两个原子,仍可列出跨晶胞的近邻键;Na原胞只有一个原子,邻居来自周期镜像。列表中的平移向量是键定义的一部分,不能把“原子编号相同”直接当成自相互作用删除。

输入准备 · COHP与ICOHP · COOP、COBI与轨道 · DOS与电荷 · 基组与投影质量 · 键长分布与辅助输出 · 缓存与结果导出

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

查看配图

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

100%查看原图 ↗