SPPARKS 离格Monte Carlo
用Lennard–Jones势运行离格位置更新,区分Monte Carlo结构采样和分子动力学轨迹。
阅读本篇目录
下载模型实操包。包含46个真实原生条件、完整输入、原始统计/轨迹、独立提取脚本和16张结构与数据图。使用SPPARKS08Oct25、Intel oneAPI C++2024.2.1 / IntelMPI2021.13;CPU入口要求兼容AVX512。可选模块 spparks/08Oct25-appfix-8173m 支持本组特殊模型,原默认模块仍保留。
1. 从晶格初态开始的离格采样#
256粒子置于16×16二维周期盒,只有一种类型。app_style relax 0.5控制试探位移尺度;lj/cut使用ε=σ=1、截断2.5,温度参数1。随后粒子位置可移动,不再固定在原始晶格上。
按顺序运行#
在申请到的CPU资源内,从新的解压目录执行。每个条件只运行一次,程序会保护已有结果目录。下面的短命令实际调用原生SPPARKS,每个条件1个MPI进程、1线程。
module purge
module load spparks/08Oct25-appfix-8173m
bash run.sh relax-s81001
bash run.sh relax-s81002
tail -n 16 work/relax-s81001/stdout.log
inputs/relax-s81001/in.mc:
seed 81001
app_style relax 0.5
dimension 2
lattice sq/8n 1.0
region box block 0 16 0 16 -0.5 0.5
create_box box
create_sites box
set site range 1 1
pair_style lj/cut 1 2.5
pair_coeff 1 1 1.0 1.0
sweep random
sector yes
temperature 1.0
diag_style energy
stats 1.0
dump 1 text 1.0 dump.sites id i1 x y z
run 10
2. 读真实坐标和能量#
种子81001打印Energy由-492.469变化到-361.843;81002终点-389.174。固定温度Monte Carlo允许上坡移动,因此不能用“能量每步必须下降”检查它。该版本势能在截断处移到0,Energy诊断对唯一粒子对计数两次;分析时按相同约定独立求和。
文本坐标有限有效位数会放大短程势的误差,包内分析按坐标舍入区间给出能量范围,不伪造十几位相等。需要高精度能量重算时应增加原生坐标精度或保留适合的高精度轨迹。
这是位置采样,没有速度、没有牛顿时间积分;不能用这条Monte Carlo轨迹直接计算真实速度自相关或分子动力学扩散系数。

实际初末粒子位置和固定温度Monte Carlo能量变化。
提取数据和画图#
若只希望先看实际参考结果,在另一份新解压目录执行:
bash analyze.sh
head -n 12 analysis-reference/case-summary.csv
ls figures-reference
这一步读取包内原始 reference/work/,重新提取并绘图。若要分析自己完整重算的数据,在新目录内运行 bash run-all.sh;全部46个条件完成后生成 analysis/ 和 figures/。只单独跑一项时,先阅读该项 stdout.log 与 dump.sites,不要将少数目录冒充整包分析输入。
相关入口:SPPARKS专题、原生命令手册。relax模型。完整输入以下载包的08Oct25版本为准;不同模型的时间、能量与状态定义分别解释,不能直接套用为某种材料的秒、电子伏或微米。