案例實操:四面體單元懸臂梁的Matlab有限元編程過程講解
瀏覽:3392 評論:1 收藏:3
導讀:自9月以來,我的《教你Matlab有限元編程對懸臂梁進行受力分析》原創文章發布以來,我的精品課《Matlab有限元編程從入門到精通》(點擊試看)受到了越來越多的工程師朋友的關注,已超過50多人已經訂閱學習,歡迎大家加入訂閱用戶交流群一起討論Matlab有限元編程那些事(哈哈哈,為大家答疑和分享資料)。
今天,我接著分享Matlab有限元編程專業技能。之前的課程我們學習了一維梁單元,二維平面單元,三維板殼單元的matlab有限元編程,本次案例主要講解如何用matlab實現針對四面體單元劃分的三維結構進行有限元編程,具體案例是一個懸臂梁受集中荷載的問題。圖1為本案例Matlab編程計算得到的結果。主要內容涉及四面體單元的有限元基本理論的推導,主要是單元剛度矩陣的推導,此外還包括等參單元和Hammer數值積分以及三維問題的后處理計算。
function [NDxyz,JacobiDET] = ShapeFunction(ElementNodeCoordinate)%計算形函數及形函數對局部坐標ksi eta zeta的導數NDL = [-1 1 0 0;-1 0 1 0;-1 0 0 1];%3*4 [N1Dksi N2Dksi N3Dksi N4Dksi;N1Deta N2Deta N3Deta N4Deta……]Jacobi = NDL*ElementNodeCoordinate;%計算雅可比矩陣3*4 4*3JacobiDET = det(Jacobi);%計算雅可比行列式3*3 [DxDksi DyDksi DzDksi;DxDeta……JacobiINV=inv(Jacobi);%對雅可比行列式求逆3*3NDxyz=JacobiINV*NDL;%利用雅可比行列式的逆計算形函數對結構坐標的導數[DN1Dx DN2Dx DN3Dx;DN1Dy DN2Dy DN3Dy;……]end這樣求出形函數對物理坐標的導數后就可以代入公式(2)幾何方程求出應變場矩陣B,經過能量原理的推導可以得到單元剛度矩陣的表達式,注意剛度矩陣的表達式是一個積分的運算,由于被積函數較為復雜,如果代數積分進行計算要消耗大量的計算資源,因此有限元理論中引入數值積分,即我們熟悉的高斯積分和hammer積分,對于直角坐標系我們采用高斯積分,對于面積或者體積坐標系我們采用hammer數值積分,具體這兩類積分的原理大家可以參考相關數值積分教材即可,這里我們只利用hammer數值積分的結論。四面體單元具體的數值積分公式如下:
% 計算形函數導數 [NDxyz, ~] = ShapeFunction(ElementNodeCoordinate);%[DN1Dx DN2Dx DN3Dx;DN1Dy DN2Dy DN3Dy;……] ElementNodeDisplacement=U(ElementNodeDOF);%12*1 節點位移列陣 ElementNodeDisplacement=reshape(ElementNodeDisplacement,Dof,4);%3*4 % 計算單元應變 Strain3_3 3*3的應變矩陣 Strain3_3=ElementNodeDisplacement*NDxyz';%高斯積分點處應變 3*4 4*3 %把單元應變矩陣改寫成6*1 Strain=[Strain3_3(1,1) Strain3_3(2,2) Strain3_3(3,3) ... Strain3_3(1,2)+Strain3_3(2,1).... Strain3_3(2,3)+Strain3_3(3,2) Strain3_3(1,3)+Strain3_3(3,1)]'; Stress(1:6,1) = D*Strain;%高斯積分點處應變
圖3 變形前后的網格對比
圖4 位移云圖
此外,為幫助大家更好的入門學習Matlab有限元編程分析能力,歡迎大家私信我索要如下 Matlab有限元 資料包。
快速獲得各典型有限元案例的Matlab代碼;
學習并掌握有限元基礎理論;
掌握Matlab編程實現有限元算法的流程;
掌握多種有限元單元的基本理論Matlab編程實現過程;
掌握靜力學、動力學、材料非線性、幾何非線性、接觸非線性問題的Matlab編程實現;
為訂閱用戶提供知識圈答疑服務,并建立VIP用戶交流群,后續可根據訂閱用戶需求進行加餐直播。此外還提供課程對應的學習資料模型一份。
理工科院校學生和教師;
學習型仿真設計工程師;
Matlab有限元編程興趣愛好者和應用者。
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP
1
1
3




















