1 颗粒受热膨胀和裂隙生成
由于在数值模拟中仅有辉石颗粒膨胀,因此建立矩阵mat2Filter=false(d.aNum,1),并将其中的辉石单元对应值赋为1(mat2Filter(d.GROUP.Rock2)=1)。由此在循环中使用d.mo.aR=d.mo.aR+daR.*mat2Filter对所筛选出的辉石单元的半径进行逐步增加。
由于单元膨胀后邻居矩阵可能改变,因此每次单元半径变化后运行d.mo.setNearbyBall命令,对周围单元进行重新搜索;并在该操作后对模型进行一次零时平衡,更新模型状态;最后再使用d.balance()函数进行平衡计算。随着迭代平衡计算的进行,模型中将产生裂隙。在此基础上,通过改变辉石含量和温度上升速率(膨胀速率)来研究不同因素对破岩效果的影响。