
發布
注冊
/
登錄abaqus減縮積分的案例
2階8節點減縮積分平面應變單元子程序UELMAT ¥1
2階8節點減縮積分平面應變單元子程序UELMAT源代碼及計算算例
自研有限元程序的減縮積分單元如何添加沙漏剛度(理論解釋+數值實現)
公式排版、代碼排版效果不佳,所以上傳的圖片,見諒
為什么減縮積分線性單元會存在沙漏問題?
如果使用了減縮積分的線性單元,即使不是在純彎曲加載模式下,其得到的應力應變值相比理論預示值應該要小(我推測的^_^,沒空詳細證實),所以用這樣的數據構造的切線剛度矩陣相比其他單元構造的切線剛度矩陣要小,這也許就是通常所說的出現沙漏問題的單元“太軟”的緣故。
結語:本文算不得什么,只是從公式上加深了商業軟件使用者對沙漏這一現象的了解,稍微知其所以然罷了。如果要進一步探究如何防止沙漏問題,要構造怎樣的位移模式,需要更多功夫,可見如下博文:
FEMer,公眾號:易木木響叮當
減縮積分單元、沙漏控制與自定義單元:與Abaqus C3D8R單元的精度對比之旅
參考資料:
《有限元分析及應用》曾攀,清華大學出版社,2004.
《基于ABAQUS的有限元分析和應用》莊茁等,清華大學出版社2008.
展開 Abaqus與Dyna電池包沖擊分析結果對比 ¥20
對比二:不同求解器的結果對比
位移結果動畫
計算結果
能量曲線對比
Dyna能量曲線
Abaqus能量曲線
為了更好的解讀計算結果,我們先查看鈑金件的材料曲線
塑性段材料曲線
由計算結果可知:
1. Dyna中減縮積分單元類型2和全積分單元16結果相差較大。16號單元加上沙漏類型8可以很好的處理單元扭曲變形的問題;2號單元由于采用面內單點積分,計算速度很快,對于大變形問題的計算最穩定,但對于單元扭曲變形非常敏感,計算精度相對較差。所以推薦使用單元類型16,這也是各主機廠通常使用的單元類型。
2. Abaqus減縮積分S4R和全積分S4位移結果基本完全一致,單元應力應變結果相近(減縮積分應力應變偏小),而全積分S4外推到節點的應力應變值差異很大,而且外推后應力應變不再滿足材料本構關系(應力340MPa對應的塑性應變為8%)。所以推薦使用整體S4R+局部關心區域S4的方式進行建模,這樣可以兼顧計算速度和計算精度,當然結果處理不要用外推到節點的應力應變。
3. Dyna中16號單元與Abaqus中S4的應力應變結果相近,誤差最大的反而是位移。能量曲線趨勢一致,但數值上相差較大,可能是由于各自的接觸算法和單元理論假定的不同導致。
歡迎關注微信公眾號:共享CAE
付費內容為相應計算文件,包含完整的電池包模型,Dyna和abaqus帶損傷的材料韌性斷裂失效設置,abaqus explicit通用接觸防止接觸厚度自動減小的設置,及其他常規的電池包沖擊分析設置,供大家學習。
展開 
ABAQUS直裂紋、斜裂紋圍道積分計算裂紋尖端J積分
之前算過一個關于裂紋擴展的問題,當時創建裂紋選擇的是contour intergral,后來又有人咨詢我裂紋尖端J積分的計算問題。我才恍然大悟,其實圍道積分方法還是適用于計算裂紋尖端在某時刻的J積分,至于動態擴展問題,還是交給XFEM吧(雖然也不太好)。
計算了幾種情況下的裂紋尖端J積分,包括直裂紋、斜裂紋以及裂紋尖端傾斜等三種情況。
部分試件的應力分布及J積分結果如圖所示:
ABAQUS輸出單元積分點坐標
方法
在ABAQUS CAE的場輸出中選擇的坐標點是節點的坐標,而節點是從積分點插值出來的,單元積分點的信息相對真實。所以最好是獲取積分點的信息,其中積分點的坐標無法在CAE中獲取,需要在關鍵字中添加。具體在每個分析步的單元輸出下面添加COORD,如果需要輸出節點的坐標也可以在節點場輸出下面添加COORD(這和CAE中場輸出選擇節點坐標的效果是一致的)。具體如下圖:
2.注意
在ODB結果中創建場輸出時會附帶著一份XYZ坐標,這個應該也可以當做單元的坐標,,但是我比較過這個附帶的坐標和單元的COORD輸出的坐標,有時候有點差別,可能是數據精度的問題。
展開 ABAQUS 輸出節點坐標和積分點坐標
總結inp中添加關鍵字
輸出單元的積分點坐標:*EL FILE
COORD
輸出節點坐標:*NODE FILE
COORD
原貼出處:https://www.researchgate.net/post/How-to-find-integration-point-coordinates-in-Abaqus-CAE
這是帖子討論的,但是我的嘗試是兩個COORD生成的結果文件是一樣的,都是節點坐標
Abaqus中平面應力單元高斯積分點的順序
可以輸出umat接口中的變量coords進行查看
write(*,"(A,I4)") "npt = ", npt
write(*,"(A,3ES16.8)") "coords = ", coords
結果為:
npt = 1
coords = -5.77350269E-01 -5.77350269E-01 1.00000000E-02
npt = 2
coords = 5.77350269E-01 -5.77350269E-01 1.00000000E-02
npt = 3
coords = -5.77350269E-01 5.77350269E-01 1.00000000E-02
npt = 4
coords = 5.77350269E-01 5.77350269E-01 1.00000000E-02
因此Abaqus中平面應力單元高斯積分點的順序為:
展開 Abaqus中獲取積分點坐標的三種方法
經常有小伙伴問獲取積分點坐標的方法,今天給大家介紹三種獲取積分點坐標的方式,希望能給你們帶來幫助。
1 通過abaqus子程序獲取積分點坐標
Abaqus一些子程序中可以直接獲取積分點坐標,例如我們熟知的UMAT子程序中包含COORD參數,即為積分點坐標。順帶一提的是,當打開了幾何非線性時,該積分點是當前構形下的坐標,如果未打開幾何非線性則為初始坐標。
2通過history output輸出積分點坐標
Abaqus可以直接在歷程變量history output中輸出積分點坐標。直接在history output中勾選COORD選項,但是這里需要注意的是,Domain中的Set集合如果是node set,這里輸出來的是節點坐標,當這里是element set的時候,輸出來的才是積分點坐標。
3通過等參單元映射函數計算
等參元中,為了方便計算,把整體坐標映射到自然坐標,然后在自然坐標下進行高斯積分。如果知道了自然坐標下的高斯積分點,通過映射函數反算,便能得到整體坐標下的高斯積分點坐標。以四邊形等參單元為例,其以自然呢坐標為變量的插值形函數如下
坐標變換采取同樣的插值函數(叫做等參的原因),整體坐標和自然坐標的關系式如下,如果知道自然坐標下的高斯積分點,直接通過此公式計算其在整體坐標下的坐標。
展開 abaqus怎么獲取單元積分點上的坐標呢
如題 為什么我查詢的時候坐標都是0
abaqus C3D8 單元 計算中采用了多少個積分點?
按照正常的理解,毫無.疑問,abaqus 全積分一定是采用了2x2x2=8個積分點。
從后處理結果來看,似乎也是如此,每個單元存在8個積分點。
然而,如果自己動手跑一遍程序,就會發現事實遠非如此,采用全積分計算得到的結果與abaqus 存在差異,原因何在?
事實賞,abaqus C3D8 采用的選擇積分方式(selective intergation schema),即對于偏應變,采用8個積分,對于球應變,采用中心點積分。這樣計算得到的結果才能與abaqus 完全對標,亦可從abaqus 幫助文檔得到答案。
展開 
Abaqus降魔篇之圍道積分小探
1 分析目的
平面應變的一塊板,在扭矩的作用下,分析裂紋端的應力強度因子以及斷裂能
模擬采用CPE4R(使用CPE8R往往會得到更精確的結果)
2 模型建立
然后進行切分,主要是切出預制裂紋面以及圍道外邊
在這里注意切那個圓的時候一定要將半徑點選到裂紋上,以便劃分網格
這里的圓半徑為0.5mm
3 建立材料以及相關屬性
4 建立模型,預制裂紋
選擇之前的切分線
選擇裂紋端點
這里的0.25是根據劃分網格的種子點確定的(4個點)
而collapsed的選項是要求對重疊單元的裂紋控制只對單一點有效
5 設置邊界條件
a首先是施加扭矩端的耦合
b然后是扭矩施加
另一端同理可得
c 限制位移
6 計算吧!
然后你可以看到應力強度因子以及斷裂能
或者你比較喜歡看趨勢
在或者你對歷史輸出里面的5感到困惑
那就看下圖
展開 有限元中單元積分點與節點應力相互轉換(CPE4為例)(ABAQUS)
在ABAQUS中,當需要獲取節點上的應力時,可以在后處理中建立路徑或者用查詢功能等獲取.
但是當需要大量的節點上應力數據時,很多人會用Python編程進行大批量的提取應力.但是提取出來的應力為單元積分點上的應力.無法獲取節點上的應力.同時在ABAQUS中的子程序中,也是對積分點上的數據進行操作.
本文基于個人興趣同時想要更加了解有限元背后原理和公式的想法.近日進行了一些初步的探索.希望大家批評指正. 本文基本不涉及原理公式,只在轉換積分點和節點的應力時列出公式。盡可能簡介易懂。
一: 單元類型及節點數目與位移,應變,應力階次的關系
本節內容基于有限元教材及一些網上資料.
(1)有限元求解的思路是:
一: 建立單元節點力與節點位移關系式.
二: 將彈性體上的外載荷等效移置到節點上.
三: 在節點上建立力的平衡方程,求得節點位移.
四: 通過彈性力學基本方程,可求得單元的應力和應變.
(2) 四節點矩形單元
以四節點矩形單元為例,在此只表達有限元教材中的結論,具體公式可參考有限元教材。
(3)ABAQUS中的CPE4單元
CPE4: A 4-node bilinear plane strain quadrilateral.
該單元有四個節點,同時有四個積分點。
對于每個應力分量(注意:在此只看一個應力分量),單元內任一點(x,y)的應力表達式為:
stress=a*x*y+b*x+c*y+d (1)
該表達式有四個未知量:a,b,c,d。
若知道四個積分點的應力分量。將每個積分點帶入上式,則會形成包含四個方程的線性方程組。
展開 CAE前處理之網格劃分
如果用體單元,用線性的還是用二次單元,是全積分還是減縮積分(Abaqus),在厚度方向上分布幾層單元才合適?畢竟節點數量的增加帶來的是計算量以平方增長。例如我計算過的一個鋼板彈簧,涉及接觸問題,采用了六千多個六面體的減縮積分單元,如果用8節點單元,計算時間是45分鐘,用20節點單元,計算時間是26個小時,精度變化只有0.1%。
2.自動劃分和人工干預的結合原則。并不是自動化程度越高越好。這個說法可能會引起歧義,我先解釋一下。什么是自動化程度高?是在復雜模型上自動生成亂七八糟的單元好呢,還是通過手工干預,合理地利用模型幾何特征來實現自動劃分好呢?顯然是后者,因為計算機不會知道哪個圓孔是需要特別關注因而需要細化網格的,它也不會知道哪個特征是可以忽略掉的。而通過人工指定就不一樣了。
3.絕對不要認為一個模型劃分完網格能計算通過就萬事大吉了,問題肯定是存在的。CAE的目的是什么?是分析,結果是否合理,如何跟客戶解釋?那么計算結果的合理性取決于什么呢,除了邊界條件以外,網格的質量和合理性起著決定性的作用。
劃分網格最重要的原則就是——態度。態度決定一切(米盧語),劃分網格需要的耐心和細心都來源于認真的態度,我想無論是做人還是做事都一定要認真。
轉貼:http://bbs2.zjcad.com/archive/index.php?t-4565.html
展開 計算機輔助工程(CAE)前處理之網格劃分
如果用體單元,用線性的還是用二次單元,是全積分還是減縮積分(Abaqus),在厚度方向上分布幾層單元才合適?畢竟節點數量的增加帶來的是計算量以平方增長。例如我計算過的一個鋼板彈簧,涉及接觸問題,采用了六千多個六面體的減縮積分單元,如果用8節點單元,計算時間是45分鐘,用20節點單元,計算時間是26個小時,精度變化只有0.1%。
2.自動劃分和人工干預的結合原則。并不是自動化程度越高越好。這個說法可能會引起歧義,我先解釋一下。什么是自動化程度高?是在復雜模型上自動生成亂七八糟的單元好呢,還是通過手工干預,合理地利用模型幾何特征來實現自動劃分好呢?顯然是后者,因為計算機不會知道哪個圓孔是需要特別關注因而需要細化網格的,它也不會知道哪個特征是可以忽略掉的。而通過人工指定就不一樣了。
3.絕對不要認為一個模型劃分完網格能計算通過就萬事大吉了,問題肯定是存在的。CAE的目的是什么?是分析,結果是否合理,如何跟客戶解釋?那么計算結果的合理性取決于什么呢,除了邊界條件以外,網格的質量和合理性起著決定性的作用。
劃分網格最重要的原則就是——態度。態度決定一切(米盧語),劃分網格需要的耐心和細心都來源于認真的態度,我想無論是做人還是做事都一定要認真。
展開