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() 函数用于根据给定的钢筋参数和受力条件计算出所需的钢筋面积和极限抗弯承载力。

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

相关推荐
Yawesh_best21 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
Ccjf酷儿1 天前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y1 天前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面1 天前
(笔记)自定义 systemd 服务
笔记
DKPT1 天前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉1 天前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法
星轨初途1 天前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉1 天前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
love530love1 天前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
愚戏师1 天前
MySQL 数据导出
数据库·笔记·mysql