用abaqus做细观模拟,随机填充颗粒/纤维是跳不过的坎,网上有很多插件或脚本,技术邻也有不少大咖做了些插件,但个人而言更倾向于脚本,虽然插件使用起来方便,不过有时需要根据具体要求修改模型,此时脚本的灵活性就体现出来了。今天跟大家分享怎么通过python编写随机填充骨料的思路:
下面是按照上述思路编写的2D及3D骨料随机填充模型,其中二维模型支持圆形、椭圆及多边形(可定义边数),指定粒径和含量比较方便。
同时,根据粒径创建了set,方便后续赋予材料属性等操作:
但很多实际问题中,骨料粒径并不是定值,需要服从一定的分布规律,如下面是根据正态分布生成的模型:
三维模型建立的思路也类似:
由于细观力学的特点,需要通过一定的边界条件将细观和宏观模型连起来,其中常用的就是周期性边界条件,结构也需要周期性以通过偏移、阵列等当时拼出整个材料。下面是在上述模型基础上修改的周期性骨料随机生成模型:
由此可见,通过一定的阵列,完全能拼出整个宏观模型。下面是三维情况:
在以上周期性模型上施加周期性边界条件,才算完整的解决了周期性模型问题。怎么施加周期性边界条件呢?可以在interaction模块中使用equation,如果模型较大、节点较多则还需要脚本或插件。
如前面所属,网格映射法生成随机骨料填充模型有些优势,一定程度上可提高精度,或说结构性网格好看;但其缺点也比较明显,当网格长度比较大时很容易导致骨料变形;此外如果参考模型中网格很细的话映射需要较长时间。下面是采用网格映射法建立的模型:
其实是一个part,只是在原来骨料位置建立了单元集合。
下面是三维模型:
图中可以看到,基体材料边界上网格是结构化的。
其实以上这些技术含量不高,但比较费时间,特别是“假装患有强迫症”的人,有时发个帖子都需要一整天;除非你正在做类似的项目,特意去做这些反而不值得。有的时候这些资源是收费的,我们购买这些资源并不是因为自己做不了,只是投入的精力可能远大于跟价钱。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删