当前位置: 首页 > news >正文

国标混凝土结构设计规范的混凝土本构关系——基于python代码生成

文章目录

  • 0. 背景
  • 1. 代码
  • 2. 结果测试

0. 背景

最近在梳理混凝土塔筒的计算指南,在求解弯矩曲率关系以及MN相关曲线时,需要混凝土的本构关系作为输入条件。

1. 代码

这段代码还是比较简单的。不过需要注意的是,我把受拉和受压两种状态统一了起来,即规定受压为正,受拉为负。

def constitutive_GB(epsilon, Ec, f_cr, f_tr):'''按照 GB50010-2010混凝土结构设计规范 附录C的本构关系编制,由应变给出应力:param epsilon: 应变,压为正,拉为负:param Ec: 混凝土弹性模量,Mpa:param f_cr: 混凝土单轴抗压强度代表值, Mpa:param f_tr: 混凝土单轴抗拉强度代表值, Mpa:return: 应力, Mpa'''alpha_t = 0.312*f_tr*f_tr   #epsilon_tr = f_tr**0.54*65/10**6rho_t = f_tr / Ec / epsilon_tralpha_c = 0.157 * f_cr**0.785 - 0.905epsilon_cr = (700 + 172 * m.sqrt(f_cr))/10**6# epsilon_cu是极限压应变,不知道后面会不会用上,先保留# epsilon_cu = epsilon_cr / 2 / alpha_c * (1 + 2*alpha_c + m.sqrt(1 + 4*alpha_c))n = Ec * epsilon_cr / (Ec * epsilon_cr - f_cr)rho_c = f_cr / Ec / epsilon_crx = epsilon/epsilon_cr if epsilon >= 0 else epsilon/epsilon_trif x > 1:    # 受压状态d = 1 - rho_c / (alpha_c*(x-1)**2 + x)elif 0 <= x < 1:    # 受压状态d = 1 - rho_c*n / (n - 1 + x**n)elif -1 <= x < 0:   # 受拉状态d = 1 - rho_t * (1.2 + 0.2*x**5)     # 受拉时,应变为负值,x也为负值else:d = 1 - rho_t / (alpha_t * (-x-1)**1.7 -x)sigma = (1 - d)*Ec*epsilonreturn sigma

2. 结果测试

如下,以C70混凝土的相关参数,取应变值为0.0001670进行计算,结果与本文所附的Excel结果一致。说明这段代码应该是没有问题的。

# 受压时
epsilon = 0.0001670
Ec = 37000
f_cr = 31.8
f_tr = 2.14
sigma = constitutive_GB(epsilon, Ec, f_cr, f_tr)
# (sigma, d, n, rho_c)
# (6.12871040573435, 0.008138791756862052, 2.060440315282528, 0.5146668444686883)
# C70, 应变0.000167时结果与已有文件一致,
# 受拉时
epsilon = -9.8025*10**(-5) * 0.5
Ec = 37000
f_cr = 31.8
f_tr = 2.14sigma = constitutive_GB(epsilon, Ec, f_cr, f_tr)# (sigma, d, rho_t) 
# (-1.2773126624557158, 0.295649806678817, 0.5900315775743109)
# C70, 应变-9.8025*10**(-5) * 0.5时结果与已有文件一致(注意!受拉时应变应该为负值!!!)
http://www.lryc.cn/news/133042.html

相关文章:

  • 系统架构设计-架构师之路(八)
  • 【SA8295P 源码分析】25 - QNX Ethernet MAC 驱动 之 emac_isr_thread_handler 中断处理函数源码分析
  • 函数栈帧的创建与销毁
  • 工业安全生产平台在面粉行业的应用分享
  • Gitlab服务部署及应用
  • 【nodejs】用Node.js实现简单的壁纸网站爬虫
  • xlsx xlsx-style file-saver 导出json数据到excel文件并设置标题字体加粗
  • Win11游戏高性能模式怎么开
  • 深度学习最强奠基作ResNet《Deep Residual Learning for Image Recognition》论文解读(上篇)
  • 第22次CCF计算机软件能力认证
  • Go语言基础之基本数据类型
  • Linux Tracing Technologies
  • iOS自定义下拉刷新控件
  • Springboot写单元测试
  • 一篇文章教你使用Docker本地化部署Chatgpt(非api,速度非常快!!!)及裸连GPT的方式(告别镜像GPT)
  • 前馈神经网络dropout实例
  • Android DataStore:安全存储和轻松管理数据
  • opencv进阶12-EigenFaces 人脸识别
  • The internal rate of return (IRR)
  • 半导体自动化专用静电消除器主要由哪些部分组成
  • 【C++入门到精通】C++入门 —— deque(STL)
  • Codeforces Round 893 (Div. 2) D.Trees and Segments
  • SpringBoot + Vue 前后端分离项目 微人事(九)
  • 【业务功能篇71】Cglib的BeanCopier进行Bean对象拷贝
  • 让eslint的错误信息显示在项目界面上
  • 手摸手带你实现一个开箱即用的Node邮件推送服务
  • 【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序
  • Python学习笔记第六十四天(Matplotlib 网格线)
  • 机器学习与模式识别3(线性回归与逻辑回归)
  • vue启动配置npm run serve,动态环境变量,根据不同环境访问不同域名