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

首页 结构乌托邦-公众号 【工具】OpenSEES_XML分析结果提取工具[开源]

【工具】OpenSEES_XML分析结果提取工具[开源]

“基于XML优雅处理OpenSEES分析结果
OpenSEES常实用recorder记录分析结果。若采用默认-file记录方式,则会生成如图1所示“无序”的分析结果文件。由于缺少“表头”信息,-file生成的分析结果难以确定每列数据对应的记录对象及响应类型
值得庆幸的是,OpenSEES提供了-xml记录方式。根据xml可获得分析结果所记录的对象及各列数据的响应类型,甚至可获得记录对象的附加信息。以图1的XML分析结果为例,本文件为纤维单元的截面应变记录结果,根据XML信息可获得记录对象的单元编号、节点编号、积分点位置、材料编号等附加信息

图1 OpenSEES输出结果文件示意

开源项目中的OpenSEES.XML基于XML的结构性特征直接对分析结果进行反序列化,完成分析结果的解析工作;开源项目中的OS_XML_Form依赖于OpenSEES.XML,可协助用户绘制并统计XML分析结果数据结构抗震性能设计软件PBSD亦依赖于OpenSEES.XML完成基于构件的抗震性能评估【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案)。点击“阅读原文”查看本开源项目并下载相应工具集

OS_XML_Form

开源项目中的OS_XML_Form依赖于OpenSEES.XML,可协助用户绘制并统计XML分析结果数据
  • 时程结果反序列化
在Time History中选择xml文件可反序列化分析结果;Tags为记录的节点(或单元)编号;Response_Type为xml文件中的响应类型。勾选编号并选择目标响应类型,点击Plot可绘制曲线(如图2所示),Digitial中为相应的绘图数据(如图3所示),可进行复制等操作。在静力分析中,time指荷载倍数;在动力分析中,time指时间。

图2 时程分析结果反序列化(Graph)

图3 时程分析结果反序列化(Digital

  • 单元滞回曲线绘制
在Hysteresis Loops中分别选择X向Y向绘图的xml文件,以推送 【OpenSEES】浅析Newton迭代(三):基于Krylov优化迭代算法 算例为例,X向选择单元截面变形,Y向选择单元内力Tags为记录的单元编号,勾选编号并选择X轴及Y轴目标响应类型,点击Plot可绘制滞回曲线(如图4所示),Digitial中为相应的绘图数据,可进行复制等操作。

图4 单元滞回曲线绘制
  • 自定义滞回曲线绘制
在UserDefine中分别选择X向Y向绘图的xml文件,以推送 【OpenSEES】剪力墙构件及联肢剪力墙结构模拟实例 算例为例,X向选择构件顶点位移,Y向选择支座内力响应,点击Plot可绘制滞回曲线(如图5所示)。

图5 任意滞回曲线绘制

OpenSEES.XML调用基本方法

节点、单元、层间位移角xml类型均继承于BasicXML。本工具集使用简单,下面给出解析xml分析结果,提取对象编号列表及响应类型列表、根据对象编号及响应类型获得响应数据的具体代码。
  1. //传入文件路径完成XML解析

  2. BasicXML result = OpenSeesXML.GetXMLResponse(filePath);

  3. //分析结果是否解析成功

  4. if(!result.isSuccess) return;

  5. //获得响应类型列表

  6. var responseType = result.GetResponseTypeList(false);

  7. /获得对象编号列表

  8. var tagList = result.TagList;

  9. //根据对象编号及响应类型获得响应数据

  10. List<float> response = result[tagList.First(), responseType.First()];

  11. //是否存在时间序列(返回布尔值)

  12. var isTimeEmpty = result.isTimeEmpty;

  13. //获得时间序列

  14. var timeList = result.TimeList;

OpenSEES.XML拓展适用对象
OpenSEES.XML可支持节点(NodeResponse)、层间位移角(DriftResponse)及单元(ElementResponse)分析结果的反序列化。ElementResponse目前可支持的响应类型至少包括有:
  • 单元层次的响应,如构件内力(globalForce、localForce)等;

  • 截面层次响应,如纤维单元截面曲率(deformation)、分层壳积分点内力响应等;

  • 材料层次响应,如纤维应力应变(strain、stress)等。
对于未知的响应类型,可根据开源项目中的指引文件,在OpenSEES.XML中补充属性值,并重写标签属性及部分Get函数实现对象拓展。亦可将xml文件在Issues中进行登记,将不定时进行维护更新。

图6 开源项目中的指引文件
点击“阅读原文”可查看本开源项目下载相应工具集

精彩回顾:

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

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

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

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

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

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

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

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

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

【PBSD】一键弹塑性报告功能演示

【PBSD】【PERFORM-3D】性能前馈集中塑性铰单元的定义、优势与测试

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

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

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

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

【广东省性能设计规程】性能设计基本方法与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】PM截面分析实例

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

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

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

  • 编程

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

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

【编程】基于神经网络预测加速度反应谱——SRP第一课

【编程】基于C#绘制反应谱曲线——SRP第一课
  • 工具

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

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

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

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

钢结构地图

上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

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

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

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

微信扫一扫关注我们

关注微博
返回顶部