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

大家好!

上一個帖子鏈接:(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結(jié)果對比

上一個帖子我們對比了基于直接剛度法來求解得到一維彈簧單元的剛度矩陣和ABAQUS提取出來的不太一樣。

今天我來詳細(xì)講一下其中的原理。

例子:還是上一個帖子的例子,它是一個非齊次邊界條件的單自由度彈簧系統(tǒng)。

續(xù)集(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結(jié)果對比的圖1

我們知道這個公式:

Capture.png

在整個系統(tǒng)來看,此時

Capture.png

所以我們可以寫出

Capture.png

***注意一下,這里的剛度矩陣 [k] 的行列式 |K| =0, 是沒有逆矩陣的。

現(xiàn)在我們的目的是想求出U2,U3,U4 這三個位置位移,我們改寫一下這個線性方程組

Capture.png

然后移項化簡

Capture.png

這時,我們可以刪掉U=0的行,以及對應(yīng)的 [K] 中的列

Capture.png

整理一下

Capture.png

再把求得的位移反帶入公式中

Capture.png

這個是解線性方程組的直接解法,利用了矩陣的變換,結(jié)果是精確解。在過程中我們發(fā)現(xiàn),原來不可逆的【K】矩陣經(jīng)過刪除行列之后變成了可逆的矩陣。

然而在ABAQUS中,不是這樣處理的。

續(xù)集(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結(jié)果對比的圖10

在這一步的時候,我們的解法已經(jīng)介紹。然而,ABAQUS 運用了補償法這一巧妙的解法。在邊界的節(jié)點上補償一個剛度為kb的彈簧,其中Kb為大剛度系數(shù),具體在公式中體現(xiàn)如下

Capture.png

不用懷疑,理論來講,方程組中的未知數(shù)U2,U3,U4,F1x,F5x的結(jié)果沒變。這個時候【K】的行列式|K|≠0,于是【K】有逆矩陣,我們可以直接通過解矩陣方法求解位置向量{U},

Capture.png

在這里就要注意了,假設(shè)我們設(shè)Kb = 10^36 N/mm ,我們可以忽略F1x和F5x,所以求得的解都是近似解,解的精確程度取決于Kb取值的大小,Kb越大,結(jié)果越精確。

Capture.png

此時再把{U}反帶入續(xù)集(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結(jié)果對比的圖14

Capture.png

求得{F}。

我們編程的結(jié)果如下所示

Capture.png

ABAQUS結(jié)果和編程結(jié)果對比

Capture.png

所以ABAQUS提取的整體剛度矩陣實際是經(jīng)過補償后的剛度矩陣,嚴(yán)格來說是不正確的,但是并不影響力和位移的結(jié)果。

正確的剛度矩陣如下

續(xù)集(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結(jié)果對比的圖18

如果疑問,歡迎交流和指正。

補償法的部分代碼如下

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

TOP

1
1
5