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传感器的原理与构造——单片式硅陀螺仪
一、前言 机械转子式陀螺仪在很长的一段时间内都是唯一的选项,也正是因为它的结构和原理,使其不再适用于现代小型、单体、集成式传感器的设计。常规的机械转子式陀螺仪包括平衡环、支撑轴承、电机和转子等部件,这些部件需要精密加工和…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...
【阅读笔记】MemOS: 大语言模型内存增强生成操作系统
核心速览 研究背景 研究问题:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…...
标注工具核心架构分析——主窗口的图像显示
🏗️ 标注工具核心架构分析 📋 系统概述 主要有两个核心类,采用经典的 Scene-View 架构模式: 🎯 核心类结构 1. AnnotationScene (QGraphicsScene子类) 主要负责标注场景的管理和交互 🔧 关键函数&…...
