Abaqus一层一跨混凝土框架拟静力试验模拟详细建模过程 Abaqus梁单元+两种子程序 1、Abaqus梁单元+子程序(PQFiber- UConcrete02+UStee102 ) 2、Abaqus梁单元+子程序(iFiberLUT- iConcrete05+iSteel05) 附模型文件和两个子程序文件以及使用说明文件
混凝土框架拟静力试验模拟最让人头秃的环节,就是材料本构和单元选择。今天咱们直接上实战,聊两种基于AbaQus梁单元+子程序的解决方案。这两种方案我都踩过坑,模型文件和子程序打包在文末,但先别急着下载,看完实现逻辑再动手不迟。
方案一:PQFiber全家桶
先用PQFiber搭配UConcrete02混凝土和USteel102钢材模型。这组合适合需要精细控制低周疲劳特性的场景。材料定义部分的核心代码长这样:
! UConcrete02参数设置 props(1) = 28.0 ! fpc: 混凝土抗压强度(MPa) props(2) = 2.0 ! epsc0: 峰值压应变 props(3) = 0.1 ! fpcu: 极限抗压强度 props(4) = 0.002 ! epscu: 极限压应变 ! USteel102参数配置 props(1) = 400.0 ! fy: 屈服强度(MPa) props(2) = 2e5 ! E0: 初始弹性模量 props(5) = 0.025 ! epsu: 极限应变注意看USteel102的第5个参数eps_u,这个值直接影响钢筋断裂判断。上次模拟就因为这里设成0.02导致滞回曲线提前截断,结果被导师怼说"你这钢筋是面条做的?"
方案二:iFiberLUT组合拳
换成iConcrete05+iSteel05更适合高强度混凝土结构。这俩子程序自带损伤因子计算,处理往复荷载更丝滑。关键在单元积分点设置:
section = mdb.models['Model-1'].BeamSection( name='concreteSec', integration=SIMPSON, # 辛普森积分法 numIntPts=5) # 至少5个积分点遇到过积分点太少导致弯矩-曲率曲线出现锯齿状波动的情况吗?这就是元凶。建议梁单元至少划分8个单元,每个单元5个积分点保平安。
Abaqus一层一跨混凝土框架拟静力试验模拟详细建模过程 Abaqus梁单元+两种子程序 1、Abaqus梁单元+子程序(PQFiber- UConcrete02+UStee102 ) 2、Abaqus梁单元+子程序(iFiberLUT- iConcrete05+iSteel05) 附模型文件和两个子程序文件以及使用说明文件
模型文件里的骚操作
附件里的CAE模型藏了个彩蛋——截面纤维划分用了非等间距网格。靠近中和轴的位置网格稀疏,边缘加密到0.5mm级。这样做既能捕捉到混凝土压碎,又不至于让计算量爆炸。
![纤维划分示意图]
(想象这里有个边缘加密的网格图)
调用子程序时最容易翻车的是路径问题。建议把.for文件扔到工作目录后,在Job模块里手动输入子程序名称,别用浏览按钮选择。有次手滑点了浏览,Abaqus居然自动加了绝对路径,换电脑跑模型直接GG。
最后给个暴论:如果滞回曲线出现诡异的捏缩,先检查混凝土受拉强度是不是设成了0(说的就是UConcrete02的ft参数)。别问我是怎么知道的,都是泪...模型包已上传,自取时记得改材料参数,直接用我的数据发论文会被打假(狗头)