
一、集群简介
鸢算科技彩虹一号集群于2024年9月正式投入运行,是国内首个以GPU节点为主要计算资源的高性能科学计算平台。与国内大多数仍以CPU为核心的传统超算集群不同,彩虹一号开创性地构建了“GPU为主、CPU为辅”的异构计算架构。这一前瞻性设计源于我们对科学计算发展趋势的深刻洞察:GPU加速可使VASP、ABACUS、CP2K等主流第一性原理软件的计算效率提升数倍至数十倍,在实现相同计算能力的前提下,能为用户节省200%以上的科研成本,让科研群体的有限经费发挥更大的科研价值。
我们深知科研道路上的每一步都不易,特别是对于自费投身科学研究的学生群体。当一个个创新的想法因为计算资源不足而搁浅,我们希望能成为你们最坚实的后盾。作为鸢算科技旗下唯一设有学生特惠的计算集群,彩虹一号专为预算有限的学生群体及希望体验GPU加速优势的科研用户而生。
二、节点配置


彩虹一号集群采用NVIDIA Tesla P100计算卡作为核心计算资源,配合高主频Intel® Xeon® E5-2667 V4处理器,构建了稳定高效的计算平台。在使用VASP等单卡单进程优化软件时,该配置可充分发挥P100显卡的完整算力。每个节点支持最多八张P100显卡并行计算,并具备优异的跨卡并行效率。P100显卡节点的收费模式是独占模式,用户通过包月/包年的方式在集群上获得专属的计算节点(点此了解集群收费模式)。针对VASP计算大体系或多K点任务时可能遇到的显存不足问题,以及诸如Lobster等多线程数据处理软件的需求,我们同时提供免费CPU计算节点。该资源专用于支持VASP电子结构计算与多核并行数据处理任务,可作为您GPU计算的有力补充,构建灵活弹性的异构计算工作流。
三、资源价目表
| 每个账户拥有500G免费存储空间 | ||||
| 单价/元 | 一个月 | 三个月 | 六个月 | 一年 |
| 一个节点 | 400 | 395 | 390 | 385 |
| 两个节点 | 395 | 390 | 385 | 380 |
| 四个节点 | 390 | 385 | 380 | 375 |
| 六个节点 | 385 | 380 | 375 | 370 |
| 八个节点 | 380 | 375 | 370 | 360 |
注:一张显卡是一个节点,表内价格为每张显卡每个月的定价
四、软件列表
1. 基础软件
1.1 module
Environment Modules是一种用于简化Shell初始化过程的工具,它允许用户通过加载模块文件(modulefiles)在会话期间动态调整运行环境。每个模块文件包含为特定应用配置Shell所需的信息,包括环境变量的设置。用户可以使用module命令加载或卸载模块,这些命令会解释并执行对应的模块文件,实现对Shell环境的动态修改。模块文件通常会指示module命令调整诸如PATH、MANPATH等关键环境变量,确保所需软件和依赖能够正确识别和使用。modules模块文件可支持多用户共享,系统管理员可部署公共模块供所有用户使用,同时用户也可创建个人专用模块,用于补充或覆盖共享配置,实现环境管理的灵活性和个性化定制。通过Modules,用户能够以清晰、有序的方式在不同软件环境间切换,避免环境变量冲突,提升工作效率。
module常见指令
module help # 显示帮助信息
module avail # 显示系统已安装的所有软件模块,可简写为:module av
module load <module_name> # 加载指定的软件模块到当前环境,等效命令:module add
module unload <module_name> # 卸载模块,从当前环境移除指定的软件模块
module list # 列出当前会话中已加载的所有模块,可简写为:module li
module purge # 卸载当前会话中所有已加载的模块,注意:这会清除所有环境修改,恢复到初始状态
module switch <old_module> <new_module> # 卸载旧模块的同时加载新模块
更多使用方法,请看帮助文档《module使用方法》。
1.2 miniconda
conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换,conda支持python、R、 ruby、 lua、 scala、 java、 javaScript、 C/ C++、 fortran 等多种语言,还支持大部分生信和python科学常用包的安装。anaconda和miniconda都提供了conda,两者的区别在于anaconda打包了很多numpy、scipy、pandas这些科学库,而后者没有。
平台上提供最新版本的miniconda给所有用户使用,安装位置在/public/toolkit/miniconda3,具体使用方法请看帮助文档《miniconda3使用方法》,用户也可以选择自行安装conda到自己的家目录下,这里不再详细讲解安装方法
conda常见指令
conda env list #列出可用的conda环境
conda create -n myenv1 python=3.9 #创建环境,名字为myenv1,python版本为3.9
conda activate myenv1 #激活名为myenv1的环境
pip install phonopy -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple #pip命令安装名为phonopy的组件,使用清华源加速
conda list #列出当前环境中所有组件
conda deactivate #退出当前环境
conda env remove -n myenv1 #删除名为myenv1的环境
1.3 intel oneAPI
原来用于编译intel程序的“Intel全家桶”指的是Intel Parallel Studio XE,里面集成了C/C++/Fortran语言的编译器(分别是icc、icpc、ifort)、MKL数学库及各种高效调试工具,甚至还有Intel MPI, 可以说是编译量化软件最常用的一套“装备”。然而从2021年开始Intel不再提供旧版Parallel Studio XE下载页面,而是升级成了oneAPI。
Base Toolkit包里含icc、icpc编译器和MKL库,却不含ifort。而HPC Toolkit包里含icc、icpc、ifort,却不含MKL库。显然下载任一个包都无法完全替代以前的“全家桶”。 因此彩虹一号采用安装Intel Base Toolkit和HPC Toolkit方法,来替换以前的Parallel Studio XE。
| 版本号 | 安装路径 |
| 2023.2.0 | /public/toolkit/intel/oneapi_2023 |
| 2024.2.1 | /public/toolkit/intel/oneapi_2024.2 |
oneAPI 2023.2是支持经典编译器(icc,icpc,ifort)的最后一个版本,从2024.0版本开始,icx/icpx(C/C++)和 ifx(Fortran)成为唯一的官方编译器。它们基于 LLVM,旨在提供更好的标准兼容性、更快的编译速度以及对新硬件特性(如 GPU 加速)的原生支持。
1.4 nvhpc
nvhpc是一套经过全面验证的编译器、库及软件工具集,旨在显著提升开发者的工作效率,并最大限度地优化高性能计算(HPC)应用程序的性能与可移植性。nvhpc包含支持C、C++和Fortran语言的编译器,允许开发者通过标准C++/Fortran、OpenACC®指令以及CUDA®等多种编程模型,为HPC建模与仿真应用实现GPU加速。同时,其中提供的GPU加速数学库可充分发挥常用HPC算法的性能潜力,而经过深度优化的通信库则支持基于标准的多GPU与可扩展系统编程方案。nvhpc已广泛应用于VASP、Gaussian、GROMACS、NAMD等诸多主流HPC软件,借助CUDA、OpenACC及GPU加速数学库,为用户带来突破性的计算性能。开发者可使用同一套工具链对自有应用进行GPU加速改造,从而在NVIDIA GPU平台上实现计算速度与能效的跨越式提升。
| 版本号 | 安装路径 |
| 25.3 | /public/toolkit/nvidia/hpc_sdk |
1.5 NVIDIA Driver
NVIDIA显卡驱动程序,登录节点和所有GPU计算节点统一版本
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.195.03 Driver Version: 570.195.03 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla P100-PCIE-16GB Off | 00000000:04:00.0 Off | 0 |
| N/A 29C P0 24W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 Tesla P100-PCIE-16GB Off | 00000000:05:00.0 Off | 0 |
| N/A 31C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 2 Tesla P100-PCIE-16GB Off | 00000000:08:00.0 Off | 0 |
| N/A 31C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 3 Tesla P100-PCIE-16GB Off | 00000000:09:00.0 Off | 0 |
| N/A 33C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 4 Tesla P100-PCIE-16GB Off | 00000000:84:00.0 Off | 0 |
| N/A 26C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 5 Tesla P100-PCIE-16GB Off | 00000000:85:00.0 Off | 0 |
| N/A 29C P0 26W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 6 Tesla P100-PCIE-16GB Off | 00000000:88:00.0 Off | 0 |
| N/A 28C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 7 Tesla P100-PCIE-16GB Off | 00000000:89:00.0 Off | 0 |
| N/A 27C P0 25W / 250W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
1.6 OpenMPI
OpenMPI是一个开源的、高性能的消息传递接口(MPI)标准实现,专为并行计算和分布式计算系统设计,广泛应用于从多核工作站到大型超级计算机的各类环境。包含mpicc(C 编译器包装)、mpic++(C++ 编译器包装)、mpifort(Fortran 编译器包装)等编译命令,以及 mpirun或 mpiexec等运行命令。
| 版本号 | 安装路径 | 编译方式 |
| 4.1.8 | /public/toolkit/openmpi-4.1.8 | –with-cuda |
1.7 CMAKE
CMake是一款强大且广泛使用的跨平台构建系统,它不直接编译代码,而是根据您编写的规则(CMakeLists.txt文件),为不同的平台和编译器生成相应的原生构建文件。
| 版本号 | 安装路径 |
| 3.31.1 | /public/toolkit/cmake/cmake-3.31.1 |
2. 应用软件
2.1 VASP
The Vienna Ab initio Simulation Package (VASP)是一个用于原子尺度材料建模的计算机程序,例如电子结构计算和量子力学分子动力学。它是目前材料模拟和计算物质科学研究中最流行的商用软件之一。近年来,随着GPU的发展,vasp.6.2.0中正式发布了 VASP的OpenACC GPU端口,该版本带来了无与伦比的计算效率提升。在鸢算科技彩虹一号集群,8卡P100并行运行GPU版本的VASP,可以达到200-300个CPU物理核心的性能
彩虹一号集群里安装的VASP分为CPU和GPU两种编译方式,分别在CPU节点和GPU节点运行,下面是所有VASP版本以及路径的汇总
| 编译方式_版本 | 路径 | 相关描述 |
| GPU_VASP.6.3.2 | /public/software/vasp/GPU/vasp.6.3.2 | 未经过特殊编译的普通版本的VASP.6.3.2 |
| GPU_VASP.6.3.2_optcell | /public/software/vasp/GPU/vasp.6.3.2_optcell | 经过特殊编译支持IOPTCELL参数的VASP.6.3.2 |
| GPU_VASP.6.3.2_vtst | /public/software/vasp/GPU/vasp.6.3.2_vtst | 经过特殊编译支持CI-NEB计算的VASP.6.3.2 |
| GPU_VASP.6.4.2 | /public/software/vasp/GPU/vasp.6.4.2 | 未经过特殊编译的普通版本的VASP.6.4.2 |
| GPU_VASP.6.4.2_optcell | /public/software/vasp/GPU/vasp.6.4.2_optcell | 经过特殊编译支持IOPTCELL参数的VASP.6.4.2 |
| GPU_VASP.6.4.2_vtst | /public/software/vasp/GPU/vasp.6.4.2_vtst | 经过特殊编译支持CI-NEB计算的VASP.6.4.2 |
| GPU_VASP.6.5.1 | /public/software/vasp/GPU/vasp.6.5.1 | 未经过特殊编译的普通版本的VASP.6.5.1 |
| GPU_VASP.6.5.1_optcell | /public/software/vasp/GPU/vasp.6.5.1_optcell | 经过特殊编译支持IOPTCELL参数的VASP.6.5.1 |
| GPU_VASP.6.5.1_vtst | /public/software/vasp/GPU/vasp.6.5.1_vtst | 经过特殊编译支持CI-NEB计算的VASP.6.5.1 |
| CPU_VASP.6.4.2 | /public/software/vasp/CPU/vasp.6.4.2 | 未经过特殊编译的普通版本的VASP.6.4.2 |
| CPU_VASP.6.4.2_vaspsol | /public/software/vasp/CPU/vasp.6.4.2_vaspsol | 经过特殊编译支持VASPsol计算的VASP.6.4.2 |
| CPU_VASP.6.4.2_vtst | /public/software/vasp/CPU/vasp.6.4.2_vtst | 经过特殊编译支持CI-NEB计算的VASP.6.4.2 |
| CPU_VASP.6.4.2_wannier90 | /public/software/vasp/CPU/vasp.6.4.2_wannier90 | 经过特殊编译支持wannier90计算的VASP.6.4.2 |
GPU_VASP
普通版本是指使用VASP源码包直接进行编译,未经过任何修改、增加或删除
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
dos2unix ./POSCAR ./INCAR ./KPOINTS ./POTCAR
export OMP_NUM_THREADS=1
export NO_STOP_MESSAGE=1
source /public/toolkit/intel/oneapi_2023.2/mkl/latest/env/vars.sh
module load /public/toolkit/nvidia/hpc_sdk/modulefiles/nvhpc/25.3
export vasp_path=/public/software/vasp/GPU/vasp.6.4.2/vasp_std
mpirun -np $SLURM_NTASKS --bind-to none $vasp_path
提交作业(假设提交脚本名字是sub_vasp.sh)
sbatch sub_vasp.sh
怎么修改我要调用进行VASP计算的显卡数量?
在上述提交脚本中,–ntasks=1和–gres=gpu:1指定的是调用显卡数量。彩虹一号VASP计算支持多卡并行(最高八卡并行),多卡并行能够提高VASP计算速度和GPU可计算模型大小,详情请看帮助文档《GPU加速VASP计算》
怎么修改我要调用的VASP的版本?
指定VASP版本(比如vasp.6.5.1),按照前面表格中的路径修改脚本中的vasp_path=/public/software/vasp/GPU/vasp.6.5.1/vasp_std
怎么使用vasp_std或vasp_ncl?
在VASP路径下,有std,gam和ncl三个版本的VASP可执行程序,需要其他版本(比如ncl),修改脚本中的vasp_path=/public/software/vasp/GPU/vasp.6.4.2/vasp_ncl
GPU_OPTCELL
在使用VASP进行材料模拟时,有时需要固定晶胞的某些方向不进行优化,尤其是在处理表面、二维或一维体系时。VASP本身并不直接提供这一功能,彩虹一号集群使用肖承诚博士的补丁对VASP源码进行特殊修改编译,使得VASP支持固定指定方向晶格进行结构优化的功能
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
dos2unix ./POSCAR ./INCAR ./KPOINTS ./POTCAR
export OMP_NUM_THREADS=1
export NO_STOP_MESSAGE=1
source /public/toolkit/intel/oneapi_2023.2/mkl/latest/env/vars.sh
module load /public/toolkit/nvidia/hpc_sdk/modulefiles/nvhpc/25.3
export vasp_path=/public/software/vasp/GPU/vasp.6.4.2_optcell/vasp_std
mpirun -np $SLURM_NTASKS --bind-to none $vasp_path
使用方法与VASP普通版本一致,只是增加了固定某方向晶格优化的功能
在INCAR中增加或修改以下两项参数
ISIF = 3
IOPTCELL = xx xy xz yx yy yz zx zy zz
上面的九个参数对应晶格常数矩阵
xx xy xz
yx yy yz
zx zy zz
1代表驰豫,0代表固定。例如,固定c轴进行结构优化的设置就是
IOPTCELL = 1 1 0 1 1 0 0 0 0
GPU_VTST
VASP原版自带NEB功能,后来G. Henkelman(VTST的开发者)又发展出了CI-NEB方法,CI-NEB方法只需要很少的点,比如包含初、末态总共5个甚至3个点就能准确定位过渡态,是最有效率的寻找过渡态的方法之一。彩虹一号集群使用VTST代码包对VASP源码进行特殊修改和编译,实现了对该计算方法的支持。
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
dos2unix ./POSCAR ./INCAR ./KPOINTS ./POTCAR
export OMP_NUM_THREADS=1
export NO_STOP_MESSAGE=1
source /public/toolkit/intel/oneapi_2023.2/mkl/latest/env/vars.sh
module load /public/toolkit/nvidia/hpc_sdk/modulefiles/nvhpc/25.3
export vasp_path=/public/software/vasp/GPU/vasp.6.4.2_vtst/vasp_std
mpirun -np $SLURM_NTASKS --bind-to none $vasp_path
使用方法与VASP普通版本一致,只是增加了CI-NEB方法计算过渡态的功能
怎么修改INCAR和提交脚本?
###在INCAR中,需要修改或增加###
IBRION = 3
POTIM = 0
IOPT = 1 #IOPT推荐1,2,或7。 0代表启用VASP自带的优化算法,(比如:IOPT=0,则IBRION=1, POTIM=0.1)
ICHAIN = 0
LCLIMB = .TRUE.
IMAGES = 1 #插点数量
SPRING = -5 #弹簧力常数,用-5默认值即可
###在提交脚本中,需要修改###
#SBATCH --ntasks=1 #这里的1要修改为插点数量
#SBATCH --gres=gpu:1 #这里的gpu数量需要选择合适的
注意: 在网上看到一些说法CI-NEB插点越多越好,这是错误的结论!!由于能量最高的点可以自动爬坡,所以有的时候插一个点也可以精确的找到过渡态的位置,大多数时候插3到4个点已经完全能应付正常的过渡态计算需要。(具体插入多少点合适需要用dist.pl脚本判断)
怎么判断多少个GPU足够用来计算CI-NEB?
①CI-NEB 的计算量可按原子数量 × 插点数量进行等效估算,例如 80 原子的结构若插 3 个点,其等效计算量约为 240 原子。彩虹一号集群中,单 GPU 在 K 点、ENCUT 参数合理配置的前提下,可支撑的等效计算原子数约为 200-300。
②同时需关注插点数量与 GPU 数量的匹配性:若插点数量无法被 GPU 数量整除,会出现算力分配不均的情况,比如 5 个插点用 3 个 GPU 计算时,前两个 GPU 需承担 2 个插点、另一个仅承担 1 个,此时可以将插点数量调整为4,用2个GPU计算,或是插点数量调整为6个,用3个GPU计算。
③CI-NEB 计算效率最优的配置原则为:在显存充足的前提下,选择满足计算需求的最小 GPU 数量。例如 4 个插点的计算任务,若 2 个 GPU 即可满足显存要求,无需使用 4 个 GPU,避免算力冗余。
CPU_VASPsol
VASPsol是在VASP中植入了一个实现使用隐式溶剂化模型的代码。该模型描述了静电、空化和色散对溶质和溶剂相互作用的影响。它实现了考虑溶剂化对分子在晶体表面吸附及其反应能垒的影响。VASPsol代码目前仅支持编译到CPU端,因此彩虹一号集群将VASPsol代码编译到了免费的CPU节点。
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p CPU
#SBATCH --nodes=1
#SBATCH --ntasks=40
ulimit -s unlimited
source /public/toolkit/intel/oneapi_2023/setvars.sh intel64 > /dev/null
export vasp_path=/public/software/vasp/CPU/vasp.6.4.2_vaspsol/vasp_std
mpirun -np $SLURM_NTASKS $vasp_path
怎么修改INCAR文件?
###在INCAR文件中增加或修改以下参数###
LSOL = .TRUE. #打开溶剂化模型
EB_K = 80 #溶剂介电常数
CPU_wannier90
VASP 与 Wannier90 的联用,核心是借助 VASP 完成第一性原理电子结构计算,再通过 Wannier90 生成最大局域化 Wannier 函数(MLWF),实现从平面波基组到实空间局域轨道的转换,进而高效开展紧束缚模型构建、能带插值、拓扑性质分析等进阶研究,是材料电子结构研究的常用组合。
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p CPU
#SBATCH --nodes=1
#SBATCH --ntasks=40
ulimit -s unlimited
source /public/toolkit/intel/oneapi_2023/setvars.sh intel64 > /dev/null
export vasp_path=/public/software/vasp/CPU/vasp.6.4.2_wannier90/vasp_std
mpirun -np $SLURM_NTASKS $vasp_path
关于wannier90使用方法,请看帮助文档《》
2.2 CP2K
CP2K 由国际开发者社区维护,以 GPL 协议开源,核心是通过 GPW/GAPW 方法解决传统平面波或纯高斯基组在大体系模拟中的效率瓶颈,能在保持精度的同时,高效处理含数百至数千原子的体系,是大规模从头算模拟的主流工具之一CP2K。与 VASP 等纯平面波软件相比,其在分子、溶液、表面等局域 – 周期性混合体系中更具效率优势
| 编译方式_版本 | 路径 |
| GPU_2024.3 | /public/software/cp2k/gpu/cp2k-2024.3 |
提交脚本参考示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --cpus-per-task=4
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
source /public/software/cp2k/gpu/cp2k-2024.3/tools/toolchain/install/setup
export PATH=$PATH:/public/toolkit/openmpi-4.1.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/openmpi-4.1.8/lib
export PATH=/public/toolkit/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/cuda-12.8/lib64
export cp2k_path=/public/software/cp2k/gpu/cp2k-2024.3/exe/local_cuda/cp2k.popt
mpirun -np $SLURM_NTASKS --bind-to none $cp2k_path -i abc.inp
提交作业(假设提交脚本名字是sub_cp2k.sh)
①将abc.inp改成自己实际的输入文件名字
②sbatch sub_cp2k.sh
怎么使用psmp等其他版本?
在cp2k安装路径下,共有四个版本,cp2k.popt、cp2k.psmp、cp2k.sopt和cp2k.ssmp
修改脚本中的cp2k_path=/public/software/cp2k/gpu/cp2k-2024.3/exe/local_cuda/cp2k.popt
2.3 LAMMPS
LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是美国桑迪亚国家实验室开发的开源经典分子动力学模拟软件,主打大规模、高并行、多体系适配,核心聚焦原子 / 分子尺度的经典动力学行为模拟,无量子力学计算能力,是材料、凝聚态物理、化工等领域做大规模体系模拟的主流工具。
| 编译方式_版本 | 路径 |
| GPU_29Aug2024 | /public/software/lammps/gpu/lammps-29Aug2024_gpu |
| KOKKOS_29Aug2024 | /public/software/lammps/gpu/lammps-29Aug2024_kokkos |
提交脚本示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
export OMP_NUM_THREADS=1
export PATH=$PATH:/public/toolkit/openmpi-4.1.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/openmpi-4.1.8/lib
export PATH=/public/toolkit/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/cuda-12.8/lib64
export lmp_path=/public/software/lammps/gpu/lammps-29Aug2024_gpu/src/lmp_mpi
mpirun -np $SLURM_NTASKS --bind-to none $lmp_path -sf gpu -pk gpu 1 -in in.lj
提交作业(假设提交脚本名字是sub_lmp.sh)
①in.lj改为自己的输入文件的名字
②sbatch sub_lmp.sh
2.4 GROMACS
GROMACS(Groningen Machine for Chemical Simulations)是荷兰格罗宁根大学开发的开源经典分子动力学模拟软件,主打生物大分子体系的高效模拟,对蛋白质、核酸、脂质、溶液等生物体系做了深度优化,计算速度快、易用性高,是计算生物、生物物理、药物设计领域的标杆工具。
| 编译方式_版本 | 路径 |
| 2024.6 | /public/software/gromacs/gpu/gromacs-2024.6 |
提交脚本示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --cpus-per-task=4
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
export PATH=/public/toolkit/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/cuda-12.8/lib64
export gmx_path=/public/software/gromacs/gpu/gromacs-2024.6/bin/gmx
$gmx_path mdrun -pin on -ntmpi $SLURM_NTASKS -ntomp $SLURM_CPUS_PER_TASK -nb gpu -pme gpu -bonded gpu -update gpu -s abc.tpr
提交作业(假设提交脚本名字是sub_gmx.sh)
①把abc.tpr改成你自己的输入文件的名字
②sbatch sub_gmx.sh
2.5 ABACUS
ABACUS(原子算筹,全称 Atomic-orbital Based Ab-initio Computation at USTC)是中国科学技术大学主导、DeepModeling 开源社区协同开发的国产开源第一性原理电子结构计算软件,2006 年启动研发,2021 年起社区化迭代,核心优势是双基组支持、AI 深度融合与异构硬件适配,适用于材料、化学、物理等领域的多尺度模拟。
| 编译方式_版本 | 路径 |
| intel_cuda_3.9.0.24 | /public/software/abacus/abacus-develop-3.9.0.24 |
提交脚本示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
source /public/toolkit/intel/oneapi_2023/mkl/latest/env/vars.sh
source /public/toolkit/intel/oneapi_2023/mpi/latest/env/vars.sh
source /public/toolkit/intel/oneapi_2023/compiler/latest/env/vars.sh
export PATH=/public/toolkit/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/cuda-12.8/lib64
export CPATH=/public/toolkit/nvidia/hpc_sdk/Linux_x86_64/25.3/math_libs/12.8/targets/x86_64-linux/include:$CPATH
export LD_LIBRARY_PATH=/public/toolkit/nvidia/hpc_sdk/Linux_x86_64/25.3/comm_libs/12.8/hpcx/hpcx-2.20/ucc/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/public/toolkit/nvidia/hpc_sdk/Linux_x86_64/25.3/comm_libs/12.8/hpcx/hpcx-2.20/ucx/lib:$LD_LIBRARY_PATH
source /public/software/abacus/abacus-develop-3.9.0.24/toolchain/abacus_env.sh
ulimit -s unlimited
OMP_NUM_THREADS=1
mpirun -np $SLURM_NTASKS /public/software/abacus/abacus-develop-3.9.0.24/bin/abacus
2.6 GPUMD
GPUMD 是 “图形处理器分子动力学”(Graphics Processing Units Molecular Dynamics)的缩写,是一款完全基于图形处理器(GPU)实现的通用分子动力学(MD)软件包。除支持多种经验原子间势函数外,该软件还兼容神经演化势(NEP)模型;用户可通过其自带的 nep 可执行程序构建此类势函数模型。
官方链接:https://gpumd.org/
| 编译方式_版本 | 路径 |
| GPUMD-4.2 | /public/software/gpumd/GPUMD-4.2 |
| GPUMD-4.8 | /public/software/gpumd/GPUMD-4.8 |
提交脚本示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p GPU
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --gres=gpu:1
export PATH=/public/toolkit/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/toolkit/cuda-12.8/lib64
export PLUMED_KERNEL=/public/software/GPUMD/plumed-2.8.2/lib/libplumedKernel.so
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/software/GPUMD/plumed-2.8.2/lib
export PATH=$PATH:/public/software/GPUMD/plumed-2.8.2/bin
export NO_STOP_MESSAGE=1
export OMP_NUM_THREADS=1
/public/software/GPUMD/src/gpumd
怎么使用nep命令?
只需要把路径/public/software/GPUMD/src/gpumd中的gpumd换成nep即可
2.7 DeepMD-kit
DeePMD-kit 是一款基于 Python/C++ 开发的软件包,旨在最大程度降低构建基于深度学习的原子间势能与力场模型、以及开展分子动力学(MD)模拟的门槛。这为解决分子模拟领域中 “精度 – 效率” 难以兼顾的难题带来了新的思路。DeePMD-kit 的应用范围覆盖有限分子体系至扩展体系,也适用于金属体系到化学键合体系等各类研究场景。
官方链接:https://deepmodeling.com/space/DeePMD-kit
| 版本 | 路径 |
| v3.1.2 | /public/software/deepmd-kit/deepmd-kit-3.1.2 |
machine.json示例
3. 辅助工具
3.1 vaspkit
VASPKIT 旨在提供一个功能强大且易用的交互工具,用于对主流第一性原理软件 VASP 的原始计算数据进行高通量材料性质分析。该程序支持交互式界面和命令行两种便捷运行模式。
官方链接:https://vaspkit.com/
| 版本 | 路径 |
| vaspkit.1.3.5 | /public/software/vaspkit/vaspkit.1.3.5 |
| vaspkit.1.5.1 | /public/software/vaspkit/vaspkit.1.5.1 |
怎么使用vaspkit?
彩虹一号集群默认将vaspkit添加到了系统运行环境中,使用命令
vaspkit #打开vaspkit.1.3.5
vaspkit.1.5.1 #打开vaspkit.1.5.1
怎么快速配置vaspkit的应用环境?
vaspkit的各项功能的正常运行需要官方指定的python组件、赝势文件路径等等各项繁琐配置
彩虹一号集群已经帮助大家预先配置好了vaspkit的环境,写在了vaspkit.1.3.5的安装路径中,只需要使用命令
cp /public/software/vaspkit/vaspkit.1.3.5/how_to_set_environment_variables ~/.vaspkit
即可完成vaspkit的环境配置,实现vaspkit各项功能的正常使用
其他功能和详细教程,请看官方文档和帮助文档《》
3.2 qvasp
qvasp 旨在提供一个功能强大且易用的交互工具,用于对主流第一性原理软件 VASP 的原始计算数据进行高通量材料性质分析,同时还支持构建多种材料模型。
官方链接:https://qvasp.com/
| 版本 | 路径 |
| qvasp-v2.24 | /public/software/qvasp-v2.24 |
详细使用方法请看帮助文档《》
3.3 GPUMD-kit
GPUMD-kit 是一款适配 GPUMD(图形处理器分子动力学)与 NEP(神经演化势)程序的工具集。它提供易用的命令行界面,可简化常用脚本与工作流的执行流程,涵盖脚本调用、格式转换、结构采样、NEP 模型构建流程及各类分析任务,旨在提升用户的工作效率。
官方链接:https://github.com/zhyan0603/GPUMDkit
| 版本 | 路径 |
| GPUMD-kit v1.5.0 | /public/software/gpumd-kit/GPUMDkit-1.5.0 |
详细使用方法请看帮助文档《》
3.4 bader
bader是一个实现可在电荷密度网格上完成 Bader 分析的快速算法程序。该程序能够读取 VASP 软件输出的 CHGCAR 格式、或 Gaussian 软件输出的 CUBE 格式电荷密度文件,输出每个原子对应的总电荷量,以及定义 Bader 体积的零通量面数据。
官方链接:https://theory.cm.utexas.edu/henkelman/code/bader/
| 版本 | 路径 |
| bader v1.05 | /public/software/bader |
关于bader电荷计算教程,请看帮助文档《》
3.5 ATAT
合金理论自动化工具包(Alloy Theoretic Automated Toolkit, ATAT),该工具包包含一系列原子尺度建模工具,具体包括:团簇展开、晶格蒙特卡洛模拟、晶格动力学计算、特殊准随机结构生成、界面与晶界构建、晶体学实用工具、CALPHAD(相图计算)实用工具等。
官方链接:https://axelvandewalle.github.io/www-avdw/atat/
| 版本 | 路径 |
| atat_3_36 | /public/software/atat |
详细使用方法请看帮助文档《》
3.6 LOBSTER
LOBSTER 支持直接基于 VASP、ABINIT 或 Quantum ESPRESSO 等平面波密度泛函理论(DFT)软件的输出结果,计算投影态 COHP 曲线、COOP 曲线,以及可靠的原子投影态密度(atom-projected DOS)。
官方链接:https://schmeling.ac.rwth-aachen.de/cohp/
| 版本 | 路径 |
| lobster-4.1.0 | /public/software/lobster-4.1.0 |
详细使用方法请看帮助文档《》
3.7 Multiwfn
Multiwfn 是一款功能极强的电子波函数分析程序,而电子波函数分析是量子化学的核心组成部分。该程序免费开源、高效易用且灵活性高,支持几乎所有主流的电子波函数分析方法。
官方链接:http://sobereva.com/multiwfn/
| 版本 | 路径 |
| Multiwfn_3.8_noGUI | /public/software/Multiwfn_3.8_dev_bin_Linux_noGUI |
详细使用方法请看帮助文档《》
3.8 WannierTools
WannierTools 是一款用于研究电子与声子体系的新型拓扑性质、电子结构及输运性质的软件包。
官方链接:http://www.wanniertools.com/
| 版本 | 路径 |
| wannier_tools-2.7.0 | /public/software/wannier_tools-2.7.0 |
详细使用方法请看帮助文档《》
3.9 ShengBTE
ShengBTE 是一款用于求解声子玻尔兹曼输运方程(BTE)的软件包。其主要功能是计算块体晶体材料中晶格对热导率的贡献,同时也可在扩散边界条件假设下处理纳米线体系。
官方链接:https://www.shengbte.org/
| 版本 | 路径 |
| 1.5.1 | /public/software/ShengBTE |
ShengBTE是多核并行程序,运行时间较长,因此需要通过作业系统提交到CPU队列运行,提交脚本示例
#!/bin/bash
#SBATCH -o %j.out
#SBATCH -J job_name
#SBATCH -p CPU
#SBATCH --nodes=1
#SBATCH --ntasks=40
ulimit -s unlimited
source /public/toolkit/intel/oneapi_2023/setvars.sh intel64 > /dev/null
/public/software/ShengBTE/ShengBTE
详细使用方法请看帮助文档《》
3.10 VASPBERRY
VASPBERRY 专为 VASP 输出的后处理而开发,可基于 VASP 输出文件(WAVECAR)进行贝里曲率(Berry curvature)与陈数(Chern number)计算。
官方链接:https://github.com/Infant83/VASPBERRY
| 版本 | 路径 |
| Aug 23, 2018 | /public/software/vaspberry |
详细使用方法请看帮助文档《》
3.11 packmol
Packmol是一个免费的、很有价值的构建分子动力学模拟初始结构的工具,非常流行。简单来说就是由用户提供一种或多种分子的结构文件,并且设定一些约束条件,Packmol就会把各种分子按照设定将指定数目的分子堆积到满足要求的区域中。程序会通过优化算法不断尝试各种堆积方式,直到构建出原子间没有不合理接触而且能满足所有约束条件的结构。在堆积过程中分子结构会保持刚性,即构象不会变化。Packmol在堆积过程只考虑空间因素,完全不考虑能量、电荷分布等额外问题。
官方链接:https://m3g.github.io/packmol/
| 版本 | 路径 |
| packmol-20.15.1 | /public/software/packmol-20.15.1 |
3.12 Phonopy
Phonopy 是一款开源软件包,用于在简谐近似与准简谐近似下进行声子计算。
官方链接:https://phonopy.github.io/phonopy/
| 版本 | 路径 |
| 2.43.2(包含seekpath和cp2k-input-tools) | /public/toolkit/miniconda3/envs/phonopy |
使用方法:
#激活phonpy的conda环境
conda activate phonopy
#此时可直接运行phonopy
phonopy
3.13 Phono3py
Phono3py 是一款开源软件包,采用超胞方法计算声子-声子相互作用及其相关性质。
官方链接:https://phonopy.github.io/phono3py/
| 版本 | 路径 |
| 3.24.0 | /public/toolkit/miniconda3/envs/phono3py |
使用方法:
#激活phon3py的conda环境
conda activate phono3py
#此时可直接运行phono3py
phono3py
3.14 Phonopy-Spectroscopy
Phonopy‑Spectroscopy 是一个为 Phonopy 程序扩展振动光谱模拟能力的软件包。其中包含一个名为 spectroscopy 的 Python 模块,以及一组用于处理 Phonopy 和 VASP 输出数据的命令行脚本。
官方链接:https://github.com/skelton-group/Phonopy-Spectroscopy/
| 版本 | 路径 |
| / | /public/software/Phonopy-Spectroscopy |
使用方法:
#激活phonpy的conda环境
conda activate phonopy
#此时可直接运行Phonopy-Spectroscopy
phonopy-raman
3.15 ASE
ASE(Atomic Simulation Environment)是一套用于构建、操作、运行、可视化和分析原子尺度模拟的工具集与 Python 模块。
官方链接:https://ase-lib.org/
| 版本 | 路径 |
| ase-3.26.0 | /public/toolkit/miniconda3/envs/ase |
使用方法:
#激活ASE的conda环境
conda activate ase
#此时可直接运行ase
ase
3.16 BoltzTraP2
BoltzTraP2 是对电子能带平滑傅里叶插值算法的现代化重实现,这一算法正是经典且应用广泛的 BoltzTraP 程序的核心基础。BoltzTraP 最常见的用途,是在刚性带近似下,计算随温度和化学势变化的热电输运系数。
官方链接:https://boltztrap2y.readthedocs.io/en/latest/index.html#
| 版本 | 路径 |
| BoltzTraP2 24.1.1 | /public/toolkit/miniconda3/envs/btp2 |
使用方法:
#激活BoltzTraP2的conda环境
conda activate btp2
#此时可直接运行BoltzTraP2
btp2
4. 其他脚本/命令
4.1 集群相关命令
| 命令 | 描述 |
| yscc | 查看用户存储空间信息 |
4.2 VTST scripts
这套脚本可完成各类 VASP 计算相关的常用操作,尤其适用于过渡态搜索场景。程序包中内置的 Vasp.pm Perl 模块,包含了多个基础子程序,为本套脚本中的多数脚本提供功能支持。
| 分类 | 脚本名称 | 使用方式 | 输出内容/核心功能 |
| 通用脚本 | Vasp.pm | 作为Perl模块调用 | 提供POSCAR文件读写、向量运算(点积/模长)等VASP常用基础函数 |
| vef.pl | vef.pl | 打印VASP每次迭代的力和能量 | |
| vfin.pl | vfin.pl (output directory) | 该脚本会从 OUTCAR 文件中读取ICHAIN 标签的参数值,并据此对 VASP 运行目录进行规范化整理:将所有关键计算文件(POSCAR、CONTCAR、压缩后的 OUTCAR、INCAR、KPOINTS、压缩后的 XDATCAR,以及非空的 CHGCAR 和 WAVECAR 文件)复制至指定输出目录;同时在原运行目录中,将 CONTCAR 文件覆盖至 POSCAR 文件,为后续新一轮的 VASP 计算做好准备。 | |
| boxset.pl | boxset.pl (POSCAR) (晶格常数) | 输出指定晶格常数的新POSCAR | |
| posinterp.pl | posinterp.pl (POSCAR1) (POSCAR2) (插值比例) | 标准输出插值后的POSCAR.out文件 | |
| pos2rdf.pl | pos2rdf.pl (POSCAR) (原子) (步长) | 标准输出指定原子的径向分布数据 | |
| neighbors.pl | neighbors.pl (con文件) (原子) | 标准输出指定原子的相邻原子距离 | |
| diffcon.pl | diffcon.pl (POSCAR1) (POSCAR2) | 标准输出原子间距离、标量和、向量和 | |
| dist.pl | dist.pl (POSCAR1) (POSCAR2) | 标准输出两个构型文件的根平方和距离 | |
| modemake.pl | modemake.pl (POSCAR1) (POSCAR2) | 生成两POSCAR间的单位向量,写入MODECAR文件 | |
| 文件转换脚本 | pos2con.pl | pos2con.pl (POSCAR/con文件) | 实现POSCAR与con文件互转 |
| xdat2pos.pl | xdat2pos.pl (XDATCAR中步骤号) | 生成对应步骤的POSCAR文件 | |
| xdat2xyz.pl | xdat2xyz.pl (XDATCAR文件) | 生成可在jmol中播放的xyz轨迹文件 | |
| con2xyz.pl | [con2xyz.pl](con2xyz.pl) (con文件) | 生成对应的xyz文件 | |
| xdat2vdat.pl | [xdat2vdat.pl](xdat2vdat.pl) (XDATCAR OUTCAR)(仅VASP5.2) | 前向差分法计算速度,写入VDATCAR文件 | |
| NEB脚本 | nebmake.pl | [nebmake.pl](nebmake.pl) (POSCAR1) (POSCAR2) (插值镜像数NI) | 生成00~NI+1目录,内含线性插值的NEB初始POSCAR |
| neb2dim.pl | [neb2dim.pl](neb2dim.pl) / [neb2dim.pl](neb2dim.pl) (镜像数) | 生成saddle_dimer目录,基于NEB结果搭建dimer计算(默认最高能垒点,支持指定镜像) | |
| neb2lan.pl | [neb2lan.pl](neb2lan.pl) / [neb2lan.pl](neb2lan.pl) (镜像数) | 生成saddle_lanczos目录,基于NEB结果搭建lanczos计算(默认最高能垒点,支持指定镜像) | |
| nebef.pl | [nebef.pl](nebef.pl) | 输出NEB中各镜像的能量和力 | |
| nebbarrier.pl | [nebbarrier.pl](nebbarrier.pl) | 输出NEB沿程能量/距离/力,生成neb.dat(供nebspline.pl使用) | |
| nebspline.pl | [nebspline.pl](nebspline.pl) | 生成spline.dat(样条拟合点)、exts.dat(极值点)、mep.eps(MEP路径图) | |
| nebmovie.pl | [nebmovie.pl](nebmovie.pl) (flag)(0=POSCAR,1=CONTCAR) | 生成movie.xyz轨迹文件,整合各目录的xyz文件 | |
| nebconverge.pl | [nebconverge.pl](nebconverge.pl) | 生成vaspgr目录,内含各镜像的能量/力收敛性绘图 | |
| nebresults.pl | [nebresults.pl](nebresults.pl) | 一键运行nebef/nebspline/nebmovie/nebconverge,输出全套NEB结果文件+vaspgr目录 | |
| nebfreeze.pl | [nebfreeze.pl](nebfreeze.pl) (原子号) (POSCAR文件列表) | 冻结指定原子,统一其在各POSCAR中的位置,覆盖原文件 | |
| nebavoid.pl | [nebavoid.pl](nebavoid.pl) (距离阈值) | 推开小于阈值的相邻原子,新结构写POSCAR,原文件存为POSCAR_orig(镜像间距不均) | |
| 电荷密度脚本 | chgavg.pl | [chgavg.pl](chgavg.pl) CHGCAR1 CHGCAR2 | 生成平均电荷密度文件CHGCAR_avg |
| chgsum.pl | [chgsum.pl](chgsum.pl) (CHGCAR1) (CHGCAR2) (系数1) (系数2)(默认系数均为1) | 生成加权和电荷密度文件CHGCAR_sum(CHGCAR1fact1+CHGCAR2fact2) | |
| chgdiff.pl | [chgdiff.pl](chgdiff.pl) (CHGCAR1) (CHGCAR2) | 生成电荷密度差分文件CHGCAR_diff | |
| chgparavg.pl | [chgparavg.pl](chgparavg.pl) PARCHG1 PARCHG2 | 生成平均局域电荷密度文件PARCHG_avg | |
| chg2cube.pl | [chg2cube.pl](chg2cube.pl) CHGCAR | 将CHGCAR转换为CUBE格式文件CHGCAR.cube | |
| Dimer脚本 | [dimplot.pl](dimplot.pl) | [dimplot.pl](dimplot.pl) | 从out.dat生成force.eps/energy.eps/curvature.eps,监控dimer计算过程 |
| diminit.pl | 多格式:<br>1. [diminit.pl](diminit.pl) (目录/数字)<br>2. [diminit.pl](diminit.pl) (算法/范围/截断半径)<br>3. [diminit.pl](diminit.pl) (最大坐标/POSCAR/DISPLACECAR_sp) | 在指定目录/编号目录生成初始化的dimer计算文件 | |
| dimmins.pl | [dimmins.pl](dimmins.pl) (POSCAR1) (POSCAR2) (位移) | 在mins/min1、mins/min2生成可弛豫的初始构型及相关文件 | |
| dimmode.pl | [dimmode.pl](dimmode.pl) (CENTCAR) (NEWMODECAR) (镜像数) (距离) | 生成dimmode.xyz,输出沿dimer模式的轨迹 | |
| 动力学矩阵脚本 | dymmatrix.pl | 多格式:<br>1. [dymmatrix.pl](dymmatrix.pl) (DISPLACECAR) (OUTCAR)<br>2. [dymmatrix.pl](dymmatrix.pl) (DISPLACECAR数) (文件1…) <br>3. [dymmatrix.pl](dymmatrix.pl) (OUTCAR1…) | 生成质量标度动力学矩阵(freq.mat)、简正模频率(freq.dat)、特征值(eigs.dat)、特征向量(modes.dat) |
| dymeffbar.pl | [dymeffbar.pl](dymeffbar.pl) (初温) (终温) (鞍点能) (初态频率文件) (鞍点频率文件) | 生成eff_ea.dat,包含不同温度下的经典势垒、零点能修正势垒、量子隧穿势垒 | |
| dymzpbar.pl | [dymzpbar.pl](dymzpbar.pl) (特征值文件eigs.dat) | 标准输出稳定模式的零点能(eV单位) | |
| dymseldsp.pl | [dymseldsp.pl](dymseldsp.pl) (POSCAR1) (POSCAR2) (包含原子数) (位移) | 标准输出DISPLACECAR,仅包含两POSCAR间位移最大的n个原子的非零位移 | |
| dymselsph.pl | [dymselsph.pl](dymselsph.pl) (POSCAR) (中心原子) (半径) (位移) | 标准输出DISPLACECAR,仅包含中心原子指定半径内原子的非零位移 | |
| dymcmpdisp.pl | [dymcmpdisp.pl](dymcmpdisp.pl) (DISPLACECAR1) (DISPLACECAR2) | 标准输出新DISPLACECAR,仅保留两个文件中独有的自由度 | |
| dymfit.pl | [dymfit.pl](dymfit.pl) (拟合阶数) (位移1 矩阵1) (位移2 矩阵2) … | 标准输出拟合后的动力学矩阵(需Math::Matrix/Math::Approx模块) | |
| dymextract.pl | [dymextract.pl](dymextract.pl) (已有矩阵DISPLACECAR) (目标矩阵DISPLACECAR) (已有矩阵) | 从大动力学矩阵中提取生成小动力学矩阵,标准输出 | |
| dymreorder.pl | [dymreorder.pl](dymreorder.pl) (目标序DISPLACECAR数) (目标序文件列表) (当前序DISPLACECAR数) (当前序文件列表) (当前矩阵) | 重新排序动力学矩阵,适配不同DISPLACECAR生成方式的矩阵拟合,标准输出 | |
| dymprefactor.pl | [dymprefactor.pl](dymprefactor.pl) (极小点freq.dat) (过渡态freq.dat) | 标准输出指前因子(单位:cm⁻¹) | |
| dymanalyze.pl | [dymanalyze.pl](dymanalyze.pl) (flag) (模式频率阈值) (位移1 矩阵1) … | 分析动力学矩阵收敛性,对比不同位移/拟合阶数的矩阵差异,输出拟合与原矩阵的一致性信息 | |
| dymmodes2xyz.pl | [dymmodes2xyz.pl](dymmodes2xyz.pl) POSCAR DISPLACECAR modes.dat (轨迹目录) (freq.dat) (帧数) (振幅) | 为每个简正模生成xyz轨迹电影,保存至指定目录/当前目录 | |
| 态密度(DOS)脚本 | split_dos | split_dos(Bash脚本) | 拆分DOSCAR为原子分波态密度文件DOS0~DOSN,能量以费米能级为参考(支持LORBIT=10/11、自旋相关/无关) |
| dosanalyze.pl | [dosanalyze.pl](dosanalyze.pl) [w=半高宽倍数] [e=能量范围] | 标准输出指定原子/轨道的能带中心(加权平均),默认d轨道、所有原子、2.5倍半高宽范围(需先运行split_dos) | |
| doslplot.pl | [doslplot.pl](doslplot.pl) | 生成ldosplot.eps,含指定原子的分波DOS(蓝线)和体系总DOS(红线),默认d轨道/所有原子(仅支持LORBIT=11、s/p/d轨道) |
