Python钢筋混凝土结构计算.pdf-混凝土构件计算
计算原理:
代码实现:
#钢筋混凝土参数
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)
代码说明:
它包含两个函数:
c_hrb()
函数用于定义钢筋混凝土的参数,包括强度、模量等信息,并根据用户输入的混凝土标号和钢筋牌号设置相应的数值。given_asp_m_solve_as()
函数和given_as_asp_solve_mu()
函数用于根据给定的钢筋参数和受力条件计算出所需的钢筋面积和极限抗弯承载力。
这些函数通过用户输入的数据进行计算,并输出结果。其中涉及到一些公式和判断逻辑,用于根据不同情况下的受力状态和设计要求进行计算。
相关文章:

Python钢筋混凝土结构计算.pdf-混凝土构件计算
计算原理: 代码实现: #钢筋混凝土参数 def c_hrb(): global fcuk,HRB,Ec,fc,ft,ftk,Es,fy,fyp,fyk global a1,epsilon_cu fcukEcfcftftk0.0 HRBEsfyfypfyk0.0 #矩形应力图系数a1,C50以下为1.0 a11.0 #正截面混凝土极限压应变epsilon_cu&#…...
mysql5.7-基于docker-compose搭建主从同步
一、环境信息 系统版本:CentOS Linux release 7.9.2009 (Core) cat /etc/centos-release Docker版本:Docker version 20.10.6, build 370c289 docker --version Docker-compose版本:Docker Compose version v2.10.2 docker-compose --versio…...

【USRP】调制解调系列5:16QAM、32QAM、64QAM、256QAM、1024QAM、基于labview的实现
QAM 正交振幅键控是一种将两种调幅信号(2ASK和2PSK)汇合到一个信道的方法,因此会双倍扩展有效带宽,正交调幅被用于脉冲调幅。正交调幅信号有两个相同频率的载波,但是相位相差90度(四分之一周期,…...

Odoo|5分钟创建自定义的业务系统唯一序列号
在业务操作中,经常会遇到需要生成全局唯一序列号数据的情况,比如订单号、报价单号等。为了确保数据的唯一性和准确性,通常我们会使用Redis或其他分布式锁机制来实现。然而,很多人可能不知道,odoo框架本身提供了一个原生…...

mysql索引为什么提高查询速度(底层原理)
一、索引原理图 二、索引数据存储到硬盘而不是内存? 硬盘内存 成本低成本高 容量大容量小 读写速度一般读取速度快 断电后数据永久存储断电后数据清空 三、硬盘数据为什么要读取到内存?为啥不直接…...
算法通关村——位运算在查找重复元素中的妙用
用4KB内存寻找重复元素 给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB的内存可用,该如何打印数组中所有重复元素。 如果不要求使用4KB,最简单就是…...

使用环境中的视觉地标和扩展卡尔曼滤波器定位移动机器人研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

【python基础知识】5.for循环和while循环
文章目录 前言for...in...循环语句for循环:空房间for循环:一群排队办业务的人range()函数for循环:办事流程 while循环while循环:放行条件while循环:办事流程 两种循环对比 前言 上一关,我们学习了两种新的…...

STM32CUBEMX_创建时间片轮询架构的软件框架
STM32CUBEMX_创建时间片轮询架构的软件框架 说明: 1、这种架构避免在更新STM32CUBEMX配置后把用户代码清除掉 2、利用这种时间片的架构可以使得代码架构清晰易于维护 创建步骤: 1、使用STM32CUBEMX创建基础工程 2、新建用户代码目录 3、构建基础的代码框…...
vue 插槽Slots
vue插槽官网 <button class"fancy-btn"><slot></slot> <!-- 插槽出口 --> </button><slot> 元素是一个插槽出口 (slot outlet),标示了父元素提供的插槽内容 (slot content) 将在哪里被渲染。 // 定义一个Child.vue…...

论文阅读《Nougat:Neural Optical Understanding for Academic Documents》
摘要 科学知识主要存储在书籍和科学期刊中,通常以PDF的形式。然而PDF格式会导致语义信息的损失,特别是对于数学表达式。我们提出了Nougat,这是一种视觉transformer模型,它执行OCR任务,用于将科学文档处理成标记语言&a…...
较难的换根dp:P6213 「SWTR-04」Collecting Coins
传送门 前题提要:感觉这道换根dp可以说是集中了换根dp的所有较高难度的操作和思想,以及较高的一些实现细节,可以说能够完全写出这道题才叫真正理解了换根dp,非常值得一做. 首先读完题意,不难发现这道题有很多限制.点的访问次数限制,必须访问某一个点,想要获得最大的贡献,没有…...
Springboot - 15.二级分布式缓存集成-Caffeine
👀中文文档 Caffeine 👀使用Caffeine (本地缓存) 当与Spring Boot结合使用时,Caffeine提供了一个直观且功能强大的二级缓存解决方案。Spring Boot的缓存抽象使得整合Caffeine变得相当简单。以下是如何在Spring Boot…...

二叉树的介绍及二叉树的链式结构的实现(C语言版)
前言 二叉树是一种特殊的树,它最大的度为2,每个节点至多只有两个子树。它是一种基础的数据结构,后面很多重要的数据结构都是依靠它来进行实现的。了解并且掌握它是很重要的。 目录 1.二叉树的介绍 1.1概念 1.2现实中的二叉树 1.3特殊的二叉…...

不同写法的性能差异
“ 达到相同目的,可以有多种写法,每种写法有性能、可读性方面的区别,本文旨在探讨不同写法之间的性能差异 len(str) vs str "" 本部分参考自: [问个 Go 问题,字符串 len 0 和 字符串 "" ,有啥区别?](https://segmentf…...

Bytebase 2.7.0 - 新增分支(Branching)功能
🚀 新功能 新增支持与 Git 类似的分支(Branching)功能来管理 schema 变更。支持搜索所有历史工单。支持导出审计日志。 🎄 改进 变更数据库工单详情页面全新改版。优化工单搜索体验。SQL 审核规则支持针对不同数据库进行独立配…...
day55 动规.p15 子序列
- 392.判断子序列 cpp class Solution { public: bool isSubsequence(string s, string t) { vector<vector<int>> dp(s.size() 1, vector<int>(t.size() 1, 0)); for (int i 1; i < s.size(); i) { for (int j 1; …...
TypeScript DOM类型的声明
TS DOM类型的声明 lib.dom.d.ts HTMLInputElement <input type"text" change"handleChange" /> const handleChange (evt: Event) > {console.log((evt.target as HTMLInputElement).value); } HTMLElement const div: HTMLDivElement do…...

springboot找不到注册的bean
1、错误描述 A component required a bean named ‘fixedAssetsShareMapper’ that could not be found.Action:Consider defining a bean named ‘fixedAssetsShareMapper’ in your configuration.2、问题分析 1、该错误提示表明在你的应用程序中有一个组件(可能…...

MEMS传感器的原理与构造——单片式硅陀螺仪
一、前言 机械转子式陀螺仪在很长的一段时间内都是唯一的选项,也正是因为它的结构和原理,使其不再适用于现代小型、单体、集成式传感器的设计。常规的机械转子式陀螺仪包括平衡环、支撑轴承、电机和转子等部件,这些部件需要精密加工和…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...