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

这篇具有很好参考价值的文章主要介绍了国标混凝土结构设计规范的混凝土本构关系——基于python代码生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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**6
    rho_t = f_tr / Ec / epsilon_tr

    alpha_c = 0.157 * f_cr**0.785 - 0.905
    epsilon_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_cr

    x = epsilon/epsilon_cr if epsilon >= 0 else epsilon/epsilon_tr

    if 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*epsilon

    return sigma

2. 结果测试

如下,以C70混凝土的相关参数,取应变值为0.0001670进行计算,结果与本文所附的Excel结果一致。说明这段代码应该是没有问题的。文章来源地址https://www.toymoban.com/news/detail-662857.html

# 受压时
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.14

sigma = 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时结果与已有文件一致(注意!受拉时应变应该为负值!!!)

到了这里,关于国标混凝土结构设计规范的混凝土本构关系——基于python代码生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 项目结构标准设计规范

    Unity 项目目录结构的设计是非常重要的,因为它能够帮助我们更好地组织项目,并且在协作开发时能够提高工作效率。以下是一个常见的 Unity 项目目录结构的标准设计: Assets Animations // 存放动画文件 Audio// 存放音频文件 Editor // 存放自定义编辑器脚本 Fonts // 存放字体文件

    2024年02月11日
    浏览(25)
  • 系统架构设计师---计算机基础知识之数据库系统结构与规范化

    目录 一、基本概念  二、 数据库的结构  三、常用的数据模型         概念数据模型        基本数据模型        面向对象模型 四、数据的规范化      函数依赖       范式   1. 数据库 (DataBase, DB) : 是指长期储存在计算机内的、有组织的、可共享的数据集合。   

    2024年02月12日
    浏览(39)
  • 软件设计实验三 结构型设计模式实验

    1.结合实例,熟练绘制常见的结构型设计模式结构图。 2.结合实例,熟练使用任意一种面向对象编程语言实现常见的结构型设计模式。 3.通过本实验,理解每一种结构型设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些设计模式。 1.现有一个接口DataOperation定义

    2024年02月03日
    浏览(41)
  • Go语言程序设计(十)选择结构和循环结构

    在Go语言中,共提供三种形式的if语句: if语句 if else语句 if else if语句 if语句的注意事项: 左大括号“{”必须和if语句放在同一行,否则编译会出错 条件表达式和if之间使用空格隔开即可,表达式无需用括号括起来 支持初始化条件表达式,如if a:=1; a0。在这条语句中,先

    2024年02月12日
    浏览(32)
  • Python 程序设计入门(017)—— 选择结构程序设计

    程序中的选择结构也称为判断结构,按照条件选择执行不同的代码片段。Python 中的选择结构主要有三种形式:if 语句、if…else 语句和 if…elif…else 语句。 if 语句的语法格式如下: 说明: (1)表达式:可以是比较表达式或逻辑表达式。如果表达式的值为 True,则执行语句块

    2024年02月13日
    浏览(29)
  • 数据结构与算法设计分析—— 数据结构及常用算法

    1、顺序表与链表 线性表是 线性结构 ,是包含n个数据元素的有限序列,通过顺序存储的线性表称为 顺序表 ,它是将线性表中所有元素按照其逻辑顺序,依次存储到指定存储位置开始的一块连续的存储空间里;而通过链式存储的 链表 中,每个结点不仅包含该元素的信息,还

    2024年02月07日
    浏览(43)
  • 添加与搜索单词 - 数据结构设计

    添加与搜索单词 - 数据结构设计 addWord 中的 word 由小写英文字母组成 search 中的 word 由 ‘.’ 或小写英文字母组成 1 = word.length = 25 为了加快查询速度,可以使用字典树存储单词,基本结构是:字典树Trie是由isLast(判断当前字符是否作为单词的最后一位)和大小为26的Trie数组

    2024年03月19日
    浏览(29)
  • elasticsearch实践之代码结构设计

    * @param sortBuilderList * @param highlightBuilder * @param aggregationBuilderList * @return */ public ElasticSearchList getIndex(String index, String type, QueryBuilder queryBuilder, ListSortBuilder? sortBuilderList, HighlightBuilder highlightBuilder, List aggregationBuilderList); /** * 通过queryBuilder分页查询 * @param index * @param type * @param qu

    2024年04月13日
    浏览(23)
  • 结构型设计模式之代理模式【设计模式系列】

    C++技能系列 Linux通信架构系列 C++高性能优化编程系列 深入理解软件架构设计系列 高级C++并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reali

    2024年02月16日
    浏览(37)
  • 结构型设计模式之组合模式【设计模式系列】

    C++技能系列 Linux通信架构系列 C++高性能优化编程系列 深入理解软件架构设计系列 高级C++并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reali

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包