复杂形态钢结构设计培训班

首页 结构乌托邦-公众号 【OpenSEES】PM截面分析实例

【OpenSEES】PM截面分析实例

“基于OpenSEES实现PM截面分析
掐指一算,已好久没有起笔写OpenSEES相关推送。去年暑假安排师弟静聪基于OpenSEES实现PM截面分析。静聪虽没有OpenSEES使用经验,但经过一小段时间的努力,还是出色完成了本项任务。最近稍得空,与静聪整理了本算例,分享给大家。
由于本公众号与OpenSEES相关的算例较多,因此新建专门的开源项目,以储存各推送中的OpenSEES算例,包含【OpenSEES】剪力墙构件及联肢剪力墙结构模拟实例【Perform3D】【OpenSees】SDOF非线性动力时程分析的实现与算例 等。点击“阅读原文”即可查看该开源项目。

实例介绍

  • PM分析
基于截面分析可绘制构件截面的PM曲线(或PMM曲线)。PM曲线横坐标为抗弯承载力,纵坐标为轴向力;PMM曲线的XY坐标为截面2轴3轴下的抗弯承载力,Z坐标为轴向力。图1为结构抗震性能设计PBSD(【PBSD】超限工程的免费好助手:结构抗震性能设计软件PBSD功能简介)提供的PMM曲线图,通过PMM曲线可直观反应构件的抗弯承载力富裕度

图1 PBSD中的PMM分析功能
  • PM分析实例的基本架构

整个TCL代码分为OS.tcl、Model.tcl、Mat&Sec.tcl、Function.tcl四个文件。其中,OS.tcl为PM分析的主入口,Model.tcl基于zeroLengthSection单元定义分析模型,Mat&Sec.tcl为用于截面分析的纤维截面及纤维材料信息Function.tcl储存PM分析所需的辅助函数。本算例具有以下特点:

  • PM分析实例的控制参数

PM分析的控制参数如下所示。tension_strain_limitcompress_strain_limitis_both_control为控制轴向加载及截面分析进程的基本变量,Section_angle控制截面分析的加载方向,prt_num控制PM分析的数据点数目。
  1. #Tension Strain to Stop Analysis

  2. set tension_strain_limit 0.05

  3. #Compression Strain to Stop Analysis

  4. set compress_strain_limit -0.02

  5. #Analysis Control by Two Limits or Only One

  6. #"false": When one limit is reached, Stop Analysis

  7. #"true": Only When two limits have both reached, Stop Analysis

  8. set is_both_control "false"

  9. #Section angle to +Y Axis

  10. set Section_angle0

  11. #PMCurve Point Numbers

  12. set prt_num 20

  • PM分析实例的基本流程
在OpenSEES中,首先需确定截面的轴力边界值,之后以某一轴力为增量获得一系列轴力值,通过截面分析计算每个轴力下的抗弯承载力值(一般可取最大弯矩值),从而可获得绘制PM曲线的所需数据点集。
  • 确定截面局部向量
  1. #Change angle to radian

  2. set PI 3.1415926

  3. set Section_radian[expr $Section_angle *2* $PI /360]

  4. ##Caculate the local vector

  5. set yp1 [cos $Section_radian]

  6. set yp2 [sin $Section_radian]

  • 确定轴力边界及轴力增量
  1. #Get the Min Axialload (Compress)

  2. set CompressLimit[Get_AxialLoad_Limit $tension_strain_limit $compress_strain_limit 1]

  3. #Get the Max Axialload maximum (Tension)

  4. set TensionLimit[Get_AxialLoad_Limit $tension_strain_limit $compress_strain_limit -1]

  5. #Define the delta of AxialLoad

  6. set AxialLoadDelta[expr ($TensionLimit - $CompressLimit)/ $prt_num ]

  • 通过截面分析计算每个轴力下的抗弯承载力值
  1. #For each AxialLoad and Get Moment Capacity

  2. for{ set Axial_Load $CompressLimit }

  3. { $Axial_Load <= $TensionLimit }

  4. { set Axial_Load[expr $Axial_Load + $AxialLoadDelta]}{

  5. #Moment Capacity

  6. set moment [Get_Moment_Capacity $Axial_Load $tension_strain_limit $compress_strain_limit $is_both_control $yp1 $yp2]

  7. #AxialLoad

  8. set axialLoad [format "%.3f"[expr -1E-3* $Axial_Load]]

  9. #Append the MomentList and AxialloadList

  10. append momentmaxlist " " $moment

  11. append axialloadlist " " $axialLoad

  12. }

  • PM分析实例所用函数简介

  • PM分析实例的运行效果

图2 PMM实例运行效果

实例测试

外圆内十字劲截面为例,将实例分析结果与XTract分析结果进行对比(XTract结果来自推送【PBSD】纤维剖分与PMM截面分析文档——柱单元篇)。截面信息如图3所示。

图3 外圆内十字劲截面信息

采用推送【OpenSEES】24类纤维截面剖分TCL函数 完成外圆内十字劲截面的剖分,其截面定义代码如下:
  1. #Source SectionMesh Method

  2. source "2_SectionMesh.tcl"

  3. #Define Type 105 Section

  4. Fiber_Section_Proc_105160020204002002020300150202400512

分别以0度、45度及90度为加载方向进行PM分析,PM曲线对比结果如图4所示。由图4可知,本OpenSEES实例PM分析结果与XTract基本吻合

图4 PM曲线对比

点击“阅读原文”可查看本实例!

精彩回顾:

【会议总结】OpenSEES Days Eurasia 2019 in PolyU

【PBSD】【OpenSEES】2019年精选推送集锦

【编程】Python效率测试与调用.Net的基本方法

【编程】分段解析法及多软件反应谱求解结果对比探究[开源]

【YJK】弹性时程分析如何考虑周期折减系数

【YTO】YJK to OpenSees:框架结构算例验证

【YTO】YJK to OpenSees:剪力墙结构算例验证
  • PBSD

【PBSD】2019年更新历史——结构抗震性能设计软件PBSD

【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介

【PBSD】V1.0.5.0版正式发布:免费地震动工具箱之教学视频

【PBSD】弹性时程分析的实现与功能测试

【PBSD】【PERFORM-3D】YTP导模工具使用手册

【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案

【PBSD】人工波生成功能测试 [开源]

【广东省性能设计规程】与国家高规对比浅谈反应谱的修正与完善

【广东省性能设计规程】性能设计基本方法与PBSD的实现
  • OpenSees

【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0

【OpenSees】浅析两类纤维单元:位移元与应力元

【OpenSEES】24类纤维截面剖分TCL函数

【OpenSees】浅析纤维单元的数值积分方法

【OpenSees】浅析分布塑性铰单元的数值积分方法

【OpenSees】应力元纤维单元的Localization Issues

【OpenSees】宏观梁柱单元的强度软化模拟

【OpenSees】浅析剪力墙宏观单元:MVLEM

【OpenSees】浅析剪力墙宏观单元:SFI-MVLEM

【OpenSees】浅析剪力墙宏观单元:分层壳单元

【OpenSEES】浅析迭代(一)

【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法

【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法

【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功

【OpenSees】如何利用应变控制截面分析的进程

【OpenSEES】低周往复加载实例:荷载位移双控

【OpenSees】SDOF非线性动力时程分析的实现与算例

  • 工具

【工具】PC端文字识别小工具2.0[Mini_OCR]

【工具】OSRun [OpenSees运行辅助工具][开源]

【工具】FSV [OpenSees纤维截面可视化工具][开源]



本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2020/05/0299096c08/
上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部