在上篇文章中笔者介绍了未开裂梁截面刚度的确定方法,链接如下:

AdSec 中梁截面的未开裂刚度以及开裂弯矩计算https://blog.csdn.net/Kanexie/article/details/131018992?spm=1001.2014.3001.5502

通过确定梁未开裂截面性质,可以确定梁的开裂曲率,开裂弯矩等等重要信息,为开裂梁截面的分析做准备。

实际上,无论截面开裂与否,曲率,抗弯刚度以及弯矩之间的关系都是一定的,即:

 (1)

EI 为截面抗弯刚度, 为曲率,M 为弯矩。

利用这个关系,我们可以通过迭代的方法求得开裂截面的弯矩-刚度曲线。

1. 准备工作

截面分析的基本假定:

  • 平截面受弯变形后,仍为平截面
  • 截面性质用于使用极限状态分析(SLS),即混凝土与钢筋材料分项系数均取 
  • 混凝土受拉极限应力为 1 MPa, 开裂后受拉刚化效应下,受拉钢筋位置处混凝土拉应力最多取 0.55 MPa

确定材料本构模型:

  • 混凝土采用双线性模型
  • 钢筋采用双线性模型
Fig.1 混凝土受压模型 Fig.2 混凝土受拉模型 Fig.3 钢筋弹塑性模型

整个迭代过程如下:

  1. 读取材料和截面信息
  2. 读取假定曲率 
  3. 假定中和轴高度 
  4. 根据中和轴高度以及曲率,计算受拉区混凝土和钢筋的拉力 ,受压区混凝土和钢筋的压力 ,截面弯矩 ,以及拉力和压力的差值 。由截面平衡条件,中和轴的位置应使得  成立,即 
  5. 令 ,替代第三步中的 ,并重复第三步至第五步,直到  超过截面高度
  6. 对每一个特定的 ,选择与  对应的  为中和轴高度,并记录相应的截面弯矩 
  7. 按(1)式计算截面抗弯刚度: 
  8. 令 ,替代第二步中的 ,并重复第二步至第八步
  9. 最终获得截面曲率,抗弯刚度以及弯矩之间的对应表格,通过表格可绘制截面的弯矩-刚度曲线。

2. 使用 AdSec 建立模型

以上计算过程便是根据(1)式提出的迭代方法,通过这个流程,工程师可以自行编制脚本程序解决开裂截面刚度问题。

为了检验以上迭代流程的正确性,笔者通过 AdSec 建立了截面模型,作为 benchmark 校核脚本程序。模型有两方面的目的:

  • 验证以上迭代流程,以及相应脚本程序的正确性
  • 同时,也能透析 AdSec 中的开裂截面的抗弯刚度的计算方法

由于模型主要以验证为目的,因此选取了截面形式较为简单的混凝土矩形单筋截面作为研究对象。模型基本信息如下:

材料信息:

  • 混凝土 C20,立方体抗压强度 20 MPa
  • 钢筋 500B,屈服强度 500 MPa

截面信息:

  • 矩形 300 mm (width) X 800 mm (depth)
  • 保护层 30 mm
  • 单层钢筋,4 支直径 25 mm
Fig.4 C20 混凝土性质 Fig.5 500B 钢筋性质

在 AdSec 中,截面模型以及分析得到的弯矩-刚度曲线如下图所示:

Fig.6 截面布置 Fig.7 截面弯矩-刚度曲线

3. 使用 EXCEL 以及 VBA 编制迭代流程脚本文件

有了以上的 benchmark 模型,我们可以开始脚本程序的编制。考虑到大部分工程师对 Excel 和 VBA 都较为熟悉,笔者采用了 Excel + VBA 的组合。

以下的代码片段是根据上文迭代流程编制的,并非完整的 VBA 代码。由于 Excel 也参与到流程的计算以及数据记录中,完整的代码将取决于Excel spreadsheet 的编制。

代码的说明在代码段中以注释的形式给出:

