提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
混凝土结构设计原理期末考试结束,由于该课程大部分与流程图有关,故在此写一个简单程序进行受弯构件单筋矩形截面的截面设计.
一、基本公式
二、设计流程
三、代码
"""
单筋矩形截面的截面设计
"""
from math import *
def function(b,h,fc,ft,fy,alpha,xi_b,c,a_s,M):
"""
假定受拉钢筋单排布置 b,h,M为已知条件 fc,ft,fy,alpha,xi_b,c,a_s均为查表获得
:param b: 截面宽度(mm)
:param h: 截面高度(mm)
:param fc: 混凝土抗压强度(N/mm^2)
:param ft: 混凝土抗拉强度(N/mm^2)
:param fy: 受拉钢筋屈服强度(N/mm^2)
:param alpha: 矩形应力图系数
:param xi_b: 相对界限受压区高度
:param c: 混凝土保护层厚度(mm)
:param a_s:纵向受拉钢筋合力点至截面受拉边缘的距离(mm)
:param M: 截面所受的弯矩设计值(kN·m)
:return: 受拉钢筋最小面积(mm^2)
"""
h_0=h-a_s #截面有效高度
rho=max(0.002,0.45*ft/fy) #最小配筋率
x=h_0*(1-sqrt(1-2*M*10**6/(alpha*fc*b*h_0**2))) #计算受压区高度
if x>xi_b*h_0:
print("增大截面尺寸或提高混凝土强度\n或改用双筋截面")
else:
A_s=alpha*fc*b*x/fy
#防止超筋,保证受拉钢筋充分屈服
if A_s>=rho*b*h:
print(f"所需受拉钢筋最小面积为{A_s}mm^2")
return A_s
else:
A_s=rho*b*h
print(f"所需受拉钢筋最小面积为{A_s}mm^2")
return A_s
#杜绝少筋,维持结构整体性
if __name__ == '__main__':
r=function(250,600,11.9,1.27,300,1,0.55,None,40,220)
总结
代码较为基础,谨记录个人学习过程.
参考书:《混凝土结构设计原理》第2版 北京大学出版社