有限元求解:結構應力法如何實現的網格不敏感呢?

一、導讀

本人從大一時,上第一節力學課就開始接觸有限元,那個時候老師曾說:“學會我講的這門有限元,我可以保證你在畢業時候一定找到工作”。那個時候有限元很火,很多高校都開了課,這一晃都過去13年啦。最近看到有人分享了有限元的應力集中和應力奇異,文章寫得特別精彩。在學校的時候我一直也很疑惑,既然應力的計算結果受網格尺寸影響,那到底有限元能不能有能力識別應力集中呢?這個問題直到接觸到董平沙教授提出的“結構應力法”才得以解決。結構應力是董平沙教授研究焊縫疲勞開裂機理時,針對焊接結構疲勞問題的特殊性並基於力學原理而定義的一種應力,有興趣的可以查閱相關文獻。寫篇介紹性的文章,讓大家瞭解下結構應力方法,歡迎各位親對該方法進行深入的瞭解,擴展其應用範圍,提出不同的看法或討論,歡迎來微信群交流。

二、懸臂樑的計算困惑下面是一個受彎懸臂樑的例子,如圖1所示,該梁尺寸為

有限元求解:結構應力法如何實現的網格不敏感呢?

,根據材料力學公式,梁的中部上下表面兩個點的理論解為

有限元求解:結構應力法如何實現的網格不敏感呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

圖1 懸臂樑示意圖

有限元求解:結構應力法如何實現的網格不敏感呢?

根據幾何模型建立有限元模型,單元類型為平面應力的PLANE182單元,劃分兩個單元,求解後,單獨選取單元2,則中部節點3和6的應力分別為

有限元求解:結構應力法如何實現的網格不敏感呢?

,這個結果與理論解相差很遠,網格細化後,應力肯定會逐漸升高,感興趣的小夥伴可以試一試到底細化到什麼程度能和理論解對上。

這個例子本身沒有什麼意義,但卻說明一個很重要的問題,有限元求解的值是關於網格敏感的。對於一個新手而言,不知道所在行業的結構劃分多大尺寸的網格才能和試驗結果相對應,這是很可怕的。

三、 如何實現的網格不敏感董平沙教授提出的結構應力法如何實現的網格不敏感呢?想要知道具體理論的小夥伴可以參考書籍《焊接結構抗疲勞設計理論與方法》。咱們還是說上面的簡支梁(這個例子也是董老師的,借來用用)。在有限元計算時,單元邊上的分佈載荷要向節點轉化,這個學過有限元分析都應該瞭解,在有限元原理書籍中也叫等效載荷。而董老師網格不敏感的結構應力法利用節點力求線力和線矩時,卻是這個過程的逆過程,即有限元求得的節點力和力矩轉化為線力和線矩,該線力與線矩是指焊線處單位長度上的力與力矩。具體怎麼轉化的呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

圖3 懸臂樑的兩單元計算結果

如圖3所示,節點1和2在y軸方向的節點力及繞x軸的力矩分別為Fy1、Fy2和Mx1、Mx2;y軸方向單元邊的線力及繞x軸的線力矩分別為fy1,fy2和mx1、mx2根據力的平衡方程,可以求得式(1)(小夥伴可以用材料力學公式對節點1列平衡方程,即求合力及合彎矩)。

有限元求解:結構應力法如何實現的網格不敏感呢?

(1)

求(1)等式右側項矩陣的逆可得:

有限元求解:結構應力法如何實現的網格不敏感呢?

(2)

所以節點1及節點2的結構應力定義式(3):

有限元求解:結構應力法如何實現的網格不敏感呢?

(3)

再來看那個簡支梁,將單元2隔離出來後,節點3和節點6的單元節點力

有限元求解:結構應力法如何實現的網格不敏感呢?

分別為

有限元求解:結構應力法如何實現的網格不敏感呢?

,沒有節點彎矩,如圖3所示,在圖3中還用箭頭描述了彎曲情況下截面的應力分佈。節點3和節點6的距離為

有限元求解:結構應力法如何實現的網格不敏感呢?

,板厚

有限元求解:結構應力法如何實現的網格不敏感呢?

,根據公式(3)的節點3和節點6的結構應力為

有限元求解:結構應力法如何實現的網格不敏感呢?

,這個結構應力與理論結果一致。

有限元求解:結構應力法如何實現的網格不敏感呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

通過該方法給出了與梁理論完全一致的結果,這是在意料之中的,因為梁是在靜定載荷條件之下。該方法的中平衡理論,要求這樣計算出的應力應當滿足平衡條件。需要注意的是,這個例子僅僅用來闡述該方法的基本概念,而不是表示該方法可以沒有任何限制的使用,設計的建模和網格問題,有興趣的小夥伴可以查閱相關資料。基於有限元的基本理論,網格不敏感的結構應力法的力學解釋並不困難。

