導(dǎo)讀:大家好,我是SimPC博士,主要從事工程結(jié)構(gòu)抗震及減隔震研究,玻璃成型熱工設(shè)備流動及傳熱研究,玻璃材料力學(xué)性能研究。精通有限元等數(shù)值算法的實現(xiàn),有限元軟件二次開發(fā),數(shù)據(jù)處理,偏微分方程求解,優(yōu)化算法,GUI界面開發(fā)等。有多項科研成果,其中SCI論文4篇,EI3篇,專利2篇。
近日我注冊并認證了仿真秀專欄,將在仿真秀官網(wǎng)和App給平臺用戶帶來Matlab有限元編程、復(fù)雜函數(shù)擬合和matlab繪圖相關(guān)內(nèi)容。此外還會帶來隔震建筑Abaqus建模仿真分析等內(nèi)容。本次案例主要以受均布荷載和集中荷載的變截面懸臂梁為研究對象,通過matlab編制四節(jié)點和八節(jié)點四邊形單元有限元程序來對懸臂梁進行受力分析。
一、問題概述
如圖1-1 所示,某變截面懸臂梁長度為2m,截面面積由0.6m至0.2m線性變化,受作用在自由端節(jié)點的集中荷載2P=kN和豎直方向均布荷載q=1kN/m作用,按平面應(yīng)力問題分析,求解自由端節(jié)點撓度。變截面懸臂梁采用C30混凝土,彈性模量為E= 4 3 10 MPa,泊松比為。編制四節(jié)點和八節(jié)點四邊形單元有限元程序,最終得到梁的變形。

