Abaqus二次開發-部件體素化(依據體素大?。?

插件安裝

(照搬,部分更改)

   1、可以安裝到abaqus的軟件安裝目錄下,建議在軟件安裝目錄下新建一個plugins文件夾,直接把文件解壓到這個位置就可以了。我的安裝目錄如圖所示:

Abaqus二次開發-部件體素化的圖1

   2、再有就是在安裝abaqus的時候,系統會自動在系統盤(一般是C盤)目錄下建立一個插件的安裝目錄。一般在用戶目錄下,例如我的這里是C:\Users\misk\abaqus_plugins,將文件解壓到這里也可以。如圖所示:

Abaqus二次開發-部件體素化的圖2

   3、新版本的abaqus(2016以后)在安裝時,會在安裝目錄下新建一個CAE文件夾,在該文件夾下的plugins中也可以安裝插件例如:*...*\SIMULIA\CAE\plugins,將文件解壓到這里也可以。

Abaqus二次開發-部件體素化的圖3

除了這幾種,好像還有一些方法,這里就介紹這3種。將文件解壓后,重新打開abaqusCAE,就可以在工具欄的Plug-ins目錄下找到該插件。如圖所示:

Abaqus二次開發-部件體素化(依據體素大?。┑膱D4


插件使用

操作說明:

     首先打開abaqus CAE,打開建立好的模型(也可以直接建立),點擊上圖中的voxel_vol,打開插件界面,如圖所示:

Abaqus二次開發-部件體素化(依據體素大?。┑膱D5

這里首先設定了默認值,你需要將界面中的參數換成你自己的模型。自上而下分別為模型名稱,部件名稱,新體素化部件名稱。

參數設定:

the length of the element: 單個體素的長(x方向)

the width of the element: 單個體素的寬(y方向)

the height of the element: 單個體素的高(z方向)

方向采用全局坐標系。

    設定好之后就可以點擊ok進行轉化。

操作示例:

這里首先建立了一個簡單的立方體模型(用abaqus做的,比較隨便,不要介意),長寬高分別10,8,5為如圖所示:

Abaqus二次開發-部件體素化(依據體素大小)的圖6


運行插件,參數設定如圖所示:

Abaqus二次開發-部件體素化(依據體素大?。┑膱D7

點擊ok,進行體素轉換。結果如圖所示:

Abaqus二次開發-部件體素化(依據體素大?。┑膱D8

注意左下角,由于按單個體素的尺寸生成不可避免的會出現與原部件宏觀尺寸出現偏差,所以這里將偏差輸出,在(我的是)軟件下方的的日志窗口會輸出偏差值。

體素檢查:

首先將原部件與體素部件同時在裝配體中載入。利用abaqus自帶功能進行檢查。

Abaqus二次開發-部件體素化(依據體素大小)的圖9

其中,綠框是體素部件,藍框是原部件(這里將體素塊設定的太大了)。

Abaqus二次開發-部件體素化(依據體素大小)的圖10

這是對單個體素塊進行檢查,與設定一致。接下來對誤差進行檢查。

對原部件的8個頂點進行檢索:

Abaqus二次開發-部件體素化(依據體素大小)的圖11

對體素部件的8個頂點進行檢索:

Abaqus二次開發-部件體素化(依據體素大?。┑膱D12

然后就是計算問題了,經計算與輸出誤差一致。


插件說明


體素生成技術說明:

(與上一篇插件生成技術大致相同)

    該插件首先根據部件的尺寸大小,構建出可以包裹部件的最小網格體,再遍歷每一個單元,根據單元的質心是否包絡再部件實體中,來決定單元的取舍。

本次以一個球體來演示單元質心的包絡情況。如圖所示:

Abaqus二次開發-部件體素化的圖10

情況一:不包絡

Abaqus二次開發-部件體素化的圖11

情況二:包絡

    在情況一中,單元質心在球體之外,未包絡,但是單元卻與部件接觸,這種情況,單元會判斷為None(也就是舍去),在情況二中,質心和單元都包絡在球體中,這種情況,單元會判斷為保留。這里就列舉這兩種情況。詳細關系見下表:

質心,單元與部件的位置關系對單元取舍的影響

Abaqus二次開發-部件體素化的圖12

其中,質心與單元都與部件進行接觸時(也就是說質心剛好在部件表面時),單元也進行保留。

    這里的包絡是指質點或單元剛好被部件包裹的情況(也就是說其剛好在部件體內,不超出表面)。接觸是指與部件產生交集。

最后,當遍歷了每一個單元后,就可以完成部件體素的轉換。

這里由于是按體素大小進行生成,所以不可避免與原部件宏觀尺寸產生偏差,3個方向的偏差至多為設定的單個體素相應的長寬高的數值。體素生成的基準點為剛好包裹原部件的box的中心。此插件也將偏差進行輸出,偏差為宏觀尺寸在全局坐標下三個方向的偏差。

注意:

  1. 由于要遍歷每一個單元,所以當單元總數較多時,比較耗時。
  2. 體素越小,網格越細致,單元數愈多,耗時越長,但是誤差也越小(這種情況不包括公因子,如果體素塊按公因子設定,就與原部件宏觀尺寸無偏差)向原部件逼近。
  3. 遍歷單元數可由剛好包裹原部件的box的體積與體素塊的體積之商粗略計算得出。
  4. 操作對象:單一part,不適用于殼模型。
  5. 體素大小按尺寸定義。
  6. 與上一個插件類似,計算效率不高。
  7. 體素宏觀尺寸與原部件可能存在偏差。

問題排除:

由于引用abaqus內核函數來判斷單元存留,當遍歷單元對不保留單元進行判斷時會發生警告。已嘗試引用warnings模塊最高等級對警告進行抑制,但是,毫無效果。所以該部分已在源代碼中刪除。對該問題進行保留,所以,在進行比較細致的體素轉化時,收到警告是正常現象,非bug。

當遍歷單元數較多時,可能比較卡,并時不時伴有警告音發出,比較斷續,這也是正?,F象。為簡化腳本,提高運算速度,并未引用sleep()函數對其整改。

承諾:

1.凡是購買插件的用戶,使用過程中若是遇到Bug,本人將承諾對發現的bug進行修復。

2.使用時有什么問題,也可以進行咨詢,私信或評論區發言都行,看到有時間會進行回復。

3.還沒想好,以后再說。

版本聲明:


此插件基于abaqus內核進行編寫,下載后解壓即可使用。

編寫參考abaqus 2016~2020,由于未找到早期版本的內核,所以不保證在abaqus 2016之前的版本還可以運行。abaqus 2020以后的包括最新版本的也沒查閱,不清楚更新內容,所以也不保證可以運行。但是繼承性一般是比較好的,大概率是可以運行的。


免責聲明:


后期也會對體素化進行開發,也許以后的插件會比此插件更加優異,性能更好,功能更多。但是,若您已購買此插件,后期并不會對您進行退款。新開發的插件將放入新的帖子中。

該插件不攜帶任何惡意內容,也不會盜取你的個人隱私內容,代碼未加密,購買后請對內容查看以確認。若使用后對您的計算機以及經濟、財產、隱私造成任何損害,本人不承擔任何責任。個人可以對源代碼進行更改,但是更改后的程序使用,產生的任何責任與本人無關。

注意?。。。。。。?!

注意!!?。。。。。。?!

注意?。。。。。。。。。。?!

重點來了?。。。。。。。。。。?!

售出后概不退款?。。。。。。。。。。?/strong>

同時希望各位尊重個人勞動成果,不要拿去二次銷售?。。。。。。。。。。?!

這么有意思的東西不要轉發一下么?


使用過程中若是出現bug,請在評論區留言。看到后會回復,并對其進行修復。

(暫時就這樣吧,也想不起來說什么了。)

帖子更新不易,跪求點贊加關注,能收藏一下就更好了。

以下內容為付費內容,請購買后觀看

   21人購買

此附件包含體素插件

App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

4
14
7