材料力学上机大作业梁的强度校核.docx
- 文档编号:10083328
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:38
- 大小:375.83KB
材料力学上机大作业梁的强度校核.docx
《材料力学上机大作业梁的强度校核.docx》由会员分享,可在线阅读,更多相关《材料力学上机大作业梁的强度校核.docx(38页珍藏版)》请在冰豆网上搜索。
材料力学上机大作业梁的强度校核
材料力学上机作业
题目五:
梁的强度校核
[摘要]本程序使用MicrosoftVisualBasic编写,由输入梁的支撑条件,输入梁的受力状态,实现了梁危险截面的最大正应力计算与梁的强度校核。
在校核结果为否定的情况下还可由许用应力值进行部分截面设计和许用载荷计算等功能。
[数学原理及数学模型]
材料力学公式有:
1.梁弯曲正应力公式
2.抗弯截面系数
矩形截面
圆形截面
空心圆截面
,式中
3.采用一定数量级上的穷举法计算出最大弯矩Mz。
[VB所做软件]
1.软件部分窗体截图
2.程序结构图
3.
不安全
安全
开始
选择支撑条件
悬臂梁直接计算出各截面弯矩并找出最大值Mz
外伸梁和简支梁根据受力情况求出支反力fa和fb,进而求Mz
选择截面形状和输入尺寸计算抗弯截面系数
矩形截面输入宽b和高h计算得Wz
圆截面输入直径d计算得Wz
空心截面输入内外直径D、d求得Wz
工字钢直接查表输入Wz
求出正应力并与许用应力比较
结束
进行截面设计和许用载荷计算
输入受力情况
[应用实例]
1.验证《新编材料力学》书中P247例12-9
该题由正应力强度条件求得题中矩形截面悬臂梁许用载荷为q≤9.1kN/m,现加载q=8kN/m,看是否符合正应力强度要求。
已知左悬臂梁l=3m,[σ]=120Mpa,b=80mm,h=160mm,整个梁承受向下的均布载荷q
解:
1.运行程序进入主页面
2.点击开始并选择支撑条件为左固定端悬臂梁,点击确定。
如图
3.选择梁的截面形状并输入尺寸参数,点击确定。
如图
4.输入受力条件,点击确定进行计算。
如图
5.程序运行结果如图
计算结果与实际运算结果相同
2.求解《新编材料力学》P246例12-8。
解:
1.运行程序计入主界面,点击开始。
2.选择支撑条件为右外伸梁,点击确定。
3.选择梁的截面形状并输入尺寸,点击确定。
如图,(不妨先设b=10,h=30。
注意,应避免b或h为零以防止出现除数为零的情况使程序出错)
4.输入受力情况及右支架位置并点击确定,如图(如果未能输入右支架位置,可能使程序出错)
5.得到计算结果
计算结果与答案b=30mm,h=60mm一致,不过以截面抗弯系数代替截面具体尺寸。
其中小数点后的微量误差受穷举法所采用数量级的影响。
值得注意的是,由于本程序涉及的截面形状及载荷种类较多,而且载荷位置不固定,因此截面设计和许用载荷计算难以得到最终的具体结果。
时间仓促,为减小工作量,本程序将许用载荷计算简化为梁截面所能承受的最大弯矩的计算。
将截面设计略微简化为截面最小抗弯系数的设计。
验证表明,计算结果同样精确。
[主要算法代码和部分窗体截图]:
部分窗体截图:
Form9窗体源代码:
PrivateSubCommand1_Click()‘进入实际工作界面’
Form0.Show
Me.Hide
EndSub
PrivateSubCommand2_Click()‘若点击“结束”按钮则结束程序’
End
EndSub
Form0窗体源代码:
PubliclAsDouble‘声明变量’
PublicqAsDouble
Publicf1AsDouble
Publicf2AsDouble
PublicfAsDouble
Publicm1AsDouble
Publicm2AsDouble
PublicmAsDouble
PublicxAsDouble
PublicxaAsDouble
PublicxbAsDouble
Publicxq1AsDouble
Publicxq2AsDouble
Publicxf1AsDouble
Publicxf2AsDouble
Publicxm1AsDouble
Publicxm2AsDouble
Publicx1AsDouble
Publicx2AsDouble
Publicx3AsDouble
Publicx4AsDouble
Publicx5AsDouble
Publicx6AsDouble
PublicfaAsDouble
PublicfbAsDouble
PublicwAsDouble
PublicbAsDouble
PublichAsDouble
Publicd1AsDouble
Publicd2AsDouble
Publicd3AsDouble
PublicwzAsDouble
PublicsylAsDouble
PublicxylAsDouble
PublicpiAsDouble
PubliczdzhAsDouble
PrivateSubCommand1_Click()‘进入截面形状选择及尺寸参数输入界面’
Form7.Show
Me.Hide
EndSub
PrivateSubCommand2_Click()‘若点击“结束”按钮则终止程序’
End
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubOption1_Click()‘选择支撑条件’
Option1.Value=True
EndSub
PrivateSubOption2_Click()
Option2.Value=True
EndSub
PrivateSubOption3_Click()
Option3.Value=True
EndSub
PrivateSubOption4_Click()
Option4.Value=True
EndSub
PrivateSubOption5_Click()
Option5.Value=True
EndSub
PrivateSubOption6_Click()
Option6.Value=True
EndSub
Form7窗体源代码:
‘本窗体为截面形状选择及尺寸输入界面’
PrivateSubCommand1_Click()
IfForm0.Option1.Value=TrueThen‘根据用户选择的不同支撑条件调用不
jz.Show同窗体’
ElseIfForm0.Option2.Value=TrueThen
zxb.Show
ElseIfForm0.Option3.Value=TrueThen
yxb.Show
ElseIfForm0.Option4.Value=TrueThen
zws.Show
ElseIfForm0.Option5.Value=TrueThen
yws.Show
Else
sws.Show
EndIf
Me.Hide
EndSub
PrivateSubCommand2_Click()
Form0.Show
Me.Hide
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubOption1_Click()‘选择不同的截面形状’
Option1.Value=True
EndSub
PrivateSubOption2_Click()
Option2.Value=True
EndSub
PrivateSubOption3_Click()
Option3.Value=True
EndSub
PrivateSubOption4_Click()
Option4.Value=True
EndSub
Form1(简支梁)窗体源代码:
‘本窗体完成支撑条件—简支梁部分计算’
PrivateSubCommand1_Click()
DimiAsDouble
DimkAsDouble
pi=3.1415926‘给变量赋值’
l=Val(Form7.l.Text)
IfForm7.Option1.Value=TrueThen‘计算截面抗弯系数’
b=Val(Form7.b.Text)
h=Val(Form7.h.Text)
wz=b*h^2/6
ElseIfForm7.Option2.Value=TrueThen
d1=Val(Form7.d1.Text)
wz=pi*d1^3/32
ElseIfForm7.Option3.Value=TrueThen
d2=Val(Form7.d2.Text)
d3=Val(Form7.D.Text)
wz=pi*d3^3*(1-d2^4/d3^4)/32
ElseIfForm7.Option4.Value=TrueThen
wz=Val(Form7.wz.Text)
EndIf
f1=Val(f11.Text)‘通过用户输入,给变量赋值’
f2=Val(f21.Text)
xf1=Val(xf11.Text)
xf2=Val(xf21.Text)
m1=Val(m11.Text)
m2=Val(m21.Text)
xm1=Val(xm11.Text)
xm2=Val(xm21.Text)
q=Val(q1.Text)
xq1=Val(xq11.Text)
xq2=Val(xq21.Text)
Ifxf1>xf2Then‘确定f1,f2的位置前后,便于后续计算’
k=f1
f1=f2
f2=k
k=xf1
xf1=xf2
xf2=k
EndIf
Ifxm1>xm2Then‘确定m1,m2的位置前后,便于后续计算’
k=m1
m1=m2
m2=k
k=xm1
xm1=xm2
xm2=k
EndIf
l=l/1000
xf1=xf1/1000
xf2=xf2/1000
xm1=xm1/1000
xm2=xm2/1000
xq1=xq1/1000
xq2=xq2/1000
fb=(m1+m2+f1*xf1+f2*xf2+q*(xq2-xq1)*(xq1+xq2)/2)/l‘求支反力’
fa=f1+f2+q*(xq2-xq1)-fb
m=0
k=0
Fori=0TolStepl/1000000‘该循环用于求截面最大弯矩’
m=fa*i
Ifxf1 m=m-f1*(i-xf1) EndIf Ifxf2 m=m-f2*(i-xf2) EndIf Ifxm1 m=m+m1 EndIf Ifxm2 m=m+m2 EndIf Ifxq1 m=m-q*(i-xq1)^2/2 EndIf Ifxq2 m=m-q*(xq2-xq1)*(i-(xq2+xq1)/2) EndIf Ifm^2>k^2Then k=m EndIf Nexti m=k‘求得最大截面弯矩’ syl=m/wz‘计算最大正应力’ syl=(syl^2)^0.5*10^3 Form8.Label3.Caption="实际最大正应力为"&syl&"Mpb"‘显示结果’ xyl=Val(Form7.xyl.Text) zdzh=wz*xyl/10^3‘许用载荷计算’ w=m/xyl‘截面设计计算’ w=(w^2)^0.5 Ifsyl>xylThen Form8.Label1.Caption="由"&syl&">"&xyl&vbCrLf&vbclf&"实际应力大于许用应力,不安全。 "&vbCrLf&vbCrLf&"可改变梁的载荷使梁截面上最大弯矩小于等于"&zdzh&"N.m。 "&vbCrLf&vbCrLf&"或者改变梁截面形状和尺寸,使其截面抗弯系数大于等于"&w&"cm^3" Else Form8.Label1.Caption="由"&syl&"<"&xyl&vbCrLf&vbCrLf&"实际应力小于许用应力,安全" EndIf Form8.Show Me.Hide EndSub‘显示结果,结束程序’ PrivateSubCommand2_Click()‘完成“返回上一级”功能’ Form7.Show Me.Hide EndSub ‘此后的代码与简支梁类似,仅有些许差别,因此不再注释’ Form2(左悬臂梁)窗体源代码 PrivateSubLabel23_Click() EndSub PrivateSubCommand1_Click() DimiAsDouble DimkAsDouble pi=3.1415926 l=Val(Form7.l.Text) IfForm7.Option1.Value=TrueThen b=Val(Form7.b.Text) h=Val(Form7.h.Text) wz=b*h^2/6 ElseIfForm7.Option2.Value=TrueThen d1=Val(Form7.d1.Text) wz=pi*d1^3/32 ElseIfForm7.Option3.Value=TrueThen d2=Val(Form7.d2.Text) d3=Val(Form7.D.Text) wz=pi*d3^3*(1-d2^4/d3^4)/32 ElseIfForm7.Option4.Value=TrueThen wz=Val(Form7.wz.Text) EndIf xa=0 xb=l f1=Val(f11.Text) f2=Val(f21.Text) xf1=Val(xf11.Text) xf2=Val(xf21.Text) m1=Val(m11.Text) m2=Val(m21.Text) xm1=Val(xm11.Text) xm2=Val(xm21.Text) q=Val(q1.Text) xq1=Val(xq11.Text) xq2=Val(xq21.Text) Ifxf1>xf2Then k=f1 f1=f2 f2=k k=xf1 xf1=xf2 xf2=k EndIf Ifxm1>xm2Then k=m1 m1=m2 m2=k k=xm1 xm1=xm2 xm2=k EndIf l=l/1000 xf1=xf1/1000 xf2=xf2/1000 xm1=xm1/1000 xm2=xm2/1000 xq1=xq1/1000 xq2=xq2/1000 k=0 m=0 Fori=0TolStepl/1000000 m=0 If(l-xf1) m=m-f1*(i+xf1-l) EndIf If(l-xf2) m=m-f2*(i+xf2-l) EndIf If(l-xm1) m=m+m1 EndIf If(l-xm2) m=m+m2 EndIf If(l-xq2) m=m-q*(i+xq2-l)^2/2 EndIf If(l-xq1) m=m-q*(xq2-xq1)/2*(i-(2*l-xq1-xq2)/2) EndIf Ifm^2>k^2Then k=m EndIf Nexti m=k syl=m/wz syl=(syl^2)^0.5*10^3 Form8.Label3.Caption="实际最大正应力为"&syl&"Mpb" xyl=Val(Form7.xyl.Text) zdzh=wz*xyl/10^3 w=m/xyl w=(w^2)^0.5 Ifsyl>xylThen Form8.Label1.Caption="由"&syl&">"&xyl&vbCrLf&vbclf&"实际应力大于许用应力,不安全。 "&vbCrLf&vbCrLf&"可改变梁的载荷使梁截面上最大弯矩小于等于"&zdzh&"N.m。 "&vbCrLf&vbCrLf&"或者改变梁截面形状和尺寸,使其截面抗弯系数大于等于"&w&"cm^3" Else Form8.Label1.Caption="由"&syl&"<"&xyl&vbCrLf&vbCrLf&"实际应力小于许用应力,安全" EndIf Form8.Show Me.Hide EndSub PrivateSubCommand2_Click() Form7.Show Me.Hide EndSub Form3(右悬臂梁)窗体源代码 PrivateSubCommand1_Click() DimiAsDouble DimkAsDouble pi=3.1415926 l=Val(Form7.l.Text) IfForm7.Option1.Value=TrueThen b=Val(Form7.b.Text) h=Val(Form7.h.Text) wz=b*h^2/6 ElseIfForm7.Option2.Value=TrueThen d1=Val(Form7.d1.Text) wz=pi*d1^3/32 ElseIfForm7.Option3.Value=TrueThen d2=Val(Form7.d2.Text) d3=Val(Form7.D.Text) wz=pi*d3^3*(1-d2^4/d3^4)/32 ElseIfForm7.Option4.Value=TrueThen wz=Val(Form7.wz.Text) EndIf xa=0 xb=l f1=Val(f11.Text) f2=Val(f21.Text) xf1=Val(xf11.Text) xf2=Val(xf21.Text) m1=Val(m11.Text) m2=Val(m21.Text) xm1=Val(xm11.Text) xm2=Val(xm21.Text) q=Val(q1.Text) xq1=Val(xq11.Text) xq2=Val(xq21.Text) Ifxf1>xf2Then k=f1 f1=f2 f2=k k=xf1 xf1=xf2 xf2=k EndIf Ifxm1>xm2Then k=m1 m1=m2 m2=k k=xm1 xm1=xm2 xm2=k EndIf l=l/1000 xf1=xf1/1000 xf2=xf2/1000 xm1=xm1/1000 xm2=xm2/1000 xq1=xq1/1000 xq2=xq2/1000 k=0 Fori=0TolStepl/1000000 m=0 Ifxf1 m=m-f1*(i-xf1) EndIf Ifxq2 m=m-f2*(i-xf2) EndIf Ifxm1 m=m+m1 EndIf Ifxm2 m=m+m2 EndIf Ifxq1 m=m-q*(i-xq1)^2/2 EndIf Ifxq2 m=m-q*(xq2-xq1)*(i-(xq2+xq1)/2) EndIf Ifm^2>k^2Then k=m EndIf Nexti m=k syl=m/wz syl=(syl^2)^0.5*10^3 Form8.Label3.Caption="实际最大正应力为"&syl&"Mpb" xyl=Val(Form7.xyl.Text) zdzh=wz*xyl/10^3 w=m/xyl w=(w^2)^0.5 Ifsyl>xylThen Form8.Label1.Caption="由"&syl&">"&xyl&vbCrLf&vbclf&"实际应力大于许用应力,不安全。 "&vbCrLf&vbCrLf&"可改变梁的载荷使梁截面上最大弯矩小于等于"&zdzh&"N.m。 "&vbCrLf&vbCrLf&"或者改变梁截面形状和尺寸,使其截面抗弯系数大于等于"&w&"cm^3" Else Form8.Label1.Caption="由"&syl&"<"&xyl&vbCrLf&vbCrLf&"实际应力小于许用应力,安全" EndIf Form8.Show Me.Hide EndSub PrivateSubCommand2_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 材料力学 上机 作业 强度 校核
![提示](https://static.bdocx.com/images/bang_tan.gif)