CA法模拟动态再结晶,晶粒正常长大,利用元胞自动机生成拓扑晶粒模型,参数可调。
元胞胞自动机模拟动态再结晶母相晶粒生成。
本程序基于曲率驱动机制以及热激活机制,matlab编写,本程序模拟奥氏体晶粒正常长大过程。
程序均有注释,仅作学习交流使用
这段程序主要是用于生成晶粒取向随机分布的均匀化晶粒组织。程序的主要流程如下:
- 用户输入元胞空间大小(Nx和Ny)、形核点数目(numnucl)和随机数种子(myseed),以及晶粒均匀化长大步数(nstep)。
- 设置随机数种子。
- 初始化元胞数组ori,并在其中随机生成numnucl个形核点,形核点的取向值分布范围为1-180。
- 初始化当前元胞数组的邻居数组ori2、ori4、ori6、ori8。
- 当元胞数组中存在空白元胞时,进行以下操作:
- 调用neibo4_mex函数生成当前元胞数组的4邻居数组ori2、ori4、ori6、ori8。
- 调用growth_mex函数对当前元胞数组进行晶粒均匀化长大。
- 用户选择是否引入第二相颗粒,如果是,则输入第二相颗粒数目(number_phase)和尺寸(radius),并调用addphase函数将第二相颗粒添加到元胞数组ori中。
- 进行nstep次晶粒均匀化长大:
- 调用neibo8_mex函数生成当前元胞数组的8邻居数组ori1、ori2、ori3、ori4、ori6、ori7、ori8、ori9。
- 调用coarse_mex函数根据晶界能减小趋势使晶粒长大。
- 根据用户选择是否引入第二相颗粒,调用相应的函数addgb_phase_mex或addgb_mex生成含有晶界的元胞数组ori_gb。
- 保存元胞数组ori和含有晶界的元胞数组ori_gb。
第二段程序是与第一段程序相对应的,用于再结晶演变模拟。程序的主要流程如下:
- 载入初始组织元胞矩阵ori。
- 初始化元胞数组ori、晶界数组GB、位错密度数组D、元胞结晶状态数组State和颜色数组C。
- 进行Nstep次再结晶演变:
- 调用DislocationMatrix_mex函数更新位错密度数组D。
- 调用Nucleation_mex函数进行再结晶形核。
- 调用showgb_mex函数将颜色数组C转换为灰度值数组。
- 调用DynamicRX_mex函数使再结晶晶粒长大。
- 调用DislocationDRX_mex函数更新再结晶晶粒的位错密度。
- 调用addgb_mex函数生成含有晶界的元胞数组ori_gb。
- 统计再结晶更新一次后总的晶粒个数和每个晶粒的尺寸。
- 保存数据。
这段程序涉及到的知识点包括:随机数生成、数组操作、条件语句、循环语句、函数调用、文件操作等。其中,Mex文件是用于加快运算速度的二进制文件。程序中还涉及到晶粒均匀化、晶粒长大、晶界迁移、位错密度演变等概念和算法。