'it is assumed the material information is obtained
'this piece of code is not the completed one, which is depended on the associated spreadsheet'STEP 2
'calculate for each k
For Each cell In Range("Curvature")
'read the curvature
k = cell.Value'STEP 3
'START CALCULATION
'h1 is the tension side height, h2 is the compression side height
'obtain effective section height
he = H - cv - ds / 2 'he is the effective height, from tension bar to section top
'set the distance from the *ASSUMED* initial neutral axis to the bottom steel bar
h1 = he / 10 'h1 is the tension side height
'loop until the h1 exceeds he
Do While h1 < he
h2 = he - h1 'h2 is the compression side height
e1 = k * h1 / 1000 'strain at tension bar location
e2 = k * h2 / 1000 'strain at outmost compression side
e3 = k * (H - h2) / 1000 'strain at outmost tension side, used to judge cracked or not'STEP 4
'CALCULATE THE TENSILE FORCE T AND MOMENT
'calculate the tensile force T1 from the steel bars
'Er is the Young's modulus of steel bars
'Ar is the area of the steel bars
'fy is the yield strength of steel bars
'the IF process considers the bi-linear constitution of steel bars
If Er * e1 * 1000 < fy Then
T1 = Er * e1 * Ar
Else
T1 = fy * Ar / 1000
End If
'calculate the tensile force T21 and T22 which are from concrete
'the critical tensile stress for crack condition determination is 1MPa as code specified
'if the outmost stress exceeds the limit, the tensile strength for concrete will be limited to 0.55MPa as code specified
'the IF process considers the concrete tensile constitution
'T21 is the tensile force from concrete, T22 is the double counted tensile force which should be deducted
If e3 < 1 / (E * 1000) Then
T21 = 0.5 * E * e3 * (H - h2) * B
T22 = E * e1 * Ar
Else
T21 = 0.5 * 0.55 * (H - h2) * B / 1000
T22 = 0
End If
T = T1 + T21 - T22
'calculate the moment produced by tensile force
M11 = T1 * h1 / 1000
M12 = T21 * (2 / 3) * (H - h2) / 1000 - T22 * h1 / 1000
M1 = M11 + M12
'CALCULATE THE COMPRESSIVE FORCE C
'if the strain is within the peak strain, triangular distribution is used
'if the strain exceeds the peak strain, bi-linear distribution is used
'C1 is the rectangular part in the bi-linear stress distribution
'C2 is the triangular part in the bi-linear stress distribution
If e2 > eRP Then
h21 = eRP / k * 1000
h22 = h2 - h21
C1 = fc * B * h22 / 1000
C2 = 0.5 * fc * B * h21 / 1000
C = C1 + C2
Else
C = 0.5 * e2 * E * B * h2
End If
'CALCULATE THE DIFFERENCE DELTA
'the neutral axis should locate somewhere T = C holds
delta = T - C
'CALCULATE THE MOMENT FROM COMPRESSIVE CONCRETE
'calculate the moment produced by compression force
If e2 < eRP Then
M2 = C * 2 / 3 * h2 / 1000
Else
M21 = C2 * 2 / 3 * h21 / 1000
M22 = C1 * (h21 + h22 / 2) / 1000
M2 = M21 + M22
End If
'CALCULTE TOTAL MOMENT
M = M1 + M2'STEP 5
'try next *ASSUMED* neutral axis
h1 = h1 + 5
Loop'STEP 6 & 7 are carried out by EXCEL'STEP 8
Next cell

通过以上代码,Excel 可以绘制出相应的弯矩-刚度曲线,笔者将由 Excel 绘制的曲线和由 AdSec 绘制的曲线摆在同一张图上,用以有清晰的比对。如下图所示:

Fig.8 弯矩-刚度曲线对照

上图中,蓝色曲线由 Excel 绘制,橙色曲线由 AdSec 绘制。曲线共分为三个部分,分别为:

  • 平直段,此时截面未开裂,所以刚度没有降低
  • 直线下降段,此时截面开裂,截面刚度快速降低
  • 曲线下降段,截面刚度随弯矩增长缓慢降低

