哈工大材力上机7.docx
- 文档编号:6145346
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:157.77KB
哈工大材力上机7.docx
《哈工大材力上机7.docx》由会员分享,可在线阅读,更多相关《哈工大材力上机7.docx(12页珍藏版)》请在冰豆网上搜索。
哈工大材力上机7
材料力学上机报告
题号:
7
题目:
应力状态分析
学院:
姓名:
班级:
学号:
题目7
应力状态分析
输入:
1.平面应力状态输入:
(δx,δy,τxy);某截面方位角α
2.空间应力状态输入:
(δx,δy,δz,τxy,τyz,τzx)
输出:
1输出主应力(δ1,δ2,δ3)
2最大剪应力(τmax=τ13=(δ1-δ3)/2)
3如为平面应力状态则需输出方位角α斜截面上的应力δα,τα,及主向角αδ,
4画出应力圆示意图
一、设计思路
第一步:
开始程序,选择是"平面应力状态分析"还是"空间应力状态分析"
第二步:
若为"平面应力状态分析"则
A.输入数据(δx,δy,τxy);某截面方位角α
B.计算主应力
C.比较大小,输出主应力(δ1,δ2,δ3)和最大剪应力τmax=(δ1-δ3)/2
D.计算并输出δα,τα,αδ
E.输出应力圆
F.若想继续,则可清空“文本框”和“图片框”,继续A操作
第三步:
若为"空间应力状态分析"则
A.输入数据(δx,δy,δz,τxy,τyz,τzx)
B.计算I1,I2,I3;得到方程"x^3-I1*x^2+I2*x-I3=0"
C.用盛金公式求解方程"x^3-I1*x^2+I2*x-I3=0"的根X1,X2,X3
D.比较大小,输出主应力(δ1,δ2,δ3)和最大剪应力τmax=(δ1-δ3)/2以及应力圆
E.若想继续,则可清空“文本框”和“图片框”,继续A操作
2、程序
若选择平面应力状态分析
PrivateSubCommand1_Click()
Form1.Hide
Form2.Show
EndSub
PrivateSubCommand13_Click()
DimδxAsDouble,δyAsDouble,τxyAsDouble,αAsDouble,xAsDouble,yAsDouble,zAsDouble,δ1AsDouble,δ2AsDouble,δ3AsDouble,τmaxAsDouble,δαAsDouble,ταAsDouble,α0AsDouble
'输入数据(δx,δy,τxy);某截面方位角α
δx=Val(Text1.Text)
δy=Val(Text2.Text)
τxy=Val(Text3.Text)
α=Val(Text4.Text)
'计算主应力
x=0
y=(δx+δy)/2+((δx-δy)^2/4+τxy^2)^0.5
z=(δx+δy)/2-((δx-δy)^2/4+τxy^2)^0.5
'比较大小,输出主应力(δ1,δ2,δ3)和最大剪应力τmax=τ13=(δ1-δ3)/2
Ifx>=yAndx>=zThen
Text5.Text=Str(x)
Text6.Text=Str(y)
Text7.Text=Str(z)
Text8.Text=Str((x-z)/2)
Else
Ifx<=yAndx<=zThen
Text5.Text=Str(y)
Text6.Text=Str(z)
Text7.Text=Str(x)
Text8.Text=Str((y-x)/2)
Else
Text5.Text=Str(y)
Text6.Text=Str(x)
Text7.Text=Str(z)
Text8.Text=Str((y-z)/2)
EndIf
EndIf
'计算并输出δα,τα,αδ
Text9.Text=Str((δx+δy)/2+(δx-δy)/2*Cos(2*α)+τxy*Sin(2*α))
Text10.Text=Str(-(δx-δy)/2*Sin(2*α)+τxy*Cos(2*α))
Ifδx=δyThen
Text11.Text=Str(45)
Else
Text11.Text=Str(Atn(τxy^2/(δx-δy))/2)
EndIf
'输出应力圆
If((δx-δy)^2/4+τxy^2)^0.5<=50And((δx-δy)^2/4+τxy^2)^0.5>=20Then
'半径在20-50间的输出
Picture1.ScaleMode=3
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((δx+δy)/2,0),((δx-δy)^2/4+τxy^2)^0.5,QBColor(12)
Else
If((δx-δy)^2/4+τxy^2)^0.5<20And((δx-δy)^2/4+τxy^2)^0.5>0Then
'半径在0-20间的输出
Picture1.ScaleMode=3
Picture1.Scale(0,0)-(80,40)
Picture1.Scale(-40,20)-(40,-20)
Picture1.Line(-40,0)-(40,0)
Picture1.Line(0,-20)-(0,20)
Picture1.Circle((δx+δy)/2,0),((δx-δy)^2/4+τxy^2)^0.5,QBColor(12)
Else
'半径在大于50间的输出
Picture1.ScaleMode=3
Picture1.Scale(0,0)-(400,200)
Picture1.Scale(-200,100)-(200,-100)
Picture1.Line(-200,0)-(200,0)
Picture1.Line(0,-100)-(0,100)
Picture1.Circle((δx+δy)/2,0),((δx-δy)^2/4+τxy^2)^0.5,QBColor(12)
EndIf
EndIf
EndSub
PrivateSubCommand14_Click()
'清空文本框
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Text10.Text=""
Text11.Text=""
'清除图片框
Picture1.Cls
EndSub
'返回主界面
PrivateSubCommand15_Click()
Form2.Hide
Form1.Show
EndSub
若选择空间应力状态分析
PrivateSubCommand2_Click()
Form1.Hide
Form3.Show
EndSub
PrivateSubCommand13_Click()
DimδxAsDouble,δyAsDouble,δzAsDouble,τxyAsDouble,τyzAsDouble,τzxAsDouble
'输入数据(δx,δy,δz,τxy,τyz,τzx)
δx=Val(Text1.Text)
δy=Val(Text9.Text)
δz=Val(Text8.Text)
τxy=Val(Text7.Text)
τyz=Val(Text6.Text)
τzx=Val(Text5.Text)
'计算I1,I2,I3;得到方程"x^3-I1*x^2+I2*x-I3=0"
I1=δx+δy+δz
I2=δx*δy-τxy^2+δy*δz-τyz^2+δz*δx-τzx^2
I3=(δy*δz-τyz^2)*δx-(τxy*δz-τyz*τzx)*τxy+(τxy*τyz-τzx*δy)*τzx
'用盛金公式求解方程"x^3-I1*x^2+I2*x-I3=0"的根X1,X2,X3
a=I1^2-3*1*I2
b=-I1*I2+9*1*I3
c=I2^2-3*I1*I3
d=b^2-4*a*c
'当有三个相等实根时
If(a=0Andb=0)Then
X1=I1/3
X2=I1/3
X3=I1/3
EndIf
'当有两个相等实根时
If(a<>0Andd=0)Then
X1=I1+b/a
X2=-b/(2*a)
X3=-b/(2*a)
EndIf
'当有三个互不相等实根时
If(d<0Anda>0)Then
t=(-2*a*I1-3*b)/(2*a^(3/2))
If(t=0)Then
u=3.14159265357979/2
X1=(I1-2*a^(1/2)*Cos(u/3))/3
X2=(I1+a^(1/2)*(Cos(u/3)+3^(1/2)*Sin(u/3)))/3
X3=(I1+a^(1/2)*(Cos(u/3)-3^(1/2)*Sin(u/3)))/3
Else
If(-1
u=Atn((1-t^2)/t)
X1=(I1-2*a^(1/2)*Cos(u/3))/3
X2=(I1+a^(1/2)*(Cos(u/3)+3^(1/2)*Sin(u/3)))/3
X3=(I1+a^(1/2)*(Cos(u/3)-3^(1/2)*Sin(u/3)))/3
EndIf
EndIf
EndIf
'当不全是实根时
If(d>0Ord<0Anda<=0)Then
MsgBox"方程可能不全是实根,无法比较根的大小,请重新输入",vbOKOnly,"温馨提示"
Text1.Text=""
Text9.Text=""
Text8.Text=""
Text7.Text=""
Text6.Text=""
Text5.Text=""
EndIf
'比较大小,输出主应力(δ1,δ2,δ3)和最大剪应力τmax=τ13=(δ1-δ3)/2以及应力圆
If(X1>=X2AndX2>=X3)Then
Text2.Text=Str(X1)
Text3.Text=Str(X2)
Text4.Text=Str(X3)
Text10.Text=Str((X1-X3)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X1-X2)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X1-X3)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X2-X3)/2,QBColor(12)
EndIf
If(X1>=X3AndX3>=X2)Then
Text2.Text=Str(X1)
Text3.Text=Str(X3)
Text4.Text=Str(X2)
Text10.Text=Str((X1-X2)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X1-X2)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X1-X3)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X3-X2)/2,QBColor(12)
EndIf
If(X2>=X1AndX1>=X3)Then
Text2.Text=Str(X2)
Text3.Text=Str(X1)
Text4.Text=Str(X3)
Text10.Text=Str((X2-X3)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X2-X1)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X1-X3)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X2-X3)/2,QBColor(12)
EndIf
If(X2>=X3AndX3>=X1)Then
Text2.Text=Str(X2)
Text3.Text=Str(X3)
Text4.Text=Str(X1)
Text10.Text=Str((X2-X1)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X2-X1)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X3-X1)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X2-X3)/2,QBColor(12)
EndIf
If(X3>=X1AndX1>=X2)Then
Text2.Text=Str(X3)
Text3.Text=Str(X1)
Text4.Text=Str(X2)
Text10.Text=Str((X3-X1)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X1-X2)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X3-X1)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X3-X2)/2,QBColor(12)
EndIf
If(X3>=X2AndX2>=X1)Then
Text2.Text=Str(X3)
Text3.Text=Str(X2)
Text4.Text=Str(X1)
Text10.Text=Str((X3-X1)/2)
Picture1.ScaleMode=2
Picture1.Scale(0,0)-(200,80)
Picture1.Scale(-100,40)-(100,-40)
Picture1.Line(-100,0)-(100,0)
Picture1.Line(0,-40)-(0,40)
Picture1.Circle((X1+X2)/2,0),(X2-X1)/2,QBColor(12)
Picture1.Circle((X1+X3)/2,0),(X3-X1)/2,QBColor(12)
Picture1.Circle((X2+X3)/2,0),(X3-X2)/2,QBColor(12)
EndIf
EndSub
PrivateSubCommand14_Click()
'清空文本框
Text1.Text=""
Text9.Text=""
Text8.Text=""
Text7.Text=""
Text6.Text=""
Text5.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text10.Text=""
'清除图片框
Picture1.Cls
EndSub
3、应用举例
平面应力状态
已知二向应力状态δx=40Mpa,δy=-20Mpa,τxy=40Mpa;
试求
(1)主应力δ1,δ2,δ3和最大剪应力τmax及主向角αδ;
(2)方位角α=π/6的斜截面上的应力δα,τα;
(3)画出应力圆。
(1)δ1=60Mpaδ2=0MPaδ3=-40MPa
τmax=50MPaαδ=0.767rad
(2)δα=40MPaτα=40MPa
空间应力状态
已知三向应力状态δx=10MPa,δy=20MPa,δz=30MPa,
τxy=τyz=τzx=0;
试求
(1)主应力δ1,δ2,δ3和最大剪应力τmax;
(2)画出应力圆。
(1)δ1=30.0Mpaδ2=20.0MPaδ3=10.0MPa
τmax=10.0MPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 上机