1 内容介绍
基于溶质扩散和界面能的作用,考虑成分过冷,曲率过冷,界面能各 向异性和界面扰动等因素,建立了单个等轴枝晶的生长模型.采用元胞自动机(cellular automata)方法模拟了枝晶生长,界面扰动和分枝的竞争演化.对液相中的溶质传输进行了计算.通过模拟发现,凝同过程中溶质容易富集在枝晶臂之间, 同时,随着凝固时间的延长,界面前沿的溶质浓度梯度逐渐下降.
2 部分代码
%
clc;clear;close all;
rand('state',0);
set(gcf,'DoubleBuffer','on');
N=256; % 生成状态矩阵大小的控制参数
S=ones(N); % 生成状态矩阵S
% S(N/2,N/4:N*3/4)=0; % 设置状态矩阵的初始值
S(N/2:N*3/4,N/2)=0; % 设置状态矩阵的初始值
Ii=imshow(S); % 显示状态矩阵
ti=title(['time = 0',', N=0'],'Fontsize',14,'Fontname','Times New Roman'); % 显示时间
T=0; % 记录时间的参数
for k=1:30000; % 循环计算
xt=4; % 产生粒子的位置
yt=N/2; % 产生粒子的位置
Ss=0; % 控制下面循环是否终止的参数
while Ss<1; % 计算当前粒子的吸附过程
[dx,dy]=choose_D(0.25,0.25,0.25,0.25); % 计算粒子位移量
xt=xt+dx; % 计算下一时刻粒子的位置
yt=yt+dy; % 计算下一时刻粒子的位置
if xt<2.5|xt>N-1.5||yt<2.5|yt>N-1.5; % 判断粒子是否逸出边界
Ss=2; % 把Ss赋值为2,从而可以退出循环
end
if [S(xt+1,yt)+S(xt-1,yt)+S(xt,yt+1)+S(xt,yt-1)]<3.5; % 判断近邻是否有粒子
S(xt,yt)=0; % 固定当前运动的粒子
Ss=2; % 把Ss赋值为2,从而可以退出循环
end
end
set(Ii,'CData',S); % 显示当前状态矩阵
T=T+1; % 累加时间参数
set(ti,'String',['time = ',num2str(T),', N=',num2str(sum(sum(1-S))-[N/4+1])]); % 更新时间参数
pause(0.01); % 暂停一下,显示动画效果
end
3 运行结果
4 参考文献
[1]黄建峰, 杨屹, 李羽晨,等. 基于元胞自动机法的等轴枝晶生长数值模拟[J]. 热加工工艺, 2010, 39(10):5.
[2]陈瑞, 许庆彦, 柳百成. 基于元胞自动机方法的定向凝固枝晶竞争生长数值模拟[J]. 物理学报, 2014(18):12.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。