混凝土构件开裂模拟:一维单元解决方案

一、算例背景及分析技术

钢筋混凝土结构开裂是广泛存在的现象,准确的说从钢筋混凝土结构服役开始就进入带裂工作状态,只是这种裂缝肉眼难以辨别并且对结构安全没有影响。但裂缝作为钢筋混凝土构件工作状态的重要表征指标,是结构损伤的表现,也许是破坏的先兆,也许是耐久

性不足的预警,更是灾后调查和受力机理揭示的重要线索,见图1。


图片1.1.png

图1  钢筋混凝土结构裂缝


本案例使用ABAQUS对一根钢筋混凝土受拉构件进行裂缝估算分析,根据钢筋应力状态计算等效裂缝宽度,并采用Python脚本在ODB结果文件中创建裂缝场变量,实现在ABAQUS中使用一维单元进行快速分析,并在后处理模块 显示等效裂缝宽度的目标。



案例涉及的相关技术:

①ABAQUS梁单元Rebar积分点插入;

②利用Python脚本提取ABAQUS场变量数据;

③利用Python脚本创建ABAQUS场变量数据。



计算报告编写采用操作引导式,希望能为读者使用ABAUQS场变量创建提供有益参考。操作分析要点为:

①ABAQUSABAQUS梁单元Rebar积分点插入;

②ABAQUS场变量输出Python脚本getSubset()函数应用;

③ABAQUS场变量编辑Python脚本addData()()函数应用。

二、计算任务

1.模型装配及接触连接


图片1.png

计算模型为钢筋混凝土屋架下弦按轴心受拉构件,见图2。模型只包含1个part。截面宽200mm,截面高160mm。因为案例模型较为简单,混凝土梁采用B21单元模拟,钢筋通过在与混凝土单元共节点建立钢筋箱型截面单元实现。混凝土材料为C40,钢筋为HRB400,为实现材料单轴滞回损伤模拟,混凝土受压骨架线上升段采用Hognested曲线,下降段为直线;钢筋均采用《混凝土结构设计规范》(GB 50010-2010)

一维单元模拟混凝土构件开裂的解决方案的图4

图片2.png

图2 分析模型

一维单元模拟混凝土构件开裂的解决方案的图6      

图片3.1.png

一维单元模拟混凝土构件开裂的解决方案的图8

a 混凝土单轴应力应变曲线      

 

图片3.2.png

b 钢筋单轴受拉应力应变曲线

图3 材料本构

表1 材料参数

微信图片_20220825002446.png




2.分析步设置
 

轴向拉伸分析采用一个静力分析步完成,见图4。

本例的最终目的是通过钢筋单元应力状态计算出等效裂缝宽度,因此要在输出要在场输出中设置应力输出结果,见图5。

图片4.png

一维单元模拟混凝土构件开裂的解决方案的图12一维单元模拟混凝土构件开裂的解决方案的图13

图4 分析步设置            

图片5.png

图5 输出节点集示意

3.边界设置

1) 底部节点为全自由度固定。

2) 顶部节点施加114kN拉力。

图片6.png

图片7.png

一维单元模拟混凝土构件开裂的解决方案的图17一维单元模拟混凝土构件开裂的解决方案的图18

图6 边界条件设置及荷载施加      



4.创建并提交分析计算任务

此步与常规相同,不在赘述。



5.ODB后处理

本例的目标是通过钢筋单元应力状态计算出等效裂缝宽度,因此要在输出要在场输出中设置应力输出结果,根据现行规范计算公式:

图片9.png

一维单元模拟混凝土构件开裂的解决方案的图20

微信图片_20220825002827.png

因此需要对有限元计算结果进行后处理,基本分成三步:

①提取钢筋单元S11分量;

②创建新的场输出变量,命名为裂缝宽度(Crack width),并添加描述为:ε*lm

③计算出等效裂缝并将结果写入新建的常变量。

为实现上述步骤需要使用getSubset()、frame.FieldOutput()、addData()三个Python脚本函数。本例编写了创建并计算裂缝宽度的Python脚本如下:


import odbAccess

from abaqusConstants import *

myOdb = odbAccess.openOdb(path=r"D:\temp\Tensile-beam.odb", readOnly=False)

ins = myOdb.rootAssembly.instances["TENSILE-BEAM"]

elements = ins.elements

for frame in myOdb.steps["Axial"].frames:

   test = frame.FieldOutput(name="Crack width", description="ε*lm", type=SCALAR)

   S_data = frame.fieldOutputs["S"]

   for eid in elements:

       S11_data = S_data.getSubset(region=eid).values[0].data[0]

       test.addData(position=CENTROID, instance=ins, labels=[eid.label, ], data=((S11_data /200000*222.14, ),))


裂缝宽度场变量创建完成后即可在后处理中直接查看等效裂缝宽度,及方便快捷,还能充分利用ABAQUS可视化显示平台的渲染美感,同时计算结果与参照例题完全吻合,见7。

图片8.png

图7  在后处理模块显示新创建裂缝宽度场变量

三、结论

作为工程分析人员,有限元难以满足全部的分析需求。为了实现计算的快捷高效,模型中大量采用梁单元,计算裂缝宽度需要平均裂缝间隔和纵向受拉钢筋应力状态,但一维单元只能给出应力状态。采用分析软件自带的后处理工,根据规范建议的简化计算公式,可以快速的进行计算。避免了为估算裂缝宽度而建立机器耗时的精细化模型,这也许应该有限元广泛应用方式之一。





免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空