Python钢筋混凝土结构计算.pdf-混凝土构件计算

计算原理:

代码实现:

python 复制代码
#钢筋混凝土参数
def c_hrb():
global fcuk,HRB,Ec,fc,ft,ftk,Es,fy,fyp,fyk
global a1,epsilon_cu
fcuk=Ec=fc=ft=ftk=0.0
HRB=Es=fy=fyp=fyk=0.0
#矩形应力图系数a1,C50以下为1.0
a1=1.0
#正截面混凝土极限压应变epsilon_cu,C50以下为0.0033
epsilon_cu=0.0033
fcuk=int(input("C?30/35/40"))
if (fcuk==30):
Ec=30000
fc=14.3
ft=1.43
ftk=2.01
elif (fcuk==35):
Ec=31500
fc=16.7
ft=1.57
ftk=2.2
elif (fcuk==40):
Ec=32500
fc=19.1
ft=1.71
ftk=2.39
HRB=int(input("HRB?300/400/500"))
if (HRB==300):
Es=210000
fy=270
fyp=270
fyk=300
elif (HRB==400):
Es=200000
fy=360
fyp=360
fyk=400
elif (HRB==500):
Es=200000
fy=435
fyp=410
fyk=500
print('fcuk=',fcuk)
print('Ec=',Ec)
print('fc=',fc)
print('ft=',ft)
print('ftk=',ftk)
print('HRB=',HRB)
print('Es=',Es)
print('fy=',fy)
print('fyp=',fyp)
print('fyk=',fyk)
#函数结束

#1.受弯构件正截面
#矩形双筋(非抗震,gamma_RE=1.0;抗震,《混规》11.1.6,gamma_RE=0.75)
#【a】已知Asp,M,求As
def given_asp_m_solve_as():
import math
c_hrb()
gamma_RE=float(input("抗震0.75,gamma_RE="))
nsp=float(input("受压筋个数nsp="))
dsp=float(input("受压筋直径dsp="))
Asp=nsp0.253.14*(dsp2)
M=float(input("kNm,M="))
h=float(input("mm,h="))
b=float(input("mm,b="))
ast=float(input("mm,受拉钢筋合力点至受拉边缘的距离ast="))
asp=float(input("mm,受压钢筋合力点至受压边缘的距离asp="))
h0=h-ast
#界限受压区高度ksi_b
ksi_b=round(0.8/(1 + fy / (Esepsilon_cu)),3)
#受压区高度x
x=round(h0-math.sqrt(h02 - 2*(gamma_REM(106) - fypAsp*(h0-asp)) / (a1fcb)),1)
print('h0=',h0)
print('ksi_b=',ksi_b)
print('x=',x)
if (x<=ksi_bh0):
#弯曲破坏时,截面的延性取决于受压区高度的大小,受压区高度越小,截面转动就越大,延性就越好
print(x,"非抗震截面,<=ksi_bh0",ksi_bh0)
print(x,"抗震端截面,一级x<=0.25h0",0.25h0)
print(x,"抗震端截面,二、三级x<=0.35h0",0.35h0)
else:
#超筋梁,脆性破坏
print(x,">ksi_bh0,截面过小!",ksi_bh0)
if (x>=2asp):
print(x,">=2asp,混规6.2.10-4式",2asp)
As=(a1fcbx+fypAsp)/fy
else:
print(x,"<2asp,混规6.2.14条",2asp)
As=gamma_RE*M(10*6) / (fy(h - ast - asp))
As=round(As,1)
print('受拉筋面积As=',As)
rho=round(As/(b*h)*100,3)
print('另需满足最小配筋率;配筋率rho=',rho,'%')
#函数结束

#【b】已知As,Asp,求Mu
def given_as_asp_solve_mu():
import math
c_hrb()
gamma_RE=float(input("抗震0.75,gamma_RE="))
nst=float(input("受拉筋个数nst="))
dst=float(input("受拉筋直径dst="))
As=nst0.253.14*(dst2)
nsp=float(input("受压筋个数nsp="))
dsp=float(input("受压筋直径dsp="))
Asp=nsp0.253.14*(dsp2)
h=float(input("mm,h="))
b=float(input("mm,b="))
ast=float(input("mm,受拉钢筋合力点至受拉边缘的距离ast="))
asp=float(input("mm,受压钢筋合力点至受压边缘的距离asp="))
h0=h-ast
#界限受压区高度ksi_b
ksi_b=round(0.8/(1 + fy / (Esepsilon_cu)),3)
#受压区高度x
x=(fyAs-fypAsp)/(a1fcb)
print('h0=',h0)
print('ksi_b=',ksi_b)
print('x=',x)
if (x<=ksi_bh0):
#弯曲破坏时,截面的延性取决于受压区高度的大小,受压区高度越小,截面转动就越大,延性就越好
print(x,"非抗震截面,<=ksi_bh0",ksi_bh0)
print(x,"抗震端截面,一级x<=0.25h0",0.25h0)
print(x,"抗震端截面,二、三级x<=0.35h0",0.35h0)
else:
x=ksi_bh0
print(x,"取x=ksi_bh0",ksi_bh0)
if (x>=2asp):
print(x,">=2asp,混规6.2.10-4式",2asp)
Mu=(a1fcbx(h0-x/2) + fypAsp(h0-asp)) / gamma_RE/(106)
else:
print(x,"<2asp,混规6.2.14条",2asp)
Mu=fyAs(h - ast - asp) / gamma_RE/(106)
Mu=round(Mu,3)
print('极限抗弯承载力Mu=',Mu)

代码说明:

它包含两个函数:

  1. c_hrb() 函数用于定义钢筋混凝土的参数,包括强度、模量等信息,并根据用户输入的混凝土标号和钢筋牌号设置相应的数值。
  2. given_asp_m_solve_as() 函数和 given_as_asp_solve_mu() 函数用于根据给定的钢筋参数和受力条件计算出所需的钢筋面积和极限抗弯承载力。

这些函数通过用户输入的数据进行计算,并输出结果。其中涉及到一些公式和判断逻辑,用于根据不同情况下的受力状态和设计要求进行计算。

相关推荐
jike_202610 小时前
iPhone采访录音同时拍现场照片的APP:图片音频同步记录实测
笔记·智能手机·音视频·语音识别
————A11 小时前
Agent 接收用户上传文件
人工智能·笔记·python·状态模式
奔跑的痕迹11 小时前
如何删除引力画报?
笔记
zbyyd11 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
知产xiao_xin12 小时前
知识产权入门 —— 版权
经验分享·笔记·知识产权
呆萌很12 小时前
英语 1‑12 月单词联想记忆
笔记
金立基包装胶水14 小时前
纸袋热封频繁不良,先排查胶料这一堆问题
大数据·笔记·其他
常驻客栈14 小时前
B-深入理解计算机系统第3版之第11章:网络编程
开发语言·笔记·学习笔记·常驻客栈·深入理解计算机系统
血小板要健康14 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
NoteDeep 深度笔记14 小时前
Observer: 思维 ≠ 自己
笔记