清華MOOC有限元課程學習筆記(七)
前文已經介紹了有限單元法的基本思想,基本流程,以及桿單元和平面單元的單元分析。
這一次筆記重點寫一寫空間單元的單元研究與參數單元。
之前的一次提問,我沒有看到一些想要的答案吧,把問題再發出來,留作有興趣的讀者和我一起討論討論。
可以重點討論一下結構力學和彈性力學的綜合體現在哪些方面,有助於學科的更深層理解。
一、空間四節點四面體單元:
首先,四面體單元有四個節點,每個節點在空間中有三個自由度,故,一共有十二個自由度,拼成節點位移列陣。
同時,十二個自由度的方向上,均可以施加外力,就構成一個對應的節點力列陣。
在節點描述完成之後,就要通過插值,得到常變數的描述。
首先是位移場的描述,有了位移場,通過幾何方程得到應變場,再通過物理方程得到應力場。
由於有12個自由度,而場變數有三個,分別是u,v,w,每一個場變數可以由四個待定參數。
故選取完全線性的函數,每一個包含四個待定係數。
通過對應節點的帶入,十二個待定係數得到確定。
然後就得到最核心的一步,將位移函數表達成形狀函數矩陣和節點位移列陣的成績。
因為我們解析的過程,是通過整體剛度方程,求解所有節點位移,有了節點位移之後,再求解剩下的未知量和場變數。故,節點位移為基本未知量,再何時何地都應該單獨考慮。
將位移場表述為矩陣形式,得到形狀函數矩陣和節點位移列陣的乘積:
在位移場描述清楚以後,接下來對應變場和應力場進行描述。
應變場則用偏導數矩陣乘位移列陣,而位移列陣再用形函數矩陣乘節點位移列陣。
為了保留節點位移列陣,將偏導數矩陣和形函數矩陣相乘,得到幾何矩陣。
得到了應變場之後,再計算應力場,過程為給應變場乘以彈性矩陣,依舊為了保留節點位移列陣,而將彈性矩陣與幾何矩陣相乘,得到應力矩陣。
接下來,有了場變數的描述,就可以描述物體的能量問題了。
給應變能密度在整個區域進行積分,得到應變能。
這裡由於節點位移列陣與自變數x,y,z無關,故,不對其進行積分。
對BTDB積分結束後,就得到了剛度矩陣K,這裡的剛度矩陣是單元剛度矩陣。
後面也一次得到外力勢能,通過外力與位移的乘積積分,提出節點位移。
得到單元節點的等效載荷,在積分的過程中,把其餘不在節點上的力通過能量原理等效成單元節點的等效載荷。
通過給最小勢能對節點位移求導數,得到單元的剛度方程。
通過分析,得出有關四節點四面體單元的相關性質:
與平面三節點三角形單元一致,其是常應力常應變單元。因此,對於應變梯度較大的區域需要加密單元的數量,或者更換高階單元。
整體坐標系下的建模無需坐標變換。
二、空間八節點六面體單元:
由於第一個空間四節點四面體單元已經詳細介紹了,這裡輕描淡寫一下。
三、參數單元:
我對參數單元的理解,就是在標準單元上,進行一定的坐標等變換,然後實現(平面)四變形單元的形狀的變體的參數化。
比如左側如果用標準四面體單元進行劃分,就會出現鋸齒狀。
對於變形的四邊形單元,可以直接建模,但是難度較大,更好的方式是通過標準單元,通過一些變換,得到任意形狀,滿足邊界要求的參數單元。
具體的變化的因素有,坐標,偏導數,被積變數三個方面。
這裡介紹的首先是幾何坐標的插值,而不是位移的插值。
對於一般坐標下的點x,y可以表示成 的函數。
那麼由於有四個節點,每個節點兩個坐標,共有八個自由度。
對於坐標場插值,每一個坐標有四個待定係數。
因此,通過帶入節點映射條件,求解出八個係數。
然後將x,y坐標表達成類似的「形狀函數矩陣」和「坐標」的矩陣乘積的形式。
此處與位移場插值及其類似,但是不同。
有了坐標的變換之後,接下來,對偏導數進行變換。
偏導數的變換就是一個鏈式法則,高等數學下冊的複合函數求偏導。
如果用矩陣的乘積表示,可以產生一個相應的雅可比矩陣。
接下來是,面積體積,或者說積分變數的變換。
首先要明白,兩個向量的外積,可以表示一個新向量,與原向量垂直,其大小等於兩個向量為臨邊的平行四邊形的面積。
故,面積可以表示成叉積取模值。
對於這裡的坐標變化,可以這麼理解,首先,我們看一下表達式一。
頭上帶著橫線的表示向量,那麼容易看出,這是一個在x分量和y分量的疊加。
x方向的增量的表達是x在 方向上的便增量,另一個同理。
在計算面積時,用向量的外積,得出一個雅可比行列式作為係數。
和之前講的微分幾何中的坐標變化相一致。
另外,對於空間體體力,可以用行列式表示,當然,最直觀的表示就是向量的混合積。
有了上面的三個變換,就可以對剛度矩陣進行變換了。
通過坐標變換,就得到了新的坐標下的剛度矩陣。
另外,兩個相類似的函數,既幾何形狀插值函數和位移差值函數之間的階次關係決定了單元的收斂性,等參數單元是收斂的。
推薦閱讀:
※有限元中,分析複雜裝配體,考慮計算機計算能力的基礎之上,不論是不是薄板件,都用實體單元類型,可以嗎?
※國內的有限元產品有競爭力嗎?需求大不?有點懷疑學習有限元理論的用處,像Ansys, Abaqus已經做的很成熟了
※使用軟體進行有限元計算時,保證計算結果精度的具體措施和方法是什麼?
※疲勞理論計算的結果真的沒有意義么?
※求推薦有限元分析ansys,matlab的學習思路和入門書籍?