SPPARKS 多相扩散与固定相
建立三相晶格,设置相间权重和固定相,检查每一相的数量是否守恒。
阅读本篇目录
下载模型实操包。包含46个真实原生条件、完整输入、原始统计/轨迹、独立提取脚本和16张结构与数据图。使用SPPARKS08Oct25、Intel oneAPI C++2024.2.1 / IntelMPI2021.13;CPU入口要求兼容AVX512。可选模块 spparks/08Oct25-appfix-8173m 支持本组特殊模型,原默认模块仍保留。
1. 建立什么体系#
24×24八邻居晶格,状态1为固定相,状态2与3通过交换演化。初始x=0一列设置为1,其余随机分为2和3;2–3接触权重为0.5,其余异相接触默认权重1。它是粗粒化相标签模型,不会自动产生真实合金的相图。
按顺序运行#
在申请到的CPU资源内,从新的解压目录执行。每个条件只运行一次,程序会保护已有结果目录。下面的短命令实际调用原生SPPARKS,每个条件1个MPI进程、1线程。
module purge
module load spparks/08Oct25-appfix-8173m
bash run.sh multiphase-s81001
bash run.sh multiphase-s81002
tail -n 16 work/multiphase-s81001/stdout.log
inputs/multiphase-s81001/in.mc:
seed 81001
app_style diffusion/multiphase
dimension 2
lattice sq/8n 1.0
region box block 0 24 0 24 -0.5 0.5
create_box box
create_sites box
set site range 2 3
set site value 1 if x = 0
diffusion/multiphase pin 1
diffusion/multiphase phase 2
diffusion/multiphase phase 3
diffusion/multiphase weight 0.5 pair 2 3
solve_style tree
sector no
temperature 0.5
diag_style energy
stats 1.0
dump 1 text 1.0 dump.sites id i1 x y z
run 10
2. 关键命令#
diffusion/multiphase pin 1使相1不参与迁移;phase 2/3声明移动相;weight 0.5 pair 2 3只改变这一对相的界面权重。与允许物种转换的膜模型不同,本模型应分别保持三相站点数量和固定相的位置。
3. 实际结果#
两条轨迹都完成到t=10。种子81001终点能量433,81002为412.5;相1始终24个站点,三相各自数量保持初值。可见结构变化来自移动相交换,而不是某相凭空产生或消失。该模型的站点能量含二分之一系数,分析脚本按实际源码求和,不套用标准Potts的双计约定。

原始初末结构与三相数量;固定边界相和各相计数分别检查。
提取数据和画图#
若只希望先看实际参考结果,在另一份新解压目录执行:
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专题、原生命令手册。完整输入以下载包的08Oct25版本为准;不同模型的时间、能量与状态定义分别解释,不能直接套用为某种材料的秒、电子伏或微米。