LAMMPS 专题

LAMMPS高斯屏蔽与软势实操

实际扫描gauss、yukawa与soft,解释势形式、系数单位和软势的当前输入语法。

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

gauss、yukawa和soft代表几种不同的有效相互作用形式。本篇实际运行三个21点距离扫描,查看吸引、屏蔽和软排斥的能量与力;它们的参数用途不同,不能只根据曲线外观互相替换。

下载八种势函数的普通/GPU输入、336个实际距离采样、原子力与绘图脚本,解压进入run.sh目录。

1 提交完整扫描#

sbatch submit.slurm

模板申请核时P100分区1GPU1CPU,每种势先普通路径、再GPU路径,各扫描1–5Å的21个距离点。八种势组成八个配对工作流,共16次原生程序运行。程序只改变原子位置后run 0,没有动力学或结构松弛。

套餐用户用yskit生成所属分区脚本,在已分配资源中执行bash run.sh。多卡时仅使用已分配的CUDA可见设备与CPU亲和范围,每卡一个配对工作流,每个程序1MPI1OMP,空闲卡继续下一种势;不要在登录节点模拟。已有work请重新解压。

版本LAMMPS30Sep2026、GNU C++13.3.0/C++17、Open MPI5.0.10、CUDA GPU包混合精度;分析ASE3.29.0。普通路径是P100节点上同一构建的CPU计算,不是CPU专用节点的性能数据。inputs为新输入,reference为本文实算,work为新结果。

2 Gaussian完整输入#

units real
atom_style atomic
atom_modify map array
newton off
boundary f f f
region box block -10 10 -10 10 -10 10 units box
create_box 2 box
mass 1 1.0
mass 2 1.0
create_atoms 1 single 0 0 0 units box
create_atoms 2 single 1 0 0 units box
pair_style gauss 4.5
pair_coeff * * 2.0 0.8
neighbor 0.3 bin
thermo_style custom step atoms pe
thermo_modify norm no format float %.16g
variable distance index 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 5.0
label scan
set atom 2 x ${distance}
run 0
print "SCAN ${distance} $(pe:%.16g) $(fx[1]:%.16g) $(fx[2]:%.16g)" append scan.dat screen no
write_dump all custom atoms-${distance}.dump id type x y z fx fy fz modify sort id format float %.16g
next distance
jump SELF scan

本例gauss为E=−Aexp(−Br²),A=2kcal/mol、B=0.8Å⁻²;并不是另一种gauss/cut的系数格式。对于正A,2号原子的力朝向原点,实际Fx为负。gauss常用于相应模型中的束缚位点,具体对象与系数应按所用模型定义。

3 Yukawa与soft的两行设置#

pair_style yukawa 1.0 4.5
pair_coeff * * 2.0

Yukawa为E=Aexp(−κr)/r。本例κ=1Å⁻¹、A=2kcal·Å/mol,截断4.5Å;A并不等同于原子电荷,使用这个pair_style也不会自动建立电化学或显式溶剂模型。

pair_style soft 4.5
pair_coeff * * 2.0

soft为E=A[1+cos(πr/rc)],r<rc。本例A=2kcal/mol、rc=4.5Å;它在r趋近0时不会像LJ那样发散,可用于相应模型的软排斥处理。

当前soft系数是A,后面可选截断距离;不是旧写法中的Astart、Astop。若要随时间改变A,需要按fix adapt等对应功能设置,不能把第二个数字误写成终止幅度。

4 查看实际能量与力#

head -n 8 work/cases/gauss-cpu/scan.dat
head -n 8 work/cases/yukawa-cpu/scan.dat
head -n 8 work/cases/soft-cpu/scan.dat

第4列为实际gauss能量与力,其余列为配套指数型势;所有点均有普通与GPU数据

前两列为实际Yukawa和soft能量、受力;后两列为LJ距离平移与普通LJ对照

本例r=4.6、4.8、5.0Å已超出这三个势的4.5Å截断,实际能量与力为0。不同势在截断处是否连续、是否需要平滑,应查对应形式,不能只把截断距离设置一样就认为边界行为相同。

提取与重画#

module load ase/3.29.0
python analyze.py work
python plot_results.py work
python check_results.py work
cat work/analysis/backend-comparison.csv
head -n 12 work/analysis/potential-scans.csv

potential-scans.csv逐点记录势、后端、距离、能量和两个原子的Fx;backend-comparison.csv汇总每种势在21点上的最大能量和力差。查看本文数据时将work改为reference。

这些系数是解释势函数形式与命令的合成教学参数,没有拟合为具体材料,也不用于比较不同势的真实材料准确度。

官方说明:gauss、yukawa、soft。

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

查看配图

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

100%查看原图 ↗