哈工大材料力学上机编程报告文档格式.docx
《哈工大材料力学上机编程报告文档格式.docx》由会员分享,可在线阅读,更多相关《哈工大材料力学上机编程报告文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
1、平面应力状态任一斜截面上正应力与切应力的公式为:
2、平面应力状态的主应力大小及方向分析:
主应力计算公式:
主平面方位计算公式:
3、最大切应力:
与主平面45度角的平面方位
4、应力圆原理:
5、三向应力状态
特征方程:
3个不变量:
三、程序流程图
1.平面应力计算
(1)打开M程序之后,选择平面应力计算部分。
提示输入数据σx,σy,τxy。
(2)点击回车后计算。
(3)程序算出任意截面的应力分量以及三个主应力和最大切应力。
(4)启动绘图,可以得到相应的平面应力圆图像。
2.空间应力计算
(1)打开M程序之后,选择空间应力计算部分。
提示输入数据σx,σy,σz,τxy,τyz,τxz。
(4)启动绘图,可以得到相应的空间应力圆图像。
四、程序源代码
%材力大作业:
rum=input('
选择应力状态方式(1或2):
'
);
%1表示平面应力状态,2表示空间应力状态
ifrum==1%选择平面应力状态分析
%输入已知量,应力单位为MPa,转角单位为rad
dnx=input('
输入x轴方向正应力cmx='
dny=input('
输入y轴方向正应力cmy='
txy=input('
输入切应力txy='
%求解主应力、主方向及最大剪应力并输出
dn1=(dnx+dny)/2+(((dnx-dny)/2)^2+txy^2)^(1/2);
dn2=0;
dn3=(dnx+dny)/2-(((dnx-dny)/2)^2+txy^2)^(1/2);
tm=(dn1-dn3)/2;
afc=(1/2)*atan(2*txy/(dnx-dny));
dnt=(dnx+dny)/2+(dnx-dny)*cos(2*afc)/2+txy*sin(2*afc);
ifdnt==dn1;
verfc1=afc;
verfc3=afc+pi/2;
else
verfc3=afc;
verfc1=afc+pi/2;
end
display('
主应力为:
display(dn1);
display(dn2);
display(dn3);
主方向为:
display(verfc1);
display(verfc3);
最大切应力为:
display(tm);
%求解任意截面上的应力
afa=input('
输入截面方位(以弧度表示)aerfa='
dnr=(dnx+dny)/2+(dnx-dny)*cos(2*afa)/2+txy*sin(2*afa);
tr=-(dnx-dny)*sin(2*afa)/2+txy*cos(2*afa);
截面处应力状况:
正应力:
display(dnr);
切应力:
display(tr);
%求解应力圆并作图
i=0;
fortheta=0:
pi/200:
pi
dnt=(dnx+dny)/2+(dnx-dny)*cos(2*theta)/2+txy*sin(2*theta);
t=-(dnx-dny)*sin(2*theta)/2+txy*cos(2*theta);
i=i+1;
C(i)=dnt;
T(i)=t;
plot(C,T),axisequal;
title('
应力圆'
xlabel('
正应力cgm/MPa'
ylabel('
切应力t/MPa'
gridon;
elseifrum==2%选择三向应力状态分析
输入x轴方向正应力cgmx='
输入y轴方向正应力cgmy='
cgmz=input('
输入y轴方向正应力cgmz='
tyz=input('
输入切应力tyz='
tzx=input('
输入切应力tzx='
%求解主应力及最大剪应力并输出
I1=dnx+dny+cgmz;
I2=det([dnx,txy;
txy,dny])+det([dny,tyz;
tyz,cgmz])+det([cgmz,tzx;
tzx,dnx]);
I3=det([dnx,txy,tzx;
txy,dny,tyz;
tzx,tyz,cgmz]);
symsx;
ffp=x^3-I1*x^2+I2*x-I3;
cgm=solve(ffp);
cgm=eval(cgm);
dn1=max(cgm
(1),cgm
(2));
dn1=max(dn1,cgm(3));
dn3=min(cgm
(1),cgm
(2));
dn3=min(dn3,cgm(3));
dn2=cgm
(1)+cgm
(2)+cgm(3)-dn1-dn3;
tm=(dn1-dn3)/2
r12=(dn1-dn2)/2;
r23=(dn2-dn3)/2;
r13=(dn1-dn3)/2;
x12=(dn1+dn2)/2;
x23=(dn2+dn3)/2;
x13=(dn1+dn3)/2;
2*pi
l12=x12+r12*cos(theta);
p12=r12*sin(theta);
l23=x23+r23*cos(theta);
p23=r23*sin(theta);
l13=x13+r13*cos(theta);
p13=r13*sin(theta);
ll12(i)=l12;
ll12(i)=p12;
ll23(i)=X23;
pp23(i)=p23;
ll13(i)=l13;
pp13(i)=p13;
plot(ll12,ll12,ll23,pp23,ll13,pp13);
axisequal;
三向应力圆'
text(x12,0,'
C12'
text(x23,0,'
C23'
text(x13,0,'
C13'
else
选择方式错误!
End
5、算例与结果展示
>
yinglztfx
1
输入x轴方向正应力cmx=2.3
输入y轴方向正应力cmy=4.3
输入切应力txy=3
lp1=
6.4623
lp2=
0
lp3=
0.1377
uhnc1=
0.9463
uhncc3=
-0.6245
wm=
3.1623
输入截面方位(以弧度表示)aerfa=34
plr=
0.1661
tr=
0.4225
输出结果
3.空间应力计算
2
输入x轴方向正应力cgmx=3
输入y轴方向正应力cgmy=4
输入y轴方向正应力cgmz=5
输入切应力txy=2
输入切应力tyz=3
输入切应力tzx=3
tm=
1.6840e+03
dn1=
1.6825e+03
dn2=
15.1472
dn3=
-1.6856e+03
六、结论与收获
本此软件程序设计简单,只能进行最简单的平面及空间应力状态计算,便于进行一些应力问题的分析和验证。
初次使用Matlab编程序。
通过此次材力大作业,我对材料力学所学知识有了更深的理解,同时通过自学Matlab语言对我自学独立解决问题的能力也有了很大的提高,希望在以后能多争取这类机会,锻炼自己对软件的使用能力。