使用python二次開發解決abaqus的mises曲線繪制

熟悉abaqus的人知道,對于mises應力的問題,abaqus的解決方法是先得到精確的積分點的Mises應力的解,再通過外推的方法得到節點的解。所以當你使用xydate輸出節點MISES應力的時候,會得到多個值,但是如果輸出高斯積分點的MISES時,會得到一個值。

如果你非常喜歡用xydate,你會發現有一個功能無法實現,就是獲得模型整體的最大的Mises應力曲線。因為XYdate是基于固定節點或者單元的,而模型的最大應力單元隨著工況的變化在不斷的變換。

上面說了一些廢話,其實想表達一個意思,再abaqus中的結果文件中是只有高斯積分點的應力的。(如我理解錯誤請及時指出),所以通過python的二次開發,實現abaqus所有增量步下基于積分點的Mises的表格輸出與最大值查找成為可能。

目標1:在結構樹的XYDATE中生成一個新的date,這個date的x選項是所有的增量步(或者時間),Y選項是每個增量步(或者時間)時模型基于積分點的最大Mises應力值。

目標2:找出整個模型MISES應力最大的單元的編號,及對應的step和frame

例:一個典型的螺栓工況,共有4個step,依次是預緊、緊固、固定螺栓長度和加載

1.    打開odb文件(必須操作)

2.    使用開發的插件:MaxMisesCurve,選擇默認選項,點擊OK

1.png

使用python二次開發解決abaqus的mises曲線繪制的圖2

3.    3.稍等幾秒。在對話框里會顯示目標2的內容

2.png

使用python二次開發解決abaqus的mises曲線繪制的圖4

4.    .接下來到結構數中,找到生成的xydate

3.png

使用python二次開發解決abaqus的mises曲線繪制的圖6

這里說明下,X不是steptime。因為我想實現總時間,但是沒有找到相應的熟悉,所以我用了一個增量的方法。如果step1實際由3個frame,step2有2個frame。我這里的x則是從0到4.一共5個。如果想得到時間的X的值,使用自帶的xydate,任意選一個單元輸出個值,把這個xydate的值替換到我這里就是以時間為增量的X值。

5.    .繪制xydate曲線

4.png

6.    可看出maxMises的變化,同時可以看出,不是最后時刻的最大。

7.    6.結果對比 由3和5,6中  都可以看到是load載荷步第一個frame的值最大,查看云圖,先切換成單元積分點應力云圖

5.png

使用python二次開發解決abaqus的mises曲線繪制的圖9

11. 然后分布對比load載荷步中的幾個值

6.png

可以看到,完美符合。說明該工具可靠

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

   31人購買

插件源文件

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

TOP

10
4
10