(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結果對比

大家好!

    在學習《有限元方法基礎教程》過程中,通過自己編程實現有限單元法的數值解答,加深對理論的理解。這個在我去年的時候就已經發過帖子了,但是沒有講解代碼,沒有和ABAQUS有限元軟件對比。這次發帖子就是想講解代碼以及和ABAQUS結果對比,發現我又更深層次理解了有限元方法。

這次寫得是最簡單的模型:一維線彈簧單元。采用的是直接剛度法求解。

直接剛度法的求解思路如下所示,其中粉紅色的是輸入,淡藍色是輸出。主要是要區分齊次邊界條件和非齊次邊界條件,非齊次邊界條件的話就要修改【F】。

Capture.png

下面將貼出我用python寫得一維彈簧單元的直接剛度法:

1.png
2.png  
3.png

例子計算:

5.png  

如圖是一個彈簧系統,單元節點信息如下,5節點受到一個強制位移20mm,明顯這是一個非齊次邊界條件問題。

7.png  

Python編程輸入信息如下:

6.png

結果如下:

8.png

可以看到,輸出結果和書上的答案一致。

下面進行ABAQUS模擬:

添加彈簧單元

9.png

添加邊界條件

10.png

顯示單元編號、節點編號如下所示,紅色表示單元編號,黃色是節點編號

21.png

ABAQUS計算結果如下:

首先是變形圖前后對比

11.png

反力云圖如下所示,基本和直接剛度法計算的結果一致

12.png

位移云圖如下所示,基本和直接剛度法計算的結果一致

13.png

整體剛度矩陣如下所示,因為ABAQUS彈簧單元是三維的,每一個節點有3個自由度,15x15,原味的剛度矩陣如下

14.png

我們把剛度矩陣轉化為一維的,方便和編程的結果對比

17.png

從結果可以看出,ABAQUS的整體剛度矩陣和直接剛度法計算出來的整體剛度矩陣有些差異,如圖標紅的所示。

那么在整體剛度矩陣上為什么ABAQUS會和直接剛度法的整體剛度矩陣有差異呢,到底ABAQUS的整體剛度矩陣對不對呢?答案將在下一期揭曉。歡迎大家積極討論。

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

TOP

27
1
32