基于Kobayashi模型的定向凝固各向异性枝晶生长的相场模拟与Matlab代码实现
定向凝固各向异性枝晶生长 相场模拟 1.依据Kobayashi的经典模型,实现定向凝固各向异性枝晶生长(可定量修改相关参数) 2.matlab手写代码,利用快速求解方法求解方程,代码注释详细 3.可利用paraview展示结果,改善显示效果 相关详细文献资料
定向凝固各向异性枝晶生长相场模拟软件
——功能说明书(V1.0)
一、产品定位
本软件是一款面向材料凝固微观组织研究的“零编译”相场模拟工具。用户无需掌握有限元或并行编程,仅通过修改“材料-工艺参数表”即可在单机上完成定向凝固过程中各向异性枝晶形貌的演化计算,并一键输出:
- 高空间分辨率(300×600 以上)的相场与温度场图像序列;
- 可用于三维重构的二维切片数据(.mat);
- 演化动画(.gif)与中间数据(.tif),直接用于论文或报告。
二、核心能力
- 物理模型
– 采用 Kobayashi 经典定向凝固模型,耦合各向异性表面能与热扩散;
– 支持一次臂取向、各向异性强度、热梯度、抽拉速度四大工艺参数任意组合;
– 内置正则化过冷度,可抑制界面厚度对网格分辨率的敏感依赖。
- 数值算法
– 全谱方法:Fourier 半隐谱求解相场,恒温 Neumann 边界,温度场显式谱更新;
– 线性算子对角化,时间步长仅受 CFL 条件限制,单核 CPU 即可在 3 min 内完成 1800 步演化;
– 自动边界归零与周期延拓,无需用户手动干预。
- 工程化特性
– “参数-结果”双向可追溯:每次运行自动生成带时间戳的日志文件,记录输入参数、Git 版本、硬件指纹;
– 断点续算:在意外中断后,可读取最后一张 .mat 场图继续计算;
– 资源守护:运行前自动评估所需内存,若不足则给出预估并优雅退出;
– 多格式输出:tif(无损)、png(压缩)、mat(二进制)、gif(动画)四种格式同时落盘,满足期刊、PPT、后续机器学习训练等不同场景。
三、业务流程
用户视角的完整流程仅四步:
① 开箱验证
双击 checkenv.m,脚本自动检测 MATLAB 版本(≥R2018b)、Image Processing Toolbox、可用内存 ≥4 GB,全部绿灯后生成 envok.flag。
② 参数配置
打开 config_template.xlsx,在“材料”页填写:
- 各向异性强度 δ(0–0.5)
- 四次对称臂取向 θ0(°)
- 热扩散系数 k_T
在“工艺”页填写: - 过冷度系数 α
- 界面动力学系数 τ
- 总步数 nstep、输出频度
保存为my_exp.xlsx即可,无需触碰代码。
③ 一键运行
在 MATLAB 命令行:
>> pf = DirectionalSolidification('my_exp.xlsx'); pf.run();
定向凝固各向异性枝晶生长 相场模拟 1.依据Kobayashi的经典模型,实现定向凝固各向异性枝晶生长(可定量修改相关参数) 2.matlab手写代码,利用快速求解方法求解方程,代码注释详细 3.可利用paraview展示结果,改善显示效果 相关详细文献资料
运行期间,实时弹出进度条与剩余时间估计;计算完成后自动在 ./result/<时间戳>/ 目录生成全部文件。
④ 结果后处理
软件自带 postplot 模块:
>> pf.postplot('type','growth_rate');
可一键绘制:
- 一次臂间距 λ1 vs 时间
- 尖端速度 V_tip vs 1/过冷度
- 固相分数曲线
所有图窗均输出矢量 PDF,满足期刊投稿要求。
四、内部流程(供维护人员参考)
- 初始化
a. 读取 xlsx → 转 structpar
b. 根据网格尺寸预分配 GPU/CPU 内存
c. 生成波矢 kx, ky 并缓存为.mat临时文件,避免重复计算 sin 函数
- 主循环(伪代码,关键公式脱敏)
for step = 1:nstep
⑴ 界面梯度 → 计算 θ
⑵ 各向异性模量 e(θ)
⑶ Fourier 空间更新相场 φ
⑷ Fourier 空间更新温度场 T
⑸ 边界归零 & 输出落盘
end
- 数据落盘策略
– 每 50 步同步写入磁盘,使用imwrite的 ‘Compression’=‘lzw’ 选项,平均单张 tif < 200 kB;
– gif 采用 “append” 模式,DelayTime 动态调整:当检测到相邻帧相似度 > 95 % 时自动跳帧,保证动画流畅且体积 < 5 MB。
五、性能指标
硬件:i7-12700H / 16 GB / Win11 / MATLAB R2023a
网格 300×600,1800 步,单核运行:
- wall time ≈ 2 min 40 s
- 峰值内存 ≈ 1.8 GB
- 输出文件总量 ≈ 60 MB(含 36 张 tif、1 个 gif、2 个 mat)
六、扩展接口
- 用户自定义各向异性函数
只需在./userfunc/新建anisotheta.m,函数签名为function e = aniso_theta(theta, par)
主程序运行前自动将其注入,无需重新打包。
- 批处理与反演
提供batch.m模板,支持并行池:parfor i = 1:n_delta
可一次性扫描 20 组 δ 参数,输出 λ1(δ) 曲线,用于与实验数据反演拟合。
七、注意事项与最佳实践
– 网格建议保持 2:1 的横纵比,可抑制“横向挤压”数值伪影;
– 当 δ > 0.3 时,建议将界面厚度 ε 缩小 20 %,以免出现“针状”不稳定;
– 若需 600×1200 高分辨率,请先执行 memoryTest(),确保空闲内存 ≥ 8 GB;
– gif 输出仅用于快速预览,正式投稿请使用 tif 序列,300 dpi 以上。
八、获取帮助
- 快速上手:doc 目录自带
QuickStart.pdf(10 分钟读完即可出图); - 算法细节:参考
doc/Theory.pdf,内含谱方法推导与 von Neumann 稳定性分析; - 问题反馈:在 GitHub Discussion 区发帖,维护团队 48 h 内响应。
—— 以上即为定向凝固各向异性枝晶生长相场模拟软件的功能全景。用户端仅需“填表-运行-出图”三步,即可获得满足 SCI 期刊要求的微观组织演化数据;维护端通过模块化接口与自动化测试,可持续迭代模型而不影响上层业务。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)