元胞自动机理论研究及其仿真应用,matlab关于元胞自动机的编程
【元胞自动机】用matlab代码模拟基于元胞自动机的晶体生长_ MATLAB仿真博客的技术博客_博客
1.基于溶质扩散和界面能的影响,考虑成分过冷、曲率过冷、界面能各向异性和界面扰动,建立了单根等轴枝晶的生长模型。采用元胞自动机方法模拟枝晶生长、界面扰动和分支竞争演化。计算了液相中的溶质运移。通过模拟发现,凝固过程中溶质容易在枝晶臂之间聚集,同时随着凝固时间的延长,
2部分代码%
clc清晰;全部关闭;
rand(state ,0);
set(gcf, DoubleBuffer , on );
N=256%为状态矩阵的大小生成控制参数。
s=个(N);%生成状态矩阵s
% S(N/2,N/4:N * 3/4)=0;%设置状态矩阵的初始值。
S(N/2:N*3/4,N/2)=0;%设置状态矩阵的初始值。
ii=im show(S);%显示状态矩阵
ti=title([time=0 ,,N=0], Fontsize ,14, Fontname , Times New Roman );%显示时间
t=0;%录制时间的参数
对于k=1:30000;%循环计算
XT=4;%粒子产生的地方。
yt=N/2;%粒子产生的地方。
ss=0;%参数,控制下面的循环是否终止。
而Ss%计算当前粒子的吸附过程。
[dx,dy]=choose_D(0.25,0.25,0.25,0.25);%计算粒子位移。
xt=xt dx%计算粒子在下一时刻的位置。
yt=yt dy%计算粒子在下一时刻的位置。
如果XT 2.5 XT N-1.5 yt 2.5 yt N-1.5;%确定粒子是否逃离边界。
ss=2;%将ss赋值给2,这样就可以退出循环。
目标
If [s (XT 1,YT) s (XT-1,YT) s (XT,YT 1) s (XT,YT-1)]%确定邻域内是否有粒子。
S(xt,yt)=0;%修复当前移动的粒子。
ss=2;%将ss赋值给2,这样就可以退出循环。
目标
目标
set(Ii, CData ,S);%显示当前状态矩阵。
T=t1;%累积时间参数
set(ti, String ,[time=,num2str(T),,N=,num 2 str(sum(sum(1-S))-[N/4 1]));%更新时间参数
停顿(0.01);%暂停以显示动画效果。
目标
3运行结果
4参考文献[1],杨毅,等.基于元胞自动机的等轴枝晶生长数值模拟[J].热加工技术,2010,39(10):5。
陈瑞,徐青燕,刘百成。基于元胞自动机方法的定向凝固枝晶竞争生长的数值模拟[J].物理学报,2014(18):12。
有些理论引用自网络文献。如有侵权,联系博主删除。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。