可见,两条曲线在初始以及曲线下降段有较好的契合。而在直线下降段有较大出入,这是因为 AdSec 使用的取样点比较稀疏,直线下降段的中间是没有取样点的,因此才反映为直线。而笔者编制的脚本程序取样点相对密集,所以曲线下降段会向上延申,而斜直线变为了垂直线。

4. 总结

由以上对比,我们清楚了 AdSec 在计算使用极限状态下梁的未开裂截面刚度,开裂截面刚度,以及开裂弯矩的原理。即通过非线性迭代,利用关系式(1),计算可以得到与 AdSec 几乎一致的结果。对于未能够使用 AdSec 的工程师,也可根据本文陈述的方法分析开裂截面刚度。

AdSec 中开裂梁截面刚度计算相关推荐

  1. AdSec 中梁截面的未开裂刚度以及开裂弯矩计算

    根据目前的设计理论,混凝土梁在荷载下的变形主要受到以下方面的影响: 材料性质,包括混凝土拉压强度,钢筋强度以及各种材料的弹性模量等 截面属性,包括截面形状,钢筋布置等 裂缝对截面性能的削弱 混凝土材料 ...

  2. 神经网络中参数数量的计算

    详情请见: https://blog.csdn.net/qian99/article/details/79008053 https://www.cnblogs.com/touch-skyer/p/91 ...

  3. excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations).例如,计算两种商品销售额之间的3个月的滚动相关性 目录

  4. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    R语言时间序列数据滚动相关性分析(Rolling correlations).R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlation ...

  5. pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值、计算多数据列滑动窗口中的最小值

    pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值.计算多数据列滑动窗口中的最小值 目录

  6. pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值、计算多数据列滑动窗口中的最大值

    pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值.计算多数据列滑动窗口中的最大值 目录

  7. pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数、计算多数据列滑动窗口中的中位数

    pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数.计算多数据列滑动窗口中的中位数 目录

  8. python datetime计算时间差_Python中关于日期的计算总结

    1.获取当前时间的两种方法: 代码如下: 2.获取上个月最后一天的日期(本月的第一天减去1天) 代码如下: 3.获取时间差(时间差单位为秒,常用于计算程序运行的时间) 代码如下: 4.计算当前时间向后 ...

  9. OpenGL中摄像机矩阵的计算原理

    OpenGL中摄像机矩阵的计算原理 熟悉OpenGL|ES的朋友,可能会经常设置摄像机的view矩阵,iOS中相对较好,已经封装了方向,只需要设置摄像机位置,目标点位置以及UP向量即可.下面先介绍下摄 ...

最新文章

  1. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
  2. 设计模式的理解: 职责链模式 (Chain of Responsibility)
  3. redis的各种数据集的列举功能
  4. Swift 数组、字典
  5. 字符串经典题目(Leetcode题解-Python语言)
  6. E70系列模块高效型、超低功耗无线cc1310芯片优势典型应用
  7. a*算法流程图_光伏逆变器MPPT基本算法介绍李星硕
  8. 新俊飞六合一口红机完整源码
  9. Vue Element校验validate
  10. mmap库:Python内存映射文件操作
  11. windows10未安装画图工具解决办法
  12. 【个税】2020年个人所得税计算规则
  13. 功能强大的在线网页编辑器
  14. 李白藏头诗鸿蒙,女子示爱的诗词
  15. vue 双花括号里面使用方法
  16. win7系统缩小图片大小的详细步骤--win7w.com
  17. PYTHON实践——GUI界面
  18. ELKF:日志可视化Discovery
  19. 九章算术 四:《少广》
  20. ftp常见错误代码记录下

热门文章

  1. 两台手机通过4g网络直接通讯_王者不卡了!手游电竞网络保障方案简析
  2. Memwatch使用说明
  3. iPhone为何能长期统治日本手机市场
  4. 国内常见的路由器默认帐户及密码
  5. java毕业设计宠物销售管理系统Mybatis+系统+数据库+调试部署
  6. 务实之选 5000元以下热销笔记本推荐
  7. 【论文阅读】增量协同过滤
  8. 吴炳忠:论证的要素与结构
  9. php虚线_如何利用css生成可控虚线
  10. Python修饰符 (一)—— 函数修饰符 “@”