导读:国产CAE助力产学研!2023MatDEM奖学金讲座8月17日启动。
大家好,我叫王飞,来自中国地质大学(武汉)。很荣幸能够在这里与大家分享我的MatDEM学习经验,与大家一起交流学习。在此,感谢仿真秀平台、南京大学刘春老师及其MatDEM团队给予的支持。8月17日19时,我将作为第一位在2023MatDEM奖学金线上讲座的分享者,将与各位老师、同学分享和交流MatDEM离散元软件学习与应用经历,希望能够抛砖引玉引发大家的共鸣。
一、固结不排水剪切试验的模拟仿真
这次讲座中,我主要与大家分享一下我们最近在做的工作——固结不排水剪切试验的模拟。学习过土力学的同学估计对这个试验并不陌生,这是一个研究岩土材料抗剪强度的重要方法。但是,试验结果只能给我们提供一个宏观的分析角度,如果想要分析试验过程中的微观机理,可以结合CT扫描来进行,但这样的时间和金钱成本非常高。采用数值模拟技术也可以做到这一点。
那么,如何在MatDEM中实现固结不排水剪切试验的模拟?目前模拟该试验的主流方法为“常体积法”,即维持整个试样的体积在剪切过程中不会改变即可,相关文献有很多,感兴趣的同学可以自行搜索阅读。但是不排水剪切的重点在于流体与固体之间的相互作用,以及超静孔隙水压力的激发原理,这是常体积法所忽略的。所以,我们非常有必要去开发一种基于流固耦合法的离散元数值模拟方法,也就是我们这次讲座所汇报的内容。
图1 模拟结果
二、自学MatDEM和编码的一些经验
我最初接触MatDEM是在3年前《仿真秀MatDEM创新奖学金启动,欢迎理工科学子申报》,当时在上网的时候无意中发现了MatDEM举办的奖学金比赛,对参赛选手的案例产生了浓厚的兴趣,于是便报名参加了刘春老师的视频课程。对于像我这种几乎对数值模拟和MATLAB编程没有任何经验的人来说,学习起来确实非常的痛苦,即使我把慕课上面的视频都看了一遍后,很多专业知识和概念都还是很模糊,比如接触模型、邻居矩阵、矩阵运算等等。
后来我决定采用MatDEM来完成本科毕业论文,确定了研究对象以后,我又把仿真秀上面的MatDEM视频回看了一遍,只是与之前不同的是,这次我是一边编写自己的代码,一边学习视频,一边案例里面的代码打印下来,自己查阅资料、逐行注释,进步很快。
我认为MatDEM的重点在于“Mat”,也就是矩阵运算,这是MatDEM运算速度能够优于市面其他离散元软件的关键。所以我们如果想要想要提高运算速度,缩短运算时间,那么在编写自己的代码的时候,就要有意识地培养自己将问题矩阵化的能力。
举个例子,假如我们在模拟一个滑坡的时候,想要检索这个滑坡的表面颗粒,最简单、最直观的方法就是采用循环法,将颗粒放入依次排列的虚拟条块中,然后计算每一个条块中‘Z’值最大的颗粒,将这些颗粒连接起来就是表面颗粒,如图3所示(具体方法见北京科技大学姜鑫同学在仿真秀上的文章:MatDEM边坡降雨入渗模型代码讲解),这种方法虽然简单,编码也不复杂,但是它的运算速度比较慢,如果将它放在大循环里,将会占用非常多的计算时间。在这里,我们可以采用矩阵法去检索,操作起来稍微有点复杂,但计算速度很快,下面给出具体的代码,感兴趣的同学可以自行研究。
图3 边坡表面颗粒检索过程
SliceIndex=(ceil(d.mo.aX(d.GROUP.sample)/(mean(d.mo.aR(d.GROUP.sample))*2)));
unique_elements = unique(SliceIndex);
max_count = max(histcounts(SliceIndex));
indices = arrayfun(@(x) find(SliceIndex == x), unique_elements, 'UniformOutput', false);
SliceMat = cell2mat(cellfun(@(x) [x(:); zeros(max_count - numel(x), 1)], indices, 'UniformOutput', false));
SliceMat = reshape(SliceMat, max_count, []).';
SliceMat(SliceMat==0)=d.GROUP.botB(1);
[~,Maxindex]=max(d.mo.aZ(SliceMat),[],2);
surfaceId= SliceMat(sub2ind(size(SliceMat), (1:size(SliceMat,1))', Maxindex));
d.addGroup('surface',surfaceId);
d.setGroupId();
为了助力离散元技术的发展和应用、推动MatDEM用户之间的交流与学习,自2023年8月17日起,“2023MatDEM奖学金-线上讲座”正式启动,我们邀请了几位不同研究领域的获奖同学来进行讲座,届时5位优秀的同学将在仿真秀平台分享国产MatDEM离散元软件在科研和工程案例中的应用,与大家共同探讨、一起进步。
MatDEM奖学金(一):基于流固耦合法的双轴固结不排水剪切试验模拟-仿真秀直播