
發布
注冊
/
登錄abaqus彈簧剛度設置的案例
(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結果對比
這個在我去年的時候就已經發過帖子了,但是沒有講解代碼,沒有和ABAQUS有限元軟件對比。這次發帖子就是想講解代碼以及和ABAQUS結果對比,發現我又更深層次理解了有限元方法。
這次寫得是最簡單的模型:一維線彈簧單元。采用的是直接剛度法求解。
直接剛度法的求解思路如下所示,其中粉紅色的是輸入,淡藍色是輸出。主要是要區分齊次邊界條件和非齊次邊界條件,非齊次邊界條件的話就要修改【F】。
下面將貼出我用python寫得一維彈簧單元的直接剛度法:
例子計算:
如圖是一個彈簧系統,單元節點信息如下,5節點受到一個強制位移20mm,明顯這是一個非齊次邊界條件問題。
Python編程輸入信息如下:
結果如下:
可以看到,輸出結果和書上的答案一致。
下面進行ABAQUS模擬:
添加彈簧單元
添加邊界條件
顯示單元編號、節點編號如下所示,紅色表示單元編號,黃色是節點編號
ABAQUS計算結果如下:
首先是變形圖前后對比
反力云圖如下所示,基本和直接剛度法計算的結果一致
位移云圖如下所示,基本和直接剛度法計算的結果一致
整體剛度矩陣如下所示,因為ABAQUS彈簧單元是三維的,每一個節點有3個自由度,15x15,原味的剛度矩陣如下
我們把剛度矩陣轉化為一維的,方便和編程的結果對比
從結果可以看出,ABAQUS的整體剛度矩陣和直接剛度法計算出來的整體剛度矩陣有些差異,如圖標紅的所示。
那么在整體剛度矩陣上為什么ABAQUS會和直接剛度法的整體剛度矩陣有差異呢,到底ABAQUS的整體剛度矩陣對不對呢?答案將在下一期揭曉。歡迎大家積極討論。
展開 續集(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結果對比
上一個帖子鏈接:(一維彈簧單元的直接剛度方法)Python編程和ABAQUS結果對比
上一個帖子我們對比了基于直接剛度法來求解得到一維彈簧單元的剛度矩陣和ABAQUS提取出來的不太一樣。
今天我來詳細講一下其中的原理。
例子:還是上一個帖子的例子,它是一個非齊次邊界條件的單自由度彈簧系統。
我們知道這個公式:
在整個系統來看,此時
所以我們可以寫出
***注意一下,這里的剛度矩陣 [k] 的行列式 |K| =0, 是沒有逆矩陣的。
現在我們的目的是想求出U2,U3,U4 這三個位置位移,我們改寫一下這個線性方程組
然后移項化簡
這時,我們可以刪掉U=0的行,以及對應的 [K] 中的列
整理一下
再把求得的位移反帶入公式中
這個是解線性方程組的直接解法,利用了矩陣的變換,結果是精確解。在過程中我們發現,原來不可逆的【K】矩陣經過刪除行列之后變成了可逆的矩陣。
然而在ABAQUS中,不是這樣處理的。
在這一步的時候,我們的解法已經介紹。然而,ABAQUS 運用了補償法這一巧妙的解法。在邊界的節點上補償一個剛度為kb的彈簧,其中Kb為大剛度系數,具體在公式中體現如下
不用懷疑,理論來講,方程組中的未知數U2,U3,U4,F1x,F5x的結果沒變。這個時候【K】的行列式|K|≠0,于是【K】有逆矩陣,我們可以直接通過解矩陣方法求解位置向量{U},
在這里就要注意了,假設我們設Kb = 10^36 N/mm ,我們可以忽略F1x和F5x,所以求得的解都是近似解,解的精確程度取決于Kb取值的大小,Kb越大,結果越精確。
此時再把{U}反帶入
求得{F}。
展開 HyperWorks(Hypermesh)+Abaqus彈簧單元(spring)創建及設置方法 ¥9.9
<p> 彈簧單元有3種類型:接地彈簧(spring1)、兩結點彈簧(spring2)、軸向彈簧(springA)。</p><p> <strong>spring1</strong>,接地彈簧,一個結點在大地上,只需定義另一個結點;需要定義彈簧力的方向。</p><p> <strong> spring2</strong>,兩結點彈簧,需要定義彈簧力的方向。</p><p> <strong> springA</strong>,軸向彈簧,不需要定義彈簧力的方向,由兩結點的連線方向確定。</p><p> 常使用springA彈簧單元。</p><p><br></p><p> 本案例分別介紹<u>HyperWorks(Hypermesh)</u>和<u>Abaqus</u>中彈簧單元springA和spring2的創建及設置方法(spring1可參照設置)。</p><p> 以圖文方式詳細描述每一步需要填寫的內容及釋義,通過本使用教程,您將可以按教程詳細步驟一步步設置彈簧單元spring,即便是小白也能快速上手使用。</p><p><br></p><p><br></p><p><br></p>
展開 單自由度彈簧振子abaqus的實例設置,初始條件為初速度。
彈簧振子的振動是我們在學習工作振動力學和可靠性理論中最簡單,最基礎的單元,掌握其理論基礎,并用abaqus仿真。
現將實例概述如下:質量1噸的物體用彈簧和固定的甲板相連,彈簧的剛度k=2000N/m,阻尼系數c=17.89N·s/m,求最大位移。
1振動力學的原理:
2利用MATLAB4級龍格庫塔得出以下結論:
最大位移位x=338mm
3利用ANSYS得出的結論
最大位移x=338mm
4用abaqus仿真設置和結論
這個例仿真對于初學者有三 個難點,第一個是彈簧的設置,第二個是初始速度的施加。第三個是分析步的設置。
a.裝備。將模型簡化成兩個點,可以在裝配中直接做出來,兩點的距離不影響結果,為了觀察方便,距離要適當的增大。
b.分析步。分析步要設成兩步,第一步靜力學分析,第二步隱式動力學分析。也可以適當的調節增量步的大小,也可以不改變。
c.相互作用。設置彈簧的剛度、阻尼和慣性。其中彈簧的設置有兩種這里只介紹一種特殊設置(另一種也不是很復雜)。
d.載荷。這里要將左側的甲板固定住,限制他的六個自由度。并且施加初速度,這里要注意初學者容易將初速度在邊界條件中施加,這并不是正確的。要在預定場當中施加。
c.網格。因為模型已經簡化成了兩個點,因此不必要在進行網格劃分,直接提交作業。
d.可視化后處理
彈簧振子的位移曲線如圖,最大位移為338mm
5結論
最后,MATLAB數值仿真,ansys與abaqus結論相同。
本實例主要針對abaqus的初學者的彈簧振子的相關問題提供思路,由于水平有限,歡迎批評指正。Q:1035863272
展開 