【Abaqus二次開發(fā)】骨料隨機填充及映射網(wǎng)格法
0.出發(fā)點
用abaqus做細觀模擬,隨機填充顆粒/纖維是跳不過的坎,網(wǎng)上有很多插件或腳本,技術(shù)鄰也有不少大咖做了些插件,但個人而言更傾向于腳本,雖然插件使用起來方便,不過有時需要根據(jù)具體要求修改模型,此時腳本的靈活性就體現(xiàn)出來了。今天跟大家分享怎么通過python編寫隨機填充骨料的思路:
- 二維模型,主要是將基體做partition,比較簡單;而做partition用的草圖就需要用python批量生成,操作跟普通CAE界面做partition類似。
- 三維模型直接用上述方法比較難,此時可以建立多個part,或?qū)⒐橇献鳛橐粋€part跟基體在assembly模塊進行裝配,并巧用Merge/cut功能即可。
- 網(wǎng)格映射法主要是通過將獲得骨料中的點坐標,把它映射到已畫好結(jié)構(gòu)化網(wǎng)格的另一個part中;這種方法的有點在于施加周期性邊界條件很方便。
1. 普通隨機骨料填充
下面是按照上述思路編寫的2D及3D骨料隨機填充模型,其中二維模型支持圓形、橢圓及多邊形(可定義邊數(shù)),指定粒徑和含量比較方便。
同時,根據(jù)粒徑創(chuàng)建了set,方便后續(xù)賦予材料屬性等操作:
但很多實際問題中,骨料粒徑并不是定值,需要服從一定的分布規(guī)律,如下面是根據(jù)正態(tài)分布生成的模型:
三維模型建立的思路也類似:
2.周期性骨料隨機生成
由于細觀力學的特點,需要通過一定的邊界條件將細觀和宏觀模型連起來,其中常用的就是周期性邊界條件,結(jié)構(gòu)也需要周期性以通過偏移、陣列等當時拼出整個材料。下面是在上述模型基礎上修改的周期性骨料隨機生成模型:
由此可見,通過一定的陣列,完全能拼出整個宏觀模型。下面是三維情況:
在以上周期性模型上施加周期性邊界條件,才算完整的解決了周期性模型問題。怎么施加周期性邊界條件呢?可以在interaction模塊中使用equation,如果模型較大、節(jié)點較多則還需要腳本或插件。
3.網(wǎng)格映射法
如前面所屬,網(wǎng)格映射法生成隨機骨料填充模型有些優(yōu)勢,一定程度上可提高精度,或說結(jié)構(gòu)性網(wǎng)格好看;但其缺點也比較明顯,當網(wǎng)格長度比較大時很容易導致骨料變形;此外如果參考模型中網(wǎng)格很細的話映射需要較長時間。下面是采用網(wǎng)格映射法建立的模型:
其實是一個part,只是在原來骨料位置建立了單元集合。
下面是三維模型:
圖中可以看到,基體材料邊界上網(wǎng)格是結(jié)構(gòu)化的。
4.后話
其實以上這些技術(shù)含量不高,但比較費時間,特別是“假裝患有強迫癥”的人,有時發(fā)個帖子都需要一整天;除非你正在做類似的項目,特意去做這些反而不值得。有的時候這些資源是收費的,我們購買這些資源并不是因為自己做不了,只是投入的精力可能遠大于跟價錢。
雖然總調(diào)侃說“做仿真的別人都不信,中只有自己信;做實驗的別人都信,只有自己不信”,能做好仿真還是需要很多基礎的,如需要懂理論、材料、CAD軟件以及一些編成語言知識,有時看似很簡單的計算能讓人崩潰到懷疑人生(懷疑三體人的質(zhì)子在作怪??)。但愿所有做仿真的人,能夠從中找到樂趣。
歡迎咨詢討論
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















