由于我课题的需要,最近正在自学利用python脚本进行abaqus二次开发建模。多亏了老司机的二次开发教程,让我一个半月就具备一定开发能力了。
ABAQUS混凝土细观随机多面体骨料建模 (Python二次开发)
但是在测试中,我发现当环向角径向角同时波动时,会出现面面相交,无法封闭的现象。


基于该问题,我对其中部分代码进行了改进(本次代码来源为@秋名山有限元 技术邻教学视频,若有需要请移步自行购买学习,相关索要代码私信不回)。
既然我们无法覆盖完所有的面,那么最终进行实体转化时,肯定也会报错,不如把错误堆在最后一起解决!根据这个想法,我分别在覆盖面、实体操作处引入了try except函数,软件报错,那我偏不让你报错,错了还给我继续运行下去,直到最后统一处理错误部件。最终,无论波动系数如何波动,都能够成功生成凹凸型骨料了!


在课程最后,老司机还提到了按从大到小粒径投放的思路,但是改动过于复杂,几乎要把后面的代码和参数改完了,所以我在前面,随机生成半径后就进行降序排列。虽然与假设球体最大距离的半径作为投放依据的想法不一致,但是最终结果也是好的。

最终测试结果显示,没有采用从大到小粒径投放的迭代次数为126次,老司机代码的投放次数50次,而我改进的代码用了66次。相比较而言,还是大大节省了时间。

最后,感谢@无悔果,@秋名山有限元 abaqus二次开发的教学视频。目前市面上关于abaqus二次开发教学视频较少,大多都为卖插件,对于刚入行的初学者是极为不友好的,即使你买了插件,也无法进行后续的改进。考虑到这些问题,今后我会不定时更新相关混凝土细观结构建模、感兴趣的仿真模拟的文献复现和相关思路、代码分享,也作为我学习成果的总结,我们一起共同努力吧!(文笔不好,请多见谅)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删