圖1-1 變截面懸臂梁
二、求解思路
對于本問題采用基于MATLAB 編制有限元分析程序進行求解,其基本組成部分包括前處理模塊、分析主程序模塊和后處理模塊。在前處理模塊中,實現(xiàn)節(jié)點坐標輸入、單元節(jié)點編號、網(wǎng)絡(luò)劃分以及邊界條件輸入等工作;在分析主程序模塊中,求解整體剛度方程;在后處理模塊中,實現(xiàn)結(jié)果顯示、數(shù)據(jù)輸出等工作。本文主要針對四節(jié)點四邊形單元與八節(jié)點四邊形單元理論和對應(yīng)的計算程序進行講解。
有限元法的基本步驟:
-
幾何域離散,獲得標準化的單元;
-
通過能量原理(虛功原理或最小勢能原理,獲得單元剛度方程;
-
單元的集成(裝配);
-
處理位移邊界條件;
-
計算支反力;
- 計算單元的其他物理量(應(yīng)力應(yīng)變)。
-
節(jié)點描述
-
場描述
- 單元剛度方程。
1、平面問題的平衡方程、幾何方程、物理方程
平面問題的彈性力學(xué)基礎(chǔ)理論是推導(dǎo)有限元方程的基礎(chǔ),所以先羅列出平面問題的平衡方程、幾何方程、物理方程,具體如公式(1)-(3)所示。至于這些方程的推導(dǎo)過程大家可以參考任意彈性力學(xué)課本,都會進行詳細的講解。

2、等參單元
在有限元方法中,若要離散邊界為曲線或曲面的求解域,需要建立將形狀規(guī)則的單元變換為邊界為曲線或曲面的單元的方法,在有限元法中對應(yīng)此問題所采用的變換方法是等參變換,即單元幾何形狀的變換和單元內(nèi)長函數(shù)采用相同數(shù)目的節(jié)點及相同的插值函數(shù)進行變換。同樣我們今天要講的四邊形單元也從其對應(yīng)的等參單元的基礎(chǔ)理論講起。四邊形單元可以由自然坐標系中的矩形單元映射而成,映射關(guān)系如圖2-1所示。
圖2-1 平面四節(jié)點矩形單元的映射關(guān)系
在自然坐標系下,矩形單元是規(guī)則化的,當(dāng)自然坐標系中的單元取為雙線性單元時(也即為四節(jié)點四邊形單元),平面四節(jié)點矩形單元如圖2-2所示,單元有4個節(jié)點,8個自由度。單元的形函數(shù)定義如下:
(4)其中,



function N=ShapeFun(s,t)
N1=1/4*(1-s)*(1-t);
N2=1/4*(1+s)*(1-t);
N3=1/4*(1+s)*(1+t);
N4=1/4*(1-s)*(1+t);
N=[N1 0 N2 0 N3 0 N4 0;
0 N1 0 N2 0 N3 0 N4];
end
同理平面八節(jié)點矩形單元如圖2-3所示,單元共有8個節(jié)點,16個自由度。單元的形函數(shù)定義如下:



其中,




在進行映射變換時候,要求單元兩個坐標系下的節(jié)點編號要對應(yīng)。單元的節(jié)點變量用型函數(shù)進行插值,有

function N=ShapeFun(s,t)
%% 四邊形八結(jié)點等參單元形函數(shù)矩陣
% 角點
N1=1/4*(1-s)*(1+t)*(-s+t-1);
N2=1/4*(1-s)*(1-t)*(-s-t-1);
N3=1/4*(1+s)*(1-t)*(s-t-1);
N4=1/4*(1+s)*(1+t)*(s+t-1);
% 邊中點
N5=1/2*(1-t^2)*(1-s);
N7=1/2*(1-t^2)*(1+s);
N6=1/2*(1-s^2)*(1-t);
N8=1/2*(1-s^2)*(1+t);
N=[N1 0 N2 0 N3 0 N4 0 N5 0 N6 0 N7 0 N8 0;
0 N1 0 N2 0 N3 0 N4 0 N5 0 N6 0 N7 0 N8];

寫成矩陣的形式就是

其中,J被稱為Jacobi矩陣。反過來,形函數(shù)對物理坐標的導(dǎo)數(shù)為

另外,對于二維平面單元還要完成面積的映射,為

可以看出Jacob矩陣在等參變化中扮演著至關(guān)重要的角色,Jacob矩陣具體的表達式如下所示,

公式18對應(yīng)的八節(jié)點單元雅各比矩陣的求解代碼為:
公式18對應(yīng)的四節(jié)點單元雅各比矩陣的求解代碼為:function J=Jacobi(ie,s,t,Elements,Nodes)
ENodes = Elements(ie,:); %獲取單元結(jié)點
xe = Nodes(ENodes(:),:); %獲取節(jié)點坐標
x1=xe(1,1);y1=xe(1,2);
x2=xe(2,1);y2=xe(2,2);
x3=xe(3,1);y3=xe(3,2);
x4=xe(4,1);y4=xe(4,2);
J=1/4*[-(1+t) -(1-t) 1-t 1+t;1-s -(1-s) -(1+s) 1+s]*[x1 y1;x2 y2;x3 y3;x4 y4];
end
3、剛度矩陣的推導(dǎo)function J=Jacobi(ie,kesi,yita,Elements,Nodes)
ENodes = Elements(ie,:); %獲取單元結(jié)點
xe = Nodes(ENodes(:),:); %獲取結(jié)點坐標
x1=xe(1,1);y1=xe(1,2);
x2=xe(2,1);y2=xe(2,2);
x3=xe(3,1);y3=xe(3,2);
x4=xe(4,1);y4=xe(4,2);
J=1/4*[-(1-yita),(1-yita),(1+yita),-(1+yita);-(1-kesi),-(1+kesi),(1+kesi),(1-kesi)]*[x1 y1;x2 y2;x3 y3;x4 y4];
end
為了求出上述平面四節(jié)點和八節(jié)點單元的單元剛度矩陣,需要借助能量原理(虛功原理、最小勢能原理)進行推導(dǎo),能量原理的推導(dǎo)過程大家可以參考任意一本有限元理論書籍,都會有詳細的推導(dǎo)過程,這里就不做進一步推導(dǎo)講解,直接給出物理坐標和幾何坐標系下的剛度矩陣的公式
? ?(19)
? ?(20)
其中B矩陣為應(yīng)變矩陣,如下式;D矩陣為材料剛度矩陣,如公式(1)所示,是物理方程中表征應(yīng)力應(yīng)變關(guān)系的矩陣。從上述剛度矩陣的表達式可以看出,自然坐標和物理坐標間要完成坐標映射、偏導(dǎo)映射、面積隱射三個部分,具體映射公式已在上一節(jié)的等參單元講解中詳細給出。
? ? ? ?(21)
4、高斯積分
公式(20)中的單元剛度矩陣通過數(shù)值積分求得,本案例中的四節(jié)點和八節(jié)點四邊形等參單元均采用2*2個積分點的高斯積分即可求得精確結(jié)果。高斯積分點的坐標具體如圖所示。

4-1 Gauss積分點示意圖
公式(20)寫成數(shù)值積分的形式為
? ? ? ? (22)
對于8節(jié)點單元實現(xiàn)上述數(shù)值積分的代碼如下所示:
r = [-sqrt(1/3) sqrt(1/3)]; % 2*2 高斯積分點
s = [r(1) r(1) r(2) r(2)];
t = [r(2) r(1) r(1) r(2)]; % 高斯積分點坐標
for i=1:4
J = Jacobi(E_ID,s(i),t(i),Elements,Nodes); % 雅可比矩陣
Nst = DiffShapeFun(s(i),t(i)); % 形函數(shù)關(guān)于自然坐標s,t求導(dǎo)
Nxy = zeros(8,2);
for j=1:8
) = (JNst(j,:)')'; % 形函數(shù)關(guān)于 x,y 求導(dǎo)=inv(J)*Nst :
end
Bm = [Nxy(1,1) 0 Nxy(2,1) 0 Nxy(3,1) 0 Nxy(4,1) 0 Nxy(5,1) 0 Nxy(6,1) 0 Nxy(7,1) 0 Nxy(8,1) 0;
0 Nxy(1,2) 0 Nxy(2,2) 0 Nxy(3,2) 0 Nxy(4,2) 0 Nxy(5,2) 0 Nxy(6,2) 0 Nxy(7,2) 0 Nxy(8,2);
Nxy(1,1) Nxy(2,2) Nxy(2,1) Nxy(3,2) Nxy(3,1) Nxy(4,2) Nxy(4,1) Nxy(5,2) Nxy(5,1) Nxy(6,2) Nxy(6,1) Nxy(7,2) Nxy(7,1) Nxy(8,2) Nxy(8,1)];
ke = ke+det(J)*Bm'*D*Bm*Width; %數(shù)值積分
end
5、均布荷載的施加
在有限元中分布力要轉(zhuǎn)為等效節(jié)點荷載,而確定等效節(jié)點荷載的方法也是通過能量原理推導(dǎo)得到
? ? ? ?(22)
上式中,第一項代表體積力的等效荷載,第二項代表面積力的等效荷載,這個案例我們只考慮面力荷載。實現(xiàn)公式22的代碼為
function Pe=UniLoad(ie,N_ID_p1,q0,Nodes,Elements)
k=-0.625e-3; % 均布荷載值 N/mm
s = [-sqrt(1/3) sqrt(1/3)]; % 2*2 高斯積分點
ENodes = N_ID_p1(ie,:); %獲取單元結(jié)點號
Pe=zeros(16,1); %生成臨時單元節(jié)點力零列向量
x1=Nodes(ENodes(1),1);
x6=Nodes(ENodes(4),1);
L16=abs(x6-x1); %單元長度
for i=1:2 %用于高斯積分的求和循環(huán)
N_q=ShapeFun(s(i),1); % 4級子程序:ShapeFun(s(i),1)
q_x=q0;
Pe=Pe+N_q'*q_x*[0;L16/2];
end
end
三、Matlab有限元編程精品課
網(wǎng)格劃分及變形結(jié)果如圖3-1所示。本案例的詳細視頻教程和對應(yīng)的matlab源碼,請關(guān)注我的仿真秀官網(wǎng)和APP精品課程《Matlab有限元編程從入門到精通10講》。

圖3-1 梁變形結(jié)果
-
matlab
+關(guān)注
關(guān)注
189文章
3009瀏覽量
236706 -
編程
+關(guān)注
關(guān)注
89文章
3704瀏覽量
96269
原文標題:教你Matlab有限元編程對懸臂梁進行受力分析-附源碼及教程
文章出處:【微信號:sim_ol,微信公眾號:模擬在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MATLAB有限元分析與應(yīng)用
懸臂梁式傳感器的原理是什么?
利用微電鑄制作鎳懸臂梁
靜電式微開關(guān)硅懸臂梁的變形分析
雙孔懸臂梁應(yīng)變傳感器—稱重實驗

測量儀懸臂梁拓撲優(yōu)化
華盛頓大學(xué)利用懸臂梁開發(fā)出激光制冷新技術(shù)
懸臂梁稱重傳感器的工作原理
基于箱形梁CADCAE有限元分析

基于六面體單元熱應(yīng)力問題的Matlab有限元編程求解
電壓放大器在自感知的懸臂梁變形控制研究中的應(yīng)用

評論