SPPARKS 扫描路径生成
使用原生pathgen生成四层交替扫描,检查路径数量、几何、控制体覆盖和HAZ窗口。
阅读本篇目录
下载模型实操包。包含46个真实原生条件、完整输入、原始统计/轨迹、独立提取脚本和16张结构与数据图。使用SPPARKS08Oct25、Intel oneAPI C++2024.2.1 / IntelMPI2021.13;CPU入口要求兼容AVX512。可选模块 spparks/08Oct25-appfix-8173m 支持本组特殊模型,原默认模块仍保留。
1. 先生成路径,再决定如何用于模型#
potts/am/path/gen在本例只生成几何路径,没有create_sites、没有run,不会产生KMC轨迹。实际执行命令是pathgen outfile ...;以本版本输入为准,不把其他说明中的旧命令名照抄进来。
域为32×32×12,共4层、每层厚3,X/Y交替扫描。对比道间距8与4,速度均为4,每条路径越界前后合计长度52。控制体、HAZ深度5、熔深4按原生结果分别读取。
按顺序运行#
在申请到的CPU资源内,从新的解压目录执行。每个条件只运行一次,程序会保护已有结果目录。下面的短命令实际调用原生SPPARKS,每个条件1个MPI进程、1线程。
module purge
module load spparks/08Oct25-appfix-8173m
bash run.sh am-pathgen-hatch8
bash run.sh am-pathgen-hatch4
tail -n 16 work/am-pathgen-hatch8/stdout.log
inputs/am-pathgen-hatch8/in.mc:
seed 83001
app_style potts/am/path/gen
dimension 3
boundary n n p
lattice sc/26n 1.0
region box block 0 32 0 32 0 12
create_box box
am pass 1 dir X speed 4 hatch 8
am pass 2 dir Y speed 4 hatch 8
am cartesian_layer 1 start LL pass_id 1 thickness 3 offset -10.0 0.0 serpentine 1
am cartesian_layer 2 start UL pass_id 2 thickness 3 offset 0.0 10.0 serpentine 1
am cartesian_layer 3 start UR pass_id 1 thickness 3 offset 10.0 0.0 serpentine 1
am cartesian_layer 4 start LR pass_id 2 thickness 3 offset 0.0 -10.0 serpentine 1
pathgen outfile pathgen.dat num_layers 4 zstart 0 width_haz 9 melt_depth 4 depth_haz 5
inputs/am-pathgen-hatch4/in.mc:
seed 83002
app_style potts/am/path/gen
dimension 3
boundary n n p
lattice sc/26n 1.0
region box block 0 32 0 32 0 12
create_box box
am pass 1 dir X speed 4 hatch 4
am pass 2 dir Y speed 4 hatch 4
am cartesian_layer 1 start LL pass_id 1 thickness 3 offset -10.0 0.0 serpentine 1
am cartesian_layer 2 start UL pass_id 2 thickness 3 offset 0.0 10.0 serpentine 1
am cartesian_layer 3 start UR pass_id 1 thickness 3 offset 10.0 0.0 serpentine 1
am cartesian_layer 4 start LR pass_id 2 thickness 3 offset 0.0 -10.0 serpentine 1
pathgen outfile pathgen.dat num_layers 4 zstart 0 width_haz 9 melt_depth 4 depth_haz 5
2. 查看原生文件#
head -n 35 work/am-pathgen-hatch8/pathgen.dat
head -n 35 work/am-pathgen-hatch4/pathgen.dat
道间距8产生20条路径,间距4产生36条;总几何长度1040与1872,除以速度得到名义扫描时间260与468。这里是几何计划时间,不是程序运行耗时,也不是完成了对应时长的组织模拟。
四层z窗口为[0,3]、[3,6]、[6,9]、[9,12]。分析脚本逐层检查控制体对32×32离散XY域的完整覆盖,允许相邻道控制体重叠,不将重叠面积当作更多实际材料体积。图仅画第一层的实际扫描线,所有层数据都保存在JSON。

两套实际四层路径的首层示意与原生路径数量。
提取数据和画图#
若只希望先看实际参考结果,在另一份新解压目录执行:
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版本为准;不同模型的时间、能量与状态定义分别解释,不能直接套用为某种材料的秒、电子伏或微米。