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

Posted 结构乌托邦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工具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完成基于构件的抗震性能评估()。点击“阅读原文”查看本开源项目并下载相应工具集

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

OS_XML_Form

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

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

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

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

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

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

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

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

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

图5 任意滞回曲线绘制

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

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

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

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

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

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

精彩回顾:



  • PBSD






  • OpenSees









  • 编程

  • 工具

以上是关于工具OpenSEES_XML分析结果提取工具[开源]的主要内容,如果未能解决你的问题,请参考以下文章

Android取证工具

Android取证工具

开源项目成熟度分析工具-利用github api获代替码库的信息

ARCGIS同一shp内的图形重叠部分提取出来

干货|数据挖掘的8个最佳开源工具

Elasticsearch性能优化实战指南