数据分析与结构处理工具
电子结构、波函数、成键和结构数据处理工具,包含VASPKIT、Wannier90、Multiwfn等。
阅读本篇目录
各章节保留原指南中的版本、平台、操作示例与适用边界;章节日期不同,使用时按所列版本核对。全部软件分项
环境与使用说明#
6.1 VASPKIT#
VASPKIT1.3.5与1.5.1并存,默认保持1.3.5。可显式选择:
module load vaspkit/1.5.1
vaspkit
安装路径:/public/software/vaspkit/vaspkit.1.3.5。启动器首次运行时初始化个人 ~/.vaspkit,已有配置会保留。无需照搬其他集群覆盖配置文件的命令。
| 版本 | 安装路径 | 方式 |
|---|---|---|
| 1.3.5 | /public/software/vaspkit/vaspkit.1.3.5 |
既有官方程序,旧默认保留 |
| 1.5.1 | /public/software/vaspkit/vaspkit.1.5.1 |
官方Linux归档独立解包,未本地重编 |
1.5.1普通用户Si对称性测试601通过(空间群227、192操作)。沿用现有Python3.6.13辅助环境,5个Python3辅助脚本语法及NumPy/SciPy/Matplotlib导入通过;随包两个Python2遗留脚本原样保留,未声称能用Python3运行。已有用户的配置与哈希保持不变,新用户模板使用本版本utilities和version64 PBE/LDA赝势。不能以主程序通过推断所有绘图/遗留脚本均已验收。
VASPKIT 安装方式与环境#
1.3.5 使用已部署的程序包,项目记录的是模块、启动包装器、赝势路径和 Python 辅助环境配置,没有本集群从源码重编的证据。不能按 VASP 的 oneAPI 版本给 VASPKIT 填一个推测的编译器。
Python 辅助环境为 /public/toolkit/miniconda3/envs/vaspkit,主要服务相关脚本/绘图功能;这不意味着 VASPKIT 主程序本身是 Python 编译。具体 Python 包版本不能拿早期建议版本替代实际清单。来源:VASPKIT 部署记录。
6.2 Wannier90#
| 版本 | 独立程序能力 | 安装前缀 |
|---|---|---|
| 2.1.0 | wannier90.x 串行;postw90.x 支持 MPI | /public/software/wannier90/2.1.0/oneapi-2023.2-ifort/8173m |
| 3.1.0 | wannier90.x、postw90.x 支持 MPI | /public/software/wannier90/3.1.0/oneapi-2024.2-ifx/8173m |
可执行程序在各前缀的 bin 中。供 VASP 调用的 libwannier.a 是单独的库接口,不能把 VASP 内部调用库等同于启动 wannier90.x。
公共独立程序模板位于 /public/slurm_scripts/{hs_user,tc_user}/wannier90。VASP 5.4.4 链接 2.1.0,当前五个 6.x 构建链接 3.1.0;接口输入限制见 Wannier90 交付记录。
Wannier90 编译方式与环境#
| 版本 | Fortran 工具链 | MPI 包装器与程序 | 目标 | VASP 链接库 |
|---|---|---|---|---|
| 2.1.0 | oneAPI 2023.2 ifort | mpiifort;postw90 支持 MPI,wannier90 串行 | CPU 8173m | 单独串行编译的 libwannier.a |
| 3.1.0 | oneAPI 2024.2 ifx | mpiifx;wannier90、postw90 支持 MPI | CPU 8173m | 单独串行编译的 libwannier.a |
| 3.1.0 | NVHPC25.3 nvfortran | COMMS=serial,供VASP调用 | P100宿主E5-2696v3 | /public/software/wannier90/3.1.0/nvhpc-25.3/p100/lib/libwannier.a |
| 3.1.0 | NVHPC25.3 nvfortran | COMMS=serial,供VASP调用 | V100宿主Gold6146 | /public/software/wannier90/3.1.0/nvhpc-25.3/v100/lib/libwannier.a |
8173m两套通过源码 Make 系统和各自 make.inc 构建,优化参数为 -O2 -xCORE-AVX512,数学库为 MKL sequential(-qmkl=sequential)。独立 MPI 配置设置 COMMS=mpi,包装器分别为 mpiifort、mpiifx;串行库配置与独立 MPI 程序配置分开保存。VASP 5.4.4/6.x 分别链接同一 Fortran 工具链下的库,避免混用 ifort/ifx/NVHPC 的 Fortran 模块和运行库。
8173m独立程序保持Intel CPU/MPI构建;GPU VASP已另行链接NVHPC25.3编译的Wannier90 3.1.0串行库。两种Fortran工具链的库不能混用。库内局域化在CPU执行,VASP电子结构部分使用GPU。来源:Wannier90 交付记录。
Wannier90:独立程序如何提交#
3.1.0 模板允许把不带 .win 后缀的文件基名作为第一个参数。例如当前目录有 silicon.win 及本次步骤所需的其他数据:
cp -i /public/slurm_scripts/hs_user/wannier90/3.1.0/8173m/sub_wannier90_3.1.0_8173m.sh .
sbatch sub_wannier90_3.1.0_8173m.sh silicon
后处理使用 sub_postw90_3.1.0_8173m.sh,同样传入 seedname。没有传参时,模板默认 wannier90。不要把 silicon.win 整个文件名传成 seedname,导致程序查找错误名称。
Wannier90 局域化与 postw90 后处理是不同阶段,所需文件由具体流程决定。先确认 VASP 已生成匹配的接口数据,再运行相应阶段;不能仅复制一个 .win 就认为所有计算输入齐全。
6.3 LOBSTER#
当前提供三个独立版本,普通用户可通过 module 选择。默认仍为 5.1.1,使用新版需显式加载 lobster/6.0.0。
| 版本 | 程序 | 上游编译器报告 | 公共脚本文件名 |
|---|---|---|---|
| 4.1.0 | /public/software/lobster/4.1.0/lobster |
g++ 7.5.0 | sub_lobster.4.1.0.sh |
| 5.1.1 | /public/software/lobster/5.1.1/lobster |
g++ 9.3.0 | sub_lobster.5.1.1.sh |
| 6.0.0 | /public/software/lobster/6.0.0/lobster |
g++ 9.3.0 | sub_lobster.6.0.0.sh |
三版均为 Linux x86-64 静态二进制部署,没有本地源码重编。表中 GCC 是程序启动横幅报告的上游编译器,不需要用户加载同版本 GCC。6.0 手册与 ELF 均确认无需额外运行库,不依赖 Conda、MPI、oneAPI 或 CUDA;没有将它描述为专门 AVX-512 编译的程序。
并行与提交#
LOBSTER 使用单节点 OpenMP 多线程,1 个进程 × 56 个 CPU 线程。直接启动一次程序,不通过 mpirun -np 56 运行,也没有 GPU 加速。8173m 独占整节点计费,模板保持 --cpus-per-task=56 和 OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}。
module load lobster/6.0.0
cp /public/slurm_scripts/hs_user/lobster/8173m/sub_lobster.6.0.0.sh .
sbatch sub_lobster.6.0.0.sh
套餐用户将路径中的 hs_user 换成 tc_user。也可通过 yskit 选择 LOBSTER 与版本,将脚本复制到含 lobsterin 及对应电子结构输出的算例目录。运行前检查输入;缺少输入时程序即使返回 0,也不代表成键分析完成。
VASP 接口和文档#
LOBSTER 是独立后处理程序,无需为它重编 VASP。6.0 要求合适的静态计算、PAW 势、局域基组和能带数,使用 ISYM=0 或 -1,并输出传统 WAVECAR。vasp_std 的复杂波函数可用;手册明确不支持 vasp_gam、SOC 或非共线磁性。带齐结构和计算输出,尤其不要漏掉 CONTCAR。具体选项应参考本版本手册,不把一个测试体系的基组或 NBANDS 当作通用参数。
6.0 官方用户手册、FAQ 和更新记录位于 /public/software/lobster/6.0.0/docs;示例在同目录下的 examples/{VASP,QE,ABINIT,Generic,Custom_Basis}。新版增加氧化分数、价态、对应轨道和密度矩阵相关功能,是否启用及物理解释按手册处理。
验收范围与已知限制#
官方包原样 QE 金刚石数据有已知问题:6.0.0 和 5.1.1 均报 Unable to find Fermi energy,包中原附 5.1.0 日志也有同一错误。因此没有将这一 QE 案例写成验收通过,也没有判定其它 QE 输入均不支持。使用 QE 时应单独检查输出格式和费米能信息。
详情见 LOBSTER 6.0.0 安装与验收记录。旧版脚本修正历史见 维护记录。
6.5 WannierTools#
WannierTools读取紧束缚Hamiltonian,进行能带、Wilson loop、表面态等分析;与Wannier90是不同程序,不需要为它重新编译VASP或Wannier90。
| 版本 | 平台 | 编译环境 | 数学库与精度 | 安装路径 |
|---|---|---|---|---|
| 2.7.0 | 8173m CPU目标 | oneAPI2023.2、ifort2021.10.0、IntelMPI2021.10,Make源码构建 | MKL2023.2 LP64 sequential、ARPACK-NG3.9.1;双精度 | /public/software/wanniertools/2.7.0/8173m |
采用-O3 -xCORE-AVX512,MPI并行,每进程1线程;没有GPU加速构建。实际构建及初步验收在支持AVX512的manage01完成。ARPACK77项测试通过,能带/Wilson loop/小矩阵稀疏求解的1/4进程对照通过;Wilson loop本次容差1e-4,非位级一致。8173m最终验收作业859已在ccn001-8173m完成(COMPLETED,0:0,15秒),1/4进程能带、Wilson loop及小矩阵稀疏求解对照通过。
加载:module load wanniertools/2.7.0-8173m。在计算目录准备wt.in及其引用的hr文件,通过yskit复制模板,或使用/public/slurm_scripts/{hs_user,tc_user}/wanniertools/2.7.0/8173m/sub_wanniertools_2.7.0_8173m.sh,然后sbatch提交。
模板默认单节点56个MPI进程、每进程1CPU;修改--ntasks-per-node调整进程数,保持--cpus-per-task=1、OMP_NUM_THREADS=1、MKL_NUM_THREADS=1。不申请GPU,也不要在登录节点执行正式计算。程序读取当前目录wt.in,主要结果写入WT.out及各功能的dat文件,终端输出合并在%j.out。
官方示例位于安装目录examples;Bi2Se3的Hamiltonian需要先解压其Bi2Se3_hr.tar.gz。Python对称化附加工具本次未部署。构建与验收记录:管理员维护记录。
6.7 ATOMKIT#
| 版本 | 使用节点 | 部署方式与环境 | 安装路径 |
|---|---|---|---|
| 0.9.0 | login01 | 官方 Linux x86-64 二进制,系统运行库,命令行结构处理 | /public/software/atomkit/0.9.0 |
ATOMKIT 是 VASPKIT 团队的结构建模、编辑和格式转换工具,不是 PyPI 上的同名轨迹分析库。本次直接部署官方 atomkit.0.9.0.linux.x64.tar.gz,没有本地编译或修改主程序,不依赖集群 oneAPI/NVHPC module。ELF 含 GCC 9.4.0 构建标记和 Intel Fortran 运行时符号,但不足以确定完整编译工具链、优化参数或精度选项;不将它标为当前集群源码编译版。动态依赖包括系统 libc、libstdc++、libX11 等,在 login01 已全部解析,无需 Conda、MPI 或 CUDA。
module load atomkit/0.9.0
atomkit
在个人可写工作目录使用,先选择任务,再按提示输入结构格式编号和文件名,例如 175 POSCAR。程序按任务自动生成输出文件;重复运行前注意同名输出。无需常规 Slurm 脚本,也不按 GPU 型号分别部署。
首次运行自动创建 ~/.atomkit,已有文件保持不变。默认 ATOMKIT_UTILITIES_PATH 指向共享安装目录的 utilities,PYTHON_BIN 为 /usr/bin/python3;当前官方 utilities 目录为空,主程序所测功能无需额外 Python 包。没有执行会修改 ~/.bashrc 的上游 setup.sh。自定义外部脚本所需依赖由用户另行配置。
复制并转换官方硅结构示例:
module load atomkit/0.9.0
mkdir -p ~/atomkit-si
cd ~/atomkit-si
cp "$ATOMKIT_ROOT/crystals/elements/Si-Silicon_c5.vasp" POSCAR
# 113为导出CIF;175为输入VASP格式。输出POSCAR.cif。
printf '113\n175 POSCAR\n' | atomkit
# CIF转回VASP,输出POSCAR.vasp。
printf '175\n113 POSCAR.cif\n' | atomkit
# 2×2×2超胞,最后175选择导出VASP格式。
printf '401\n175 POSCAR\n2 2 2\n175\n' | atomkit
其他例子和晶体库位于 $ATOMKIT_ROOT/examples、$ATOMKIT_ROOT/crystals,复制到个人目录后使用,不在公共安装目录写输出。
验收: login01 普通用户启动/退出、动态库检查、个人配置不覆盖均通过。Si 的 POSCAR→CIF→POSCAR 保持8原子,晶格最大误差3×10⁻¹⁶ Å、周期分数坐标误差0;2×2×2超胞为64原子,晶格与复制坐标均符合预期。没有宣称所有格式或高级建模功能均已验收。
版本与图形功能: 包内版本日期2024-03-26,SourceForge发布日期2024-06-04;程序会显示上游 beta 提示。官网仍称可视化是未来功能,但包内 changelog 和菜单显示0.9.0已加入任务8(polyscope GUI),以包内信息为准。GUI需要可用图形显示环境,本次未验收,也不要求普通终端用户启用X11转发。
保留官方 license:允许学术等用途免费使用,当前也允许商业企业免费使用,但未经作者书面许可不得再分发安装包。完整说明见 $ATOMKIT_ROOT/README.cluster.md;验收和下载记录在 管理员维护记录。
6.8 Atomsk#
| 版本 | 平台与使用 | 编译环境 | 安装路径 |
|---|---|---|---|
| beta-0.13.1 | 通用CPU;小结构login01;大任务8173m整节点56核 | GFortran13.3.0、GNU Make、-O2、OpenMP、双精度、私有LAPACK/BLAS3.12.1 |
/public/software/atomsk/0.13.1/gcc-13.3 |
Atomsk用于原子结构生成、格式转换、超胞、位错与多晶建模,与ATOMKIT是不同程序。按官方发布源码编译,保持上游算法;没有使用GitHub开发分支。遵循官方建议使用-O2,保留-fno-backslash和预处理选项;公共模块沿用上游-fno-tree-pre兼容开关。启用-DOPENMP -fopenmp,未使用-march=native或AVX-512。源码实数kind为SELECTED_REAL_KIND(15,307),双精度;保留默认整数宽度,链接LP64数学库。
Netlib LAPACK/BLAS3.12.1采用GFortran13.3与-O2单独编译,路径/public/software/atomsk/deps/lapack/3.12.1/gcc-13.3。Atomsk静态链接其中liblapack.a和libblas.a;系统GNU Fortran、GNU OpenMP运行库动态链接。不需要加载oneAPI/MKL、MPI、CUDA或Conda,不区分P100/V100版本。
module load atomsk/0.13.1
atomsk --help
atomsk --create fcc 4.05 Al Al.xsf
atomsk Al.xsf -duplicate 2 2 2 Al32.xsf
atomsk Al32.xsf POSCAR
请在个人可写目录运行。小规模操作可在login01执行,module在未指定OMP_NUM_THREADS时设为1,并保留用户已有线程设置;不要在login01自行提高线程做大型建模。Atomsk仅部分功能支持OpenMP,增加线程不保证各阶段都满载。
8173m作业模板:
/public/slurm_scripts/hs_user/atomsk/0.13.1/8173m/sub_atomsk_0.13.1_8173m.sh
/public/slurm_scripts/tc_user/atomsk/0.13.1/8173m/sub_atomsk_0.13.1_8173m.sh
可通过yskit选择Atomsk模板,或复制对应文件到工作目录。8173m独占整节点56核计费,模板固定1进程、56CPU,OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK;末尾-nthreads与申请一致。不使用mpirun,也不把CPU数降到56以下。
sbatch sub_atomsk_0.13.1_8173m.sh --create fcc 4.05 Al -duplicate 20 20 20 Al.xsf
命令参数写在脚本名之后;输出文件已有时软件可能提示如何处理,因此应使用独立算例目录和输出名。
HTML文档$ATOMSK_ROOT/share/doc/atomsk/index.html,命令手册man atomsk,示例$ATOMSK_ROOT/share/examples。配置模板位于$ATOMSK_ROOT/etc/atomsk.conf,个人配置可按官方文档放入~/.config/atomsk.conf;没有自动覆盖或创建个人配置。辅助Shell工具独立放在$ATOMSK_ROOT/share/tools,不加入PATH;部分工具直接修改输入或使用固定临时文件,使用前检查脚本,不把主程序验收理解为所有附带脚本都已验收。许可为GPLv3或更高。
验收: 私有LAPACK官方CTest107/107通过;login01普通用户创建FCC Al、2×2×2超胞、XSF↔VASP和LAMMPS转换通过,晶格一致,分数坐标最大差1.12×10⁻¹⁶;官方各向异性Fe螺位错示例生成3600原子,结构数据为有限值。32000原子复制/形变案例单线程与56线程配置的晶格和坐标完全一致。Slurm874在ccn001-8173m、56CPU、COMPLETED/0:0,未将该短例作为性能或全部物理功能验收。
构建时上游Makefile在并行编译选项模块时出现缺少dislocation_aniso.mod,使用-j1成功完成;LAPACK构建使用-j16。这是构建先后顺序问题,未修改算法。记录:管理员维护记录。
6.10 Moltemplate#
Moltemplate 用于生成 LAMMPS 分子结构、拓扑和力场输入;小规模建模直接在 login01 运行,MD 计算使用现有 LAMMPS Slurm 模板。
| 版本 | 安装方式与环境 | 路径 |
|---|---|---|
| 2.22.5 | 官方标签源码通过 pip 安装;Python 3.11.16、NumPy 2.4.6,独立 Conda 环境 | /public/software/moltemplate/2.22.5 |
构建环境。 源码固定 commit a07165868ff4a7788e48a260b08703fcc9c3ed78,环境 /public/toolkit/miniconda3/envs/moltemplate-2.22.5。Moltemplate 本体为 Python/Bash,无 C/C++/Fortran 扩展,不需要 oneAPI、NVHPC、MPI 或 CUDA,不分 P100/V100 构建,也没有单/双精度构建开关。NumPy 使用 Conda 二进制依赖。Conda 使用清华 conda-forge,pip 使用清华源,安装命令为 python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple /public/software/moltemplate/2.22.5。没有重编现有 LAMMPS。
module load moltemplate/2.22.5
moltemplate.sh system.lt
# 若外部坐标与 LT 模板的原子顺序一致:
moltemplate.sh -pdb system.pdb system.lt
示例位于 $MOLTEMPLATE_ROOT/examples,文档在 $MOLTEMPLATE_ROOT/doc,力场模板在 $MOLTEMPLATE_ROOT/moltemplate/force_fields。先复制到个人目录再操作。根据模板,生成 system.data、system.in.init、system.in.settings、电荷/约束文件及主输入示例;不要假定所有例子都有同名主输入文件。生成完毕,按相应 LAMMPS 版本的模板提交模拟。
不提供 Moltemplate 单核 Slurm 模板:其主建模流程不是 MPI 并行,不能用 mpirun 同时启动56份处理同一目录。小建模使用 login01;大模型先评估资源。8173m 正式计算仍必须申请56核。GPU加速属于后续 LAMMPS 模拟,且依赖势函数支持,不是 Moltemplate 的加速功能。
PACKMOL 已另行安装,可加载 packmol/21.2.3;VMD、OVITO 未作为此次部署依赖安装,使用它们的例子仍有额外依赖。力场和原子类型由用户根据体系选择;现有 LAMMPS 是否支持对应样式也须核对。cleanup_moltemplate.sh 为可选清理操作,不应盲目用于 many-body 势或 dreiding 氢键模型。公共 module 不修改个人 .bashrc。
验收。 login01 普通用户加载与 pip check 通过;官方丁烷缩小为8分子,生成112原子、104键、192角、216二面角,LAMMPS赋电荷后总电荷为0;PDB水盒780原子的坐标逐一比较完全一致;完整粗粒化聚合物示例生成378原子、351键。8173m Slurm作业878使用56核、通用 LAMMPS 22Jul2025 Update6(oneAPI2024.2),完成 run0 与10步NVE,退出0,热力学量有限。仅属安装衔接测试,不代表长时间生产模拟或全部力场的验证。上游 tests/test_genpoly_lt.py 只生成DNA模板定义,依赖未附带的 oxdna2.lt,不能直接作为独立完整建模示例。
详细说明:/public/software/moltemplate/2.22.5/README.cluster.md;安装记录:管理员维护记录。
6.11 Packmol#
Packmol 按分子数量、空间范围和距离约束生成初始坐标,可与 Moltemplate 配合生成 LAMMPS 输入。Packmol 不分配力场,也不替代后续能量最小化与平衡。
| 版本 | 编译方式与环境 | 安装路径 |
|---|---|---|
| 21.2.3 | 官方固定标签源码;GFortran 13.3.0,CMake 3.28.3,Release;实际参数 -O3 -Wall |
/public/software/packmol/21.2.3/gcc-13.3 |
构建环境。 保留上游 Fortran 双精度,不使用 -march=native、AVX-512 专用指令或 fast-math。标准构建为串行程序,无 MPI/OpenMP/CUDA,未链接 MKL/BLAS;不分 P100/V100 版本。通过 cmake --build ... -j16 并行编译,运行时仍是串行。运行库为系统 libgfortran/libm/libc/libgcc,已在 login01 普通用户环境核对。无需新增 Conda、Python 或 Julia 环境。Julia 是上游完整回归测试框架的依赖,本次未安装,也未声称完成全部上游回归。
module load packmol/21.2.3
packmol < packmol.inp > packmol.log
# 也可使用新式命令参数:
packmol -i packmol.inp -o packed.pdb
示例输入和分子文件在 $PACKMOL_ROOT/share/packmol/testing,需复制到个人目录并保持输入所引用的相对路径。小规模装箱可在 login01 运行;耗时/高内存模型先评估资源。无单核 Slurm 模板,不能用 mpirun 启动56份写同一输出;若组织独立任务到8173m,仍必须按56核申请并合理分配任务。
与 Moltemplate 配合。 两个 module 可同时加载:
module load packmol/21.2.3 moltemplate/2.22.5
packmol < packmol.inp > packmol.log
moltemplate.sh -pdb packed.pdb system.lt
输入文件中的 output 须设置为上述 packed.pdb;分子及原子顺序必须与 LT 模板一致。上游 Packmol 水示例为 H–H–O,Moltemplate SPCE 为 O–H–H,本次验证先按每个分子调整顺序再导入,不能直接把不同顺序的坐标套入模板。拓扑/电荷/力场及正式 MD 由 Moltemplate 和所选模拟程序处理,未重编现有软件。
验收范围。 login01 普通用户运行三组官方输入(增加固定随机种子12345):1000水分子/3000原子、1000水+400尿素/6200原子、周期边界500水+300尿素/3900原子,均返回Success。逐原子检查计数、分子间最短距离与几何约束;最短距离分别为2.140969、2.141138、2.082298 Å,周期案例使用最小镜像。水盒接入 Moltemplate 后3000原子坐标完全一致,原子类型顺序检查通过。只验收装箱与文件接口,没有进行长时间MD或GPU测试。
Packmol precision 的几何约束判定与具体罚函数有关;本次盒/平面约束源码采用距离平方,不能把日志中的约束违反值一律解释为 Å。默认精度下可能存在小幅越界,应根据实际模型要求检查,不能仅凭Success认为坐标严格位于边界内。
详情:管理员维护记录,使用说明 $PACKMOL_ROOT/README.cluster.md。
6.16 qvasp#
qvasp用于VASP输入准备、结构转换及结果提取。采用官方2.26 Linux x86-64包,轻量操作在login01运行;VASP本身继续使用现有CPU/GPU版本和Slurm模板。
| 版本 | 部署与编译环境 | 安装路径 | 模块 |
|---|---|---|---|
| 2.26 | 官方2026-08-20预编译ELF;部分Intel运行库随程序静态链接,完整厂商编译器/ISA/精度参数未确认,保留原配置;无本机oneAPI/NVHPC重编或科学补丁,无MPI/CUDA | /public/software/qvasp/2.26 |
qvasp/2.26,默认 |
独立环境/public/toolkit/miniconda3/envs/qvasp-2.26使用Python3.11.16、NumPy1.26.4、SciPy1.13.1、Matplotlib3.9.4、MDAnalysis2.9.0,23个Python依赖精确锁定;Conda经清华conda-forge、pip经清华PyPI安装二进制wheel,无新增本地扩展构建。cif2pos2所需真正的libgfortran.so.3来自Anaconda libgfortran3.0.0 build1,私有安装在deps/libgfortran3,只对该子进程添加库路径。没有以.so.5冒充.so.3,也不要求加载编译器/MPI模块。
PBE/LDA连接既有/public/software/vasp/potcar/version64/PBE和LDA,不部署包中旧势库、不启用PW91。-vaspkit/-atomkit调用现有1.3.5/0.9.0公共包装器并保留个人配置。-phonond按需调用现有Phonopy2.43.6,公共Phonopy默认版本与用户父进程环境不变。Python库路径/单线程数学库设置仅用于qvasp子进程;module卸载恢复原PATH和根目录变量。
module load qvasp/2.26
qvasp -help
qvasp -relax # 写入INCAR,再核对体系参数
qvasp -pbe C H # 按POSCAR的元素/势名顺序拼接
qvasp -3k 0.03 # 三维网格;用户检查收敛
qvasp -c2p sample.cif
qvasp -c2p2 sample.cif # 私有Fortran3运行库
qvasp -p2c POSCAR # <当前目录名>.cif
qvasp -sc POSCAR # 交互扩胞
qvasp -e # OUTCAR最后能量
qvasp -bandd # EIGENVAL / OUTCAR / CONTCAR
qvasp -dosd # DOSCAR → DOS*.dat
qvasp -wkd # LOCPOT / OUTCAR,选择Efermi及方向
qvasp -piez -c elastic.OUTCAR -e electronic.OUTCAR -i ionic.OUTCAR -o tensors.txt
qvasp -rdf # XDATCAR / OSZICAR / OUTCAR,交互选择两种元素
qvasp -baderd # AECCAR0 / AECCAR2 / CHGCAR
在用户算例目录中执行并备份需保留的输入。部分原生参数经过固定长度Fortran转发,宜使用短普通文件名。模板、自动维度判断、k点与路径生成均需用户检查;退出0或“OK”不证明结果完整。
Slurm适配。 无参数qvasp查询本人作业;qvasp -sub DIR...先要求每个目录中已有非空可读的vasp.script,再调用sbatch,不覆盖脚本或自动决定VASP/分区/资源。用户可通过yskit选择已有VASP模板,检查后保存为vasp.script。qvasp -d JOBID...只取消显式ID。qvasp是串行轻量工具,没有专用Slurm模板;实际8173m VASP作业继续使用56核模板。
扩展接口。 -phonon只生成需编辑的INCAR/band.conf/mesh.conf;-phonond需DFPT vasprun.xml、POSCAR-unitcell和填写后的band.conf,保留官方--factor=521.471,结果为cm⁻¹。已适配Phonopy2.43.6成功--gnuplot导出后返回1的行为,仅在输出为有效数值时接受。-ueff以Bash执行,VASP命令由用户填写;验收覆盖输入准备,未执行整套线性响应VASP。Raman/SLME/旧Python2 VTST/KDB/Matlab不开放,pymatgen/seekpath/sumo未安装。
验收与限制。 manage01汇总、login01普通用户各19组通过,覆盖生成文件和数值;包括现有赝势拼接、官方能带/DOS/功函数/Bader参考、分文件压电张量、三帧PBC RDF、三维BCC路径/HSE权重和既有Phonopy接口。默认/显式module、真实只读Slurm查询、父进程环境恢复及已有个人配置保留通过;提交/取消仅模拟命令验收,无真实任务变更。
二维石墨烯在上游2.26的-kline/-khse/-kphonon报label not found: A,此类路径改用既有VASPKIT或人工核对。-piez -a中相邻电子/离子表可能覆盖电子项,使用已验证的分文件-c/-e/-i。-redlat已验收Direct坐标、无选择性约束/速度的格式,其他变体未验证。旧声子存储band.yaml的DIM=4与配套DIM=2/16原子力常数不符;当前DIM=2由现有Phonopy4.7.2 Rust后端复核,差小于6×10⁻¹¹cm⁻¹,失败记录保留、容差未放宽。上述限制未以科学源码补丁修复。
公共详细说明:/public/software/qvasp/2.26/README.cluster.md;安装/适配/依赖/验收记录:qvasp交付状态。官方资料:主页、安装、2.26发布。
6.17 Multiwfn nogui#
| 版本 | 安装方式 | 路径 / 模块 |
|---|---|---|
| 2026.10.1 | 官方Linux noGUI二进制,未本地重编;仅基础系统运行库,无Conda/MPI/CUDA要求 | /public/software/multiwfn_nogui/2026.10.1;multiwfn_nogui/2026.10.1 |
用于波函数、电子密度、原子电荷和成键等分析。nogui可通过SSH文本菜单交互并导出数据;图形相关功能不可用。
module load multiwfn_nogui/2026.10.1
Multiwfn your.fch
# 等价命令:multiwfn_nogui your.fch
公共settings默认1线程,原始模板另存 settings.upstream.ini。个人设置请将 $MULTIWFN_ROOT/settings.ini 复制到自己的工作目录,或者用 -set /path/settings.ini,不要修改共享模板。入口自动设置资源目录、OpenMP栈和栈限制。命令行 -nt N 可指定线程。
大型分析从yskit选择56核模板:
sbatch sub_multiwfn_nogui_2026.10.1_8173m.sh your.fch commands.in
commands.in每行对应一次菜单输入,最后正常退出用q;不要直接提交一个需要人机输入但未提供菜单文件的任务。模板1进程×56线程,不能使用56MPI启动56份相同计算。官方示例/quick start/引用说明保留在安装前缀;官方H2O波函数Mulliken分析在login01单线程、8173m56线程均通过,总电荷约-9.7e-9。
6.18 OVITO Python#
| 版本 | 发行和环境 | 路径 / 模块 |
|---|---|---|
| 3.16.1 | 官方conda.ovito.org Linux Python包,Python3.11.16、NumPy2.4.6,依赖清华conda-forge;不是conda-forge Basic-only包 | /public/software/ovito/3.16.1;ovito/3.16.1 |
独立环境 /public/toolkit/miniconda3/envs/ovito-3.16.1,用于分子动力学轨迹的结构、缺陷、配位和RDF批处理。本次没有购买/激活Pro桌面版;也没有承诺远程桌面渲染的所有功能。
module load ovito/3.16.1
python analysis.py
模块默认 OVITO_THREAD_COUNT=1,大型计算用yskit的1进程×56核模板,设置该变量为56后启动Python。用户脚本可以使用OVITO原生并行算法;如另开进程池,应重新分配每进程线程,避免56进程各启56线程。256原子FCC分类、配位数12及RDF导出通过。参考官方线程说明。
6.19 critic2#
| 正式源码标签 | 工具链和能力 | 路径 / 模块 |
|---|---|---|
| 1.4 | GCC/GFortran13.3、通用-O2、OpenMP;LAPACK3.12.1、Readline8.2、NLopt2.10.0、Libxc7.0.0、Libcint tag6.1.2 | /public/software/critic2/1.4/gcc-13.3;critic2/1.4 |
固定正式tag1.4、commit897b033a9516c246d238543d75c51f769514ef13。该tag内VERSION实际为1.4.155且启动横幅带development,保留上游内容;这不是额外安装了另一份未知开发分支。Libcint tag6.1.2的库内部版本仍为6.1.1,同样按上游原样记录。
CMake源码构建,GNU Fortran/C Release覆盖为已批准的-O2。LAPACK/BLAS静态链接已有同编译器通用库;NLopt/Libxc/Libcint各自私有构建并写入运行库搜索路径。关闭GUI、tblite、libxtb及共享开发库,Libxc保留上游默认导数构建选项。不要混用其他软件的Fortran .mod 或Intel/GNU库。
module load critic2/1.4
critic2 input.cri output.cro
大型任务使用yskit的1进程×56线程模板。Gaussian格式化检查点文件在critic2中使用 .fchk 后缀;Multiwfn接受的 .fch 后缀不能直接假定被critic2自动识别。
官方nodata回归原始430/434通过:3项为等距邻居排列/代表原子选择差异,规范化比较通过;1项为当前Libxc功能目录与上游参考不同。原始失败不抹去,也不写成434全通过。另用水分子波函数验证:网格积分10.00007096电子,Libcint积分10.0000000097电子,Libxc积分和HF能量计算正常,程序0警告结束。详细原始差异与数值在安装记录中保留。
6.20 Bader#
| 版本 | 编译方式 | 路径 / 模块 |
|---|---|---|
| 1.05 | Henkelman官网源码,GFortran13.3,通用-O2,串行 | /public/software/bader/1.05/gcc-13.3;bader/1.05 |
这是独立公共Bader安装,与qvasp内附的旧bader.x分别管理。源码无OpenMP指令,不支持用MPI并行计算一次密度积分;不要简单写成56份相同命令。
module load bader/1.05
bader CHGCAR -ref CHGCAR_sum
CHGCAR_sum须来自用户正确准备的全电子参考密度,不能凭文件名推断其物理内容。小型串行后处理可在login01运行,未提供假并行Slurm模板。验收重新计算已有qvasp金刚石DFT电荷密度,ACF与参考逐字一致,两原子电子数3.986027和4.013975,总电子数8。
5.30 py4vasp#
| 版本 | 平台 | 安装方式与环境 | module |
|---|---|---|---|
| 0.11.3 | login01 结果分析;与 CPU/GPU VASP HDF5 输出配合 | 完整 PyPI 包,独立 Conda Python 3.11 环境 /public/toolkit/miniconda3/envs/py4vasp;Conda 国内镜像、pip 清华源 |
py4vasp/0.11.3 |
py4vasp 读取 VASP 的 vaspout.h5,不会替代 VASP 可执行程序。环境包含 h5py 3.16.0、NumPy 2.4.6、Plotly 7.1.0、nglview 4.0.1、ASE 3.29.0;完整锁定清单见 pip freeze(详见对应公共安装说明)。h5py 自带 HDF5 2.0.0 用于独立 Python 分析进程,VASP 链接的私有 Fortran HDF5 为 1.14.6,两者职责不同。
module load py4vasp/0.11.3
python - <<'PY'
import py4vasp
calculation = py4vasp.Calculation.from_path('.')
print(calculation.energy.read())
print(calculation.force.read()['forces'])
print(calculation.structure.read())
calculation.energy.to_graph().to_plotly().write_html('energy.html')
PY
在有 vaspout.h5 的算例目录运行;也可将 '.' 改为结果目录路径。生成的 HTML 下载后可在浏览器中查看。不要把 py4vasp 安装到 DeePMD 等计算环境,也不要同时加载多个公共科学 Python 环境。已检查依赖、导入及真实五版 VASP 结果读取、Plotly 图构造;需要浏览器的静态 PNG/PDF 导出尚未配置。说明与原始验证见 py4vasp 记录(详见对应公共安装说明)。
6.21 VTST scripts#
| 修订号 | 部署方式与运行环境 | 路径 / 模块 |
|---|---|---|
| 1040 | 用户上传官方脚本包,原样解压;系统 Perl 5.38.2、包内 Vasp.pm/Math/Fortran 模块及系统 gnuplot;无需编译器、MPI、CUDA | /public/software/vasp/vtstscripts/1040;vtstscripts/1040 |
提供 NEB 插值和能垒后处理、dimer/动力学矩阵辅助、结构转换、电荷密度及 DOS 工具。1040 是脚本包修订号,与 VASP 内置 VTST 代码 revision 214 分别管理。所有平台共用这套脚本,小型准备和后处理可在 login01 运行;计算仍选择匹配的 VASP 功能构建并使用其 Slurm 模板。
module load vtstscripts/1040
nebmake.pl POSCAR.initial POSCAR.final 5
dist.pl POSCAR.initial POSCAR.final
这里的5表示五个中间图像,加端点共七个目录00至06。两个端点须保持元素和原子顺序匹配,检查插值路径是否合理。完成NEB后,端点目录也放入相应OUTCAR,再依次运行nebef.pl、nebbarrier.pl、nebspline.pl;后者读取neb.dat生成spline.dat、exts.dat和mep.eps。nebresults.pl会解压/重新压缩OUTCAR,先在工作副本中分析有保留要求的原数据。
module增加PATH/PERL5LIB并设置VTSTSCRIPTS_ROOT,不切换VASP或Conda环境。可选Python工具需要NumPy/ASE时加载ase/3.29.0,现有Python3.11.16/NumPy2.3.5/ASE3.29.0下nebmake.py ... -NOIDPP的线性插值已实际验证,默认IDPP未测试。25个Python文件中20个通过语法检查;con2xyz.py、pos2xyz.py、xyz2con.py、coverage.py含旧Python2语法,getangle.py缺右括号,保持上游原样,不能直接用于Python3。优先使用相应Perl工具;aselite中另有np.product旧API兼容限制,未宣称整个Python工具集完成移植。旧AKMC自动提交脚本未适配Slurm。
验收核对161个原始文件SHA不变、111个Perl及13个Shell语法、五图像坐标、3Å距离、归一化模式向量、POSCAR→CON→XYZ转换、解析1eV能垒的样条与EPS图;login01普通用户模块发现/加载/卸载、与VASP模块共存及Python线性插值通过,无VASP计算或作业提交。详情见公共使用说明(集群内文件:/public/software/vasp/vtstscripts/1040/README.cluster.md)和部署记录(详见对应公共安装说明),用途与参数见官方脚本说明。
6.22 vasptool#
vasptool 用于VASP输入准备、结构处理和计算结果分析。本集群将上传的本地集成包修复后部署,版本、路径和模块统一采用管理员指定的 1.5.2;它与现有VASPKIT1.3.5、qvasp分别保留。
| 版本 | 部署方式与运行环境 | 安装路径 | 模块 |
|---|---|---|---|
| 1.5.2 | 上传二进制集成+可维护Python修复;Python3.11.16、NumPy1.26.4、SciPy1.13.1、Matplotlib3.8.4、Pillow10.4.0 | /public/software/vasptool/1.5.2 |
vasptool/1.5.2 |
上传原包名为1.5.2-local-r5,由既有修改的1.5.1常规内核、1.5.2扩展内核和Python前端组成。未提供完整Fortran科学源码,原编译器及优化选项不能据此推定;本轮未改动科学ELF。新增修复保留Python源码和补丁,运行环境位于/public/toolkit/miniconda3/envs/vasptool-1.5.2。Conda使用清华conda-forge镜像,科学包按已验证的版本锁使用清华PyPI wheel安装,不混用其他科学软件环境,也不需要加载VASP编译器或MPI模块来启动vasptool。
module load vasptool/1.5.2
vasptool --version
vasptool --show-config
vasptool # 交互菜单,在自己的工作目录运行
vasptool --lang en # 仅本次使用英文;菜单99可保存语言偏好
vasptool -task 257 # 示例:按提示分析匹配的投影能带输入
无需初始化即可使用公共配置:PBE/LDA指向现有/public/software/vasp/potcar/version64/{PBE,LDA};没有公共PW91库。若已有~/.vaspkit,程序优先读取个人整份配置,不覆盖、不逐键合并。先用--show-config确认来源;旧配置中的Python、utilities、势库和PBS提交项需要在自己的副本中检查。个人配置可参考/public/software/vasptool/1.5.2/bin/.vaspkit,已有文件请先自行备份。
本轮重点修复:320电荷/磁化网格与PAW扩胞,257匹配同一PROCAR状态的能量/投影和k路径,110按原子投影计算IPR,u1振动热修正、u2 Bader结果转PQR的Python3兼容,109 Slurm模板和实际提交退出码,917路径元数据检查,以及202/509的错误解释或数值显示。IPR是所选原子投影子空间的指标,零投影态单列未定义;u1只含振动项;u2默认N_Bader−ZVAL电子增量,vasptool u2 --net-charge改用净电荷符号。320输出是原周期密度的超胞表示,不能当作重新自洽的计算。
109在缺少job.sh时生成现有VASP6.6.1普通CPU/8173m模板,56MPI×1;不覆盖已有脚本,确认后才调用sbatch job.sh。提交前检查分区、VASP分支和输入;其他版本/P100/V100模板可用yskit选择。小型前后处理可在login01执行;大PROCAR、CHGCAR或FFT任务使用计算节点,8173m仍须申请总56CPU,不启动56份相同的串行后处理写同一文件。一般扩胞默认工作数组预算2GiB,可按实际已分配内存设置VASPTOOL_MAX_MEMORY_GB。
正式安装在login01普通用户下通过公共模块显式/默认加载、卸载恢复、个人配置优先级、原生库依赖和13项包回放;11个全新正式路径案例通过,关键科学输出与此前独立验证的候选一致。独立检查包含24480行投影能带、IPR、扩胞电荷和PAW、热修正及Bader符号。不表示187个入口全部获得科学认证:其他高级分支仍沿用原内核,503窗口/网格收敛敏感性及传统WAVECAR严格FFT约1.0056×10⁻⁵的开放偏差保留。详见安装说明(集群内文件:/public/software/vasptool/1.5.2/CLUSTER-CHANGES.md)和修复及验收记录(详见对应公共安装说明)。