《浅基础工程及程序设计》丁继辉程序代码 第三章 程序代码.docx
- 文档编号:3801677
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:23
- 大小:20.61KB
《浅基础工程及程序设计》丁继辉程序代码 第三章 程序代码.docx
《《浅基础工程及程序设计》丁继辉程序代码 第三章 程序代码.docx》由会员分享,可在线阅读,更多相关《《浅基础工程及程序设计》丁继辉程序代码 第三章 程序代码.docx(23页珍藏版)》请在冰豆网上搜索。
《浅基础工程及程序设计》丁继辉程序代码第三章程序代码
3.11源程序代码
本章柱下条形基础计算工程主要包括1个窗体,2个模块。
两个模块的程序代码与第一章基本一致,这里主要给出柱下条形基础内力计算的主要程序代码。
OptionExplicit
DimJik'基床系数
DimJiKuan'基底宽度
DimJiChang'基底长度
DimJiEI'梁抗弯刚度
DimXzuoB(1To50)'荷载作用位置坐标(m)
DimFjiZh(1To50)'集中力(kN)
DimMjiZh(1To50)'集中力偶(kN.m)
DimXzuo'计算点坐标
DimGama'基础底面以下土的重度γ(kN/m^3)
DimGamaG'基础及其上土的平均重度γG(kN/m^3)
DimDmai'基础埋深D(m)
DimFk'修正后地基承载力特征值fk(kPa)
DimDetA'根据偏心矩选择基底面积增加量(10%-40%)
DimPjing'基底净压力
DimXxin,sumF,sumM,Xyou,Ajid
PrivateSubCommand6_Click()'确定基础底面尺寸
CallTianJBianL
CallTianxiebianliang
'计算各柱轴力的合力作用点
Me.List4.AddItem("确定基础底面尺寸")
sumF=0#
sumM=0#
ForI=1ToList1.ListCount
sumF=sumF+FjiZh(I)
sumM=sumM+FjiZh(I)*XzuoB(I)+MjiZh(I)
NextI
Xxin=sumM/sumF
Me.List4.AddItem("合力作用点(m):
"&Format(Xxin,"0.00"))
'计算基础梁右端伸出的悬臂长度(左边伸出长度为XzuoB
(1))
Xyou=2*Xxin-XzuoB(List1.ListCount)
Me.List4.AddItem("基础梁右端伸出的悬臂长度(m):
"&Format(Xyou,"0.00"))
'确定基础底面长度
JiChang=XzuoB(List1.ListCount)+Xyou
Me.List4.AddItem("基础梁长度(m):
"&Format(JiChang,"0.00"))
Text1(0).Text=Format(JiChang,"0.00")
'确定基础底面积
Ajid=sumF/(Fk-GamaG-Dmai)
'条形基础宽度
JiKuan=Ajid/JiChang
Me.List4.AddItem("基础梁宽度(m):
"&Format(JiKuan,"0.00"))
Text1
(1).Text=Format(JiKuan,"0.00")
'基底净反力
Pjing=sumF/JiChang
Me.List4.AddItem("基础净反力(kN/m):
"&Format(Pjing,"0.00"))
Text1(5).Text=Format(Pjing,"0.00")
EndSub
PrivateSubCommand7_Click()'输入实际宽度后计算
CallTianJBianL
CallTianxiebianliang
'基底净反力
'计算各柱轴力的合力
Me.List4.AddItem("基底净反力")
sumF=0#
ForI=1ToList1.ListCount
sumF=sumF+FjiZh(I)
NextI
Pjing=sumF/JiChang
Me.List4.AddItem("基底宽度(m):
"&Format(JiKuan,"0.00"))
Me.List4.AddItem("基底长度(m):
"&Format(JiChang,"0.00"))
Me.List4.AddItem("基础净反力(kN/m):
"&Format(Pjing,"0.00"))
Text1(5).Text=Format(Pjing,"0.00")
EndSub
PrivateSubCommand8_Click()'静力平衡法
CallTianJBianL
CallTianxiebianliang
Me.List4.AddItem("")
Me.List4.AddItem("基础内力计算--静力平衡法:
")
Me.List4.AddItem("")
'计算柱截面剪力和弯矩、跨中弯矩
DimQzuo(1To50)
DimQyou(1To50)
DimMzuo(1To50)
DimMyou(1To50)
DimMzhong(1To50)
'计算柱截面处剪力和弯矩
Qzuo
(1)=Pjing*XzuoB
(1)
Qyou
(1)=Qzuo
(1)-FjiZh
(1)
Mzuo
(1)=Pjing*(XzuoB
(1))^2/2
Myou
(1)=Mzuo
(1)+MjiZh
(1)
ForI=2ToList1.ListCount
DimsumF
DimsumM
sumF=0#
sumM=0#
Forj=1ToI-1
sumF=sumF+FjiZh(j)
sumM=sumM+MjiZh(j)+FjiZh(j)*(XzuoB(I)-XzuoB(j))
Nextj
Qzuo(I)=Pjing*XzuoB(I)
Qzuo(I)=Qzuo(I)-sumF
Qyou(I)=Qzuo(I)-FjiZh(I)
Mzuo(I)=Pjing*(XzuoB(I))^2/2-sumM
Myou(I)=Mzuo(I)+MjiZh(I)
NextI
Me.List4.AddItem("")
Me.List4.AddItem("柱截面位置(m)")&("柱左端剪力(kN)")&("柱右端剪力(kN)")
ForI=1ToList1.ListCount
Me.List4.AddItem("")&(Format(XzuoB(I),"00.00"))&("")&(Format(Qzuo(I),"0000.00"))&("")&(Format(Qyou(I),"0000.00"))
NextI
Me.List4.AddItem("")
Me.List4.AddItem("柱截面位置(m)")&("柱左端弯矩(kN.m)")&("柱右端弯矩(kN.m)")
ForI=1ToList1.ListCount
Me.List4.AddItem("")&(Format(XzuoB(I),"00.00"))&("")&(Format(Mzuo(I),"0000.00"))&("")&(Format(Myou(I),"0000.00"))
NextI
'计算各跨中截面处弯矩
Me.List4.AddItem("")
Me.List4.AddItem("跨截面位置(m)")&("跨中截面处弯矩(kN.m)")
summ1=0#
ForI=1ToList1.ListCount-1
summ1=summ1+MjiZh(I)
Xzhong=XzuoB(I)+(XzuoB(I+1)-XzuoB(I))/2
sumM=0#
Forj=1ToI
sumM=sumM+FjiZh(j)*(Xzhong-XzuoB(j))
Nextj
Mzhong(I)=Pjing*Xzhong*Xzhong/2-sumM-summ1
Me.List4.AddItem("")&(Format(x,"00.00"))&("")&(Format(Mzhong(I),"0000.00"))
NextI
EndSub
PrivateSubCommand1_Click()'弹性地基梁
DimFwiA(50),FThiA(50),FmiA(50),FViA(50)
DimMwiA(50),MThiA(50),MmiA(50),MViA(50)
DimWa,THa,Ma,Va
DimMwiB(50),MThiB(50),MmiB(50),MViB(50)
DimWb,THb,Mb,Vb1
DimAL,BL,CL,DL,FL,EL
DimFwi(50),FThi(50),Fmi(50),FVi(50)
DimMwi(50),MThi(50),Mmi(50),MVi(50)
DimWx,Thx,Mx,Vx
DimAxx,Bxx,Cxx,Dxx
'计算地基梁的柔度指数
CallTianJBianL
CallTianxiebianliang
λ=(Jik*JiKuan/(4*JiEI))^(1/4)
Me.List4.AddItem("")
Me.List4.AddItem("基础内力计算--弹性地基梁")
Me.List4.AddItem("")
Me.List4.AddItem("地基梁的柔度指数λ(1/m)="&Format(λ,"0.00000"))
IfJiChang<=(3.14/4/λ)Then
Me.List4.AddItem("∵L<=(3.14/4/λ),∴属于短梁")
ExitSub
ElseIfJiChang>(3.14/λ)Then
'无限长梁内力计算
Me.List4.AddItem("∵L>(3.14/λ),∴属于无限长梁")
ForI=1ToList1.ListCount
xju=Xzuo-XzuoB(I)
Me.List4.AddItem("I="&Format(I,"00"))
Me.List4.AddItem("距离计算点xx的位置(m)Xju="&Format(xju,"0.00000"))
Axx=Ax(Abs(xju))
Bxx=Bx(Abs(xju))
Cxx=Cx(Abs(xju))
Dxx=Dx(Abs(xju))
Ifxju>=0Then
Fwi(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx
FThi(I)=-FjiZh(I)*λ^2/(2*JiKuan*Jik)*Bxx
Fmi(I)=FjiZh(I)/4/λ*Cxx
FVi(I)=-FjiZh(I)/2*Dxx
Mwi(I)=MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx
MThi(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx
Mmi(I)=MjiZh(I)/2*Dxx
MVi(I)=-MjiZh(I)*λ/(JiKuan*Jik)*Axx
Else
Fwi(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx
FThi(I)=FjiZh(I)*λ^2/(2*JiKuan*Jik)*Bxx
Fmi(I)=FjiZh(I)/4/λ*Cxx
FVi(I)=FjiZh(I)/2*Dxx
Mwi(I)=MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx
MThi(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx
Mmi(I)=MjiZh(I)/2*Dxx
MVi(I)=-MjiZh(I)*λ/(JiKuan*Jik)*Axx
EndIf
NextI
Wx=0
Thx=0
Mx=0
Vx=0
ForI=1ToList1.ListCount
Wx=Wx+Fwi(I)+Mwi(I)
Thx=Thx+FThi(I)+MThi(I)
Mx=Mx+Fmi(I)+Mmi(I)
Vx=Vx+FVi(I)+MVi(I)
Next
Me.List4.AddItem("")
Me.List4.AddItem("挠度Wx(m)="&Format(Wx,"0.00000"))
Me.List4.AddItem("转角Thx(m)="&Format(Thx,"0.00000"))
Me.List4.AddItem("弯矩Mx(kN.m)="&Format(Mx,"0.00000"))
Me.List4.AddItem("剪力Vx(kN)="&Format(Vx,"0.00000"))
Me.List4.AddItem("")
ExitSub
ElseIfJiChang>(3.14/4/λ)AndJiChang<(3.14/λ)Then
Me.List4.AddItem("∵(3.14/4/λ) EndIf '有限长梁内力计算 '计算按无限长梁在A,B截面引起的弯矩和剪力 '集中力引起(坐标原点: 左端,A端)'集中力偶引起(坐标原点: 左端,A端) Me.List4.AddItem("") Me.List4.AddItem("按无限长梁上相应于原基础左端A、右端B处,由外荷载引起的弯矩") ForI=1ToList1.ListCount Xx=0#-XzuoB(I) Axx=Ax(Abs(Xx)) Bxx=Bx(Abs(Xx)) Cxx=Cx(Abs(Xx)) Dxx=Dx(Abs(Xx)) IfXx>=0Then FwiA(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx FThiA(I)=-FjiZh(I)*λ^2/(JiKuan*Jik)*Bxx FmiA(I)=FjiZh(I)/4/λ*Cxx FViA(I)=-FjiZh(I)/2*Dxx MwiA(I)=MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx MThiA(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx MmiA(I)=-MjiZh(I)*Dxx/2 MViA(I)=MjiZh(I)*λ*Axx/2 Else FwiA(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx FThiA(I)=FjiZh(I)*λ^2/(JiKuan*Jik)*Bxx FmiA(I)=FjiZh(I)/4/λ*Cxx FViA(I)=FjiZh(I)/2*Dxx MwiA(I)=-MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx MThiA(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx MmiA(I)=-MjiZh(I)*Dxx/2 MViA(I)=-MjiZh(I)*λ*Axx/2 EndIf NextI Wa=0# THa=0# Ma=0# Va=0# ForI=1ToList1.ListCount Wa=Wa+FwiA(I)+MwiA(I) THa=THa+FThiA(I)+MThiA(I) Ma=Ma+FmiA(I)+MmiA(I) Va=Va+FViA(I)+MViA(I) NextI Me.List4.AddItem("") Me.List4.AddItem("原基础左端挠度(m)Wa="&Format(Wa,"0.00000")) Me.List4.AddItem("转角Tha="&Format(THa,"0.00000")) Me.List4.AddItem("弯矩(kN.m)Ma="&Format(Ma,"0.00000")) Me.List4.AddItem("剪力(kN)Va="&Format(Va,"0.00000")) '集中力引起(B端,坐标原点: A端)'集中力偶引起(B端,坐标原点: A端) Me.List4.AddItem("") Me.List4.AddItem("集中力、集中力偶引起(B端)") ForI=1ToList1.ListCount 'Me.List4.AddItem("I="&Format(I,"00")) Xx=JiChang-XzuoB(I) 'Me.List4.AddItem("xx="&Format(xx,"0.00000")) Axx=Ax(Abs(Xx)) Bxx=Bx(Abs(Xx)) Cxx=Cx(Abs(Xx)) Dxx=Dx(Abs(Xx)) IfXx>=0Then FwiB(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx FThiB(I)=-FjiZh(I)*λ^2/(JiKuan*Jik)*Bxx FmiB(I)=FjiZh(I)/4/λ*Cxx FViB(I)=-FjiZh(I)/2*Dxx MwiB(I)=MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx MThiB(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx MmiB(I)=MjiZh(I)/2*Dxx MViB(I)=-MjiZh(I)*λ/2*Axx Else FwiB(I)=FjiZh(I)*λ/(2*JiKuan*Jik)*Axx FThiB(I)=FjiZh(I)*λ^2/(JiKuan*Jik)*Bxx FmiB(I)=FjiZh(I)/4/λ*Cxx FViB(I)=FjiZh(I)/2*Dxx MwiB(I)=-MjiZh(I)*λ^2/(JiKuan*Jik)*Bxx MThiB(I)=MjiZh(I)*λ^3/(JiKuan*Jik)*Cxx MmiB(I)=-MjiZh(I)/2*Dxx MViB(I)=-MjiZh(I)*λ/2*Axx EndIf NextI Wb=0# THb=0# Mb=0# Vb1=0# ForI=1ToList1.ListCount Wb=Wb+FwiB(I)+MwiB(I) THb=THb+FThiB(I)+MThiB(I) Mb=Mb+FmiB(I)+MmiB(I) Vb1=Vb1+FViB(I)+MViB(I) NextI Me.List4.AddItem("") Me.List4.AddItem("") Me.List4.AddItem("原基础右端挠度(m)Wb="&Format(Wb,"0.00000")) Me.List4.AddItem("转角Thb="&Format(THb,"0.00000")) Me.List4.AddItem("弯矩(kN.m)Mb="&Format(Mb,"0.00000")) Me.List4.AddItem("剪力(kN)Vb="&Format(Vb1,"0.00000")) '计算梁端的边界条件DPA,DMA,DPB,DMB DimDpA,DpB,DmA,DmB Me.List4.AddItem("") Xx=JiChang Me.List4.AddItem("xx="&Format(Xx,"0.00000")) AL=Ax(JiChang) BL=Bx(JiChang) CL=Cx(JiChang) DL=Dx(JiChang) FL=Fx(JiChang) EL=Ex(JiChang) DpA=(EL+FL*DL)*Va+λ*(EL-FL*AL)*Ma-(FL+EL*DL)*Vb1+λ*(FL-EL*AL)*Mb DmA=-(EL+FL*CL)*Va/2/λ-(EL-FL*DL)*Ma+(FL+EL*CL)*Vb1/2/λ-(FL-EL*DL)*Mb DpB=(FL+EL*DL)*Va+λ*(FL-EL*AL)*Ma-(EL+FL*DL)*Vb1+λ*(EL-FL*AL)*Mb DmB=(FL+EL*CL)*Va/2/λ+(FL-EL*DL)*Ma-(EL+FL*CL)*Vb1/2/λ+(EL-FL*DL)*Mb Me.List4.AddItem("") M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浅基础工程及程序设计 浅基础工程及程序设计丁继辉程序代码 第三章 程序代码 基础 工程 程序设计 丁继辉 第三