【Abaqus二次開發(fā)】骨料隨機填充及映射網(wǎng)格法

0.出發(fā)點

用abaqus做細觀模擬,隨機填充顆粒/纖維是跳不過的坎,網(wǎng)上有很多插件或腳本,技術(shù)鄰也有不少大咖做了些插件,但個人而言更傾向于腳本,雖然插件使用起來方便,不過有時需要根據(jù)具體要求修改模型,此時腳本的靈活性就體現(xiàn)出來了。今天跟大家分享怎么通過python編寫隨機填充骨料的思路:

  1. 二維模型,主要是將基體做partition,比較簡單;而做partition用的草圖就需要用python批量生成,操作跟普通CAE界面做partition類似。
  2. 三維模型直接用上述方法比較難,此時可以建立多個part,或?qū)⒐橇献鳛橐粋€part跟基體在assembly模塊進行裝配,并巧用Merge/cut功能即可。
  3. 網(wǎng)格映射法主要是通過將獲得骨料中的點坐標,把它映射到已畫好結(jié)構(gòu)化網(wǎng)格的另一個part中;這種方法的有點在于施加周期性邊界條件很方便。

1. 普通隨機骨料填充

下面是按照上述思路編寫的2D及3D骨料隨機填充模型,其中二維模型支持圓形、橢圓及多邊形(可定義邊數(shù)),指定粒徑和含量比較方便。

同時,根據(jù)粒徑創(chuàng)建了set,方便后續(xù)賦予材料屬性等操作:

2D.gif

但很多實際問題中,骨料粒徑并不是定值,需要服從一定的分布規(guī)律,如下面是根據(jù)正態(tài)分布生成的模型:

2D_G.gif

三維模型建立的思路也類似:

3D.gif

2.周期性骨料隨機生成

由于細觀力學的特點,需要通過一定的邊界條件將細觀和宏觀模型連起來,其中常用的就是周期性邊界條件,結(jié)構(gòu)也需要周期性以通過偏移、陣列等當時拼出整個材料。下面是在上述模型基礎上修改的周期性骨料隨機生成模型:

2D_PBC.gif

由此可見,通過一定的陣列,完全能拼出整個宏觀模型。下面是三維情況:

3D_PBC.gif

在以上周期性模型上施加周期性邊界條件,才算完整的解決了周期性模型問題。怎么施加周期性邊界條件呢?可以在interaction模塊中使用equation,如果模型較大、節(jié)點較多則還需要腳本或插件。

3.網(wǎng)格映射法

如前面所屬,網(wǎng)格映射法生成隨機骨料填充模型有些優(yōu)勢,一定程度上可提高精度,或說結(jié)構(gòu)性網(wǎng)格好看;但其缺點也比較明顯,當網(wǎng)格長度比較大時很容易導致骨料變形;此外如果參考模型中網(wǎng)格很細的話映射需要較長時間。下面是采用網(wǎng)格映射法建立的模型:

2D_pro.gif

其實是一個part,只是在原來骨料位置建立了單元集合。

下面是三維模型:

02.jpg
04.jpg

圖中可以看到,基體材料邊界上網(wǎng)格是結(jié)構(gòu)化的。

4.后話

其實以上這些技術(shù)含量不高,但比較費時間,特別是“假裝患有強迫癥”的人,有時發(fā)個帖子都需要一整天;除非你正在做類似的項目,特意去做這些反而不值得。有的時候這些資源是收費的,我們購買這些資源并不是因為自己做不了,只是投入的精力可能遠大于跟價錢。

雖然總調(diào)侃說“做仿真的別人都不信,中只有自己信;做實驗的別人都信,只有自己不信”,能做好仿真還是需要很多基礎的,如需要懂理論、材料、CAD軟件以及一些編成語言知識,有時看似很簡單的計算能讓人崩潰到懷疑人生(懷疑三體人的質(zhì)子在作怪??)。但愿所有做仿真的人,能夠從中找到樂趣。

歡迎咨詢討論

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

19
11
29