結構應力的計算基礎是認為截面上節點力的合力一定與外力平衡,這樣在劃分有限元網格時,假如在給定外力的前提下劃分20個網格的節點力的合力與這個外力平衡,那麼劃分10個節點力的合力也應與這個外力平衡。事實上,網格不敏感的原因完全可以從力的平衡角度去解釋,因為在外力被給定的情況下,同樣一條焊趾或焊線上的節點力的個數無論多少,其合力都將與這個外力平衡,所以結構應力對有限元網格一定不敏感。當創建有限元模型時,需要注意的僅僅是在基於虛功原理將節點力轉換為線力或線力矩時要有足夠的節點即可。

注意,結構應力的網格不敏感與通常的應力計算過程中為了提高計算精度而加密網格完全不同的兩個思考方向,由於在計算結構應力時追求過細的網格是沒有必要的,所以結構應力對有限元網格不敏感這一特點在應用過程中有重要價值,因為這將顯著降低有限元網格數量,從而降低了對計算機硬件能力的要求,在硬件配置不是很高的計算機上,也可以完成較大規模的計算任務。

四、實際結構中的應用下面看看具體怎麼應用到焊縫中的,圖4給出了外力作用下在焊縫截面上沿著厚度方向的應力分佈,這個應力分佈因含有缺口應力而呈現出高度非線性。雖然理論上或數值上直接求解這個非線性應力分佈是很困難的,但是我們可以將這個高度非線性的應力進行分解。分解後,第一部分應力是隻與外力相關,且與外力互相平衡的那一部分,第二部分應力則是去掉了第一部分而餘下的應力分佈。它雖然包含了非線性部分,但是由於第一部分已經與外力平衡,因此這部分稱之為缺口應力的分佈一定處於自平衡狀態。

有限元求解:結構應力法如何實現的網格不敏感呢?

圖4 焊趾截面內的應力分解示意圖

有了上述分析就可以定義第一部分為結構應力,第二部分為缺口應力,二者之和,就是原來截面上非線性應力的分佈。這裡忽略了剪切應力的影響,一個原因是它對焊縫開裂的貢獻很小,如果剪切應力不能被忽略,那將是多軸疲勞問題,這裡暫不討論。那麼,為什麼第一部分應力稱之為結構應力呢?因為它是滿足平衡條件並可以用結構力學的方法計算得到。不失一般性,將一段焊縫劃分成n個單元時,節點編號由1至n,焊線上的各節點距離為

有限元求解:結構應力法如何實現的網格不敏感呢?

有限元求解:結構應力法如何實現的網格不敏感呢?

,根據力的平衡方程,可求得各節點力

有限元求解:結構應力法如何實現的網格不敏感呢?

與線力

有限元求解:結構應力法如何實現的網格不敏感呢?

的對應關係。

有限元求解:結構應力法如何實現的網格不敏感呢?

(4)上式中矩陣

有限元求解:結構應力法如何實現的網格不敏感呢?

只與節點距離相關,這裡定義為單元長度等效矩陣:

有限元求解:結構應力法如何實現的網格不敏感呢?

(5)

採用Matlab等計算軟件可對

有限元求解:結構應力法如何實現的網格不敏感呢?

矩陣求逆,結果為

有限元求解:結構應力法如何實現的網格不敏感呢?

,由於求逆後數據不再是帶狀,這裡不詳細列出,感興趣的小夥伴試一試。

由此可得線力與節點力的對應關係:

有限元求解:結構應力法如何實現的網格不敏感呢?

(6)

同理,線矩mx與節點力矩Mx與上述表達式形式相同,這樣當有n個節點在相同的單元厚度t的情況下,各節點的結構應力

有限元求解:結構應力法如何實現的網格不敏感呢?

,以及各節點力

有限元求解:結構應力法如何實現的網格不敏感呢?

及力矩

有限元求解:結構應力法如何實現的網格不敏感呢?

可用矩陣方式表為:

有限元求解:結構應力法如何實現的網格不敏感呢?

(7)

五、算例分析迄今為止,已經通過董老師結構應力方法計算了很多算例,這裡也不過多介紹,引用董平沙老師比較經典的案例給大家展示一下這種方法的優越性。下面是三種單元尺寸不同的接頭,長度分別為0.5t、1t和2t,分別對比最大主應力、Von Mises應力和結構應力,只有結構應力結構基本保持不變,最大主應力和Von Mises應力隨著網格尺寸的增加而增大。

有限元求解:結構應力法如何實現的網格不敏感呢?

圖5 三種不同有限元網格尺寸計算的三類應力

結果對比必須聲明,文章並非原創,都是引用了董平沙教授、兆文忠教授、李向偉博士等的研究成果,因為感覺很多人不知道這種方法,所以單獨將結構應力計算方法進行了整理出來,通過簡單的內容介紹給大家,希望有興趣的參閱《焊接結構抗疲勞設計理論與方法》

感興趣的朋友,可以加入仿真秀力學與有限元分析交流群預計在11-12月,我們將圍繞網格不敏感這個主題,將邀請本文作者雲兵老師神秘嘉賓在我們的微信群開展超級話題討論,歡迎大家來一起討論和學習。

作者聲明:原創文章,首發仿真秀,部分圖片源自網絡,如有不當請聯繫我們,歡迎分享,禁止私自轉載,轉載請聯繫我們。


分享到:


相關文章: