本发明专利技术公开了一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法。本发明专利技术一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,包括:根据结构设计参数,建立OpenSees结构有限元分析模型;地震波文件名称命名,编写地震波列表;编写目标调幅峰值列表和地震动时间间隔列表;编写OpenSees输出的数据文件名称命令流;编写OpenSees加载地震波命令流;编写在计算不收敛时自动切换算法命令流;编写在倒塌临界状态分析终止命令流;编写MATLAB软件读取OpenSees软件输出数据并写入到Excel表格中的命令流。本发明专利技术的有益效果:本发明专利技术提出了一种基于OpenSees与MATLAB的逐步增量动力快速分析与数据处理方法,解决了在地震波切换、地震动峰值进行调幅时。

Incremental dynamic analysis and data processing based on OPENSEES and MATLAB

【技术实现步骤摘要】

基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法

本专利技术涉及工程领域,具体涉及一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法。

技术介绍

现代的抗震设计理论是从20世纪初才开始建立起来的。随着人们对地震动特性和结构动力特性理解的不断加深,结构抗震设计理论从最初的静力阶段和反应谱阶段,发展到动力阶段及目前的基于性能(PBSD)的抗震设计理论阶段。逐步增量动力分析(IncrementalDynamicAnalysis,IDA)方法是基于动力弹塑性时程分析,其基本思路是,对于某条特定的地震动输入,通过设定一系列单调递增的的地震强度指标IM(IntensityMeasure),并对每个地震强度指标下的地震输入进行结构弹塑性时程分析,可以得到一系列结构的弹塑性地震响应指标DM(DamageMeasure),这样形成了一条IM-DM曲线(IDA曲线)。与静力弹塑性分析方法相比较,IDA方法是对结构在地震下的动力响应的模拟,故而可以避免静力弹塑性分析因简化而带来的问题。覆盖了从弹性到弹塑性直到结构动力失稳的反应全过程,同时能够反映出结构在不同强度等级地震下的地震需求能力和整体抗倒塌能力,并且还能够体现出结构的强度、刚度及变形的变化过程。传统技术存在以下技术问题:目前,商用软件如PKPM、盈建科、SAP2000、Perform3D等软件均可以进行时程分析,但是,不能批量化的进行逐步增量动力分析分析。商用软件每次只能分析一条地震波,等前一条波分析结束后,才能分析下一条波。而逐步增量动力分析分析需要对数十条地震波并且每条地震波调幅数十次进行分析,如20条地震波,每条地震波调幅20次,则需要分析400次,这对商用软件来说,如果一条一条地震波的手工输入,其工作量是十分复杂,浪费大量时间精力。另外,在数据输出方面更是繁杂,成千上万个输出文件堆积一起,无法快速寻找出有价值的数据指标。

技术实现思路

本专利技术要解决的技术问题是提供一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法。为了解决上述技术问题,本专利技术提供了一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,包括:根据结构设计参数,建立OpenSees结构有限元分析模型;地震波文件名称命名,编写地震波列表;编写目标调幅峰值列表和地震动时间间隔列表;编写OpenSees输出的数据文件名称命令流;编写OpenSees加载地震波命令流;编写在计算不收敛时自动切换算法命令流;编写在倒塌临界状态分析终止命令流;编写MATLAB软件读取OpenSees软件输出数据并写入到Excel表格中的命令流。在另外的一个实施例中,“根据结构设计参数,建立OpenSees结构有限元分析模型”具体包括:梁柱单元端部采用IMK转角弹簧单元,上部单元采用elasticBeamColumnElement与之串联;其中,IMK转角弹簧的具体参数根据截面的设计参数,由公式计算得来;由于构件是由IMK转角弹簧和elasticBeamColumnElement串联形成,所以,上部elasticBeamColumnElement需要对抗弯刚度进行修正,计算公式如下:节点采用Joint2DElement;采用rayleigh阻尼,利用region命令分别为弹性单元和有质量的节点赋予刚度比例系数和质量比例系数,计算过程中采用初始刚度。在另外的一个实施例中,“地震波文件名称命名,编写地震波列表”具体包括:由于输入的地震波是数条甚至是数十条,因此将待分析的每条地震波进行命名,输出数据文件的名称由每条地震波名称决定,此名称亦是MATLAB后处理时寻找的文件名,为简便起见,以阿拉伯数字1,2,3......进行命名;在OpenSees中编写地震波名称列表,记为AA,用于foreach循环。在其中一个实施例中,“编写目标调幅峰值列表和地震动时间间隔列表”具体包括:在OpenSees模型中编写目标调幅峰值列表记为BB,用于foreach循环;在OpenSees模型中利用list命令,编写读取每条地震动时间间隔数组,记为dt_AA,用于识别每条地震波的时间间隔。在其中一个实施例中,“编写OpenSees输出的数据文件名称命令流”具体包括:以每条地震动名称为输出的数据文件夹进行命名,利用filemkdir命令创建正在分析地震波输出文件的文件夹;以每条地震动名称和目标调幅峰值为输出的数据文件进行命名。在其中一个实施例中,“编写OpenSees加载地震波命令流”具体包括:首先,利用open命令打开地震动文件;利用read命令读取地震动文件中数据、lsort命令按递增顺序对地震动数据进行排序,然后,利用lindex命令获取地震动峰值,最后,llength命令获取地震动总步数。在其中一个实施例中,“编写在计算不收敛时自动切换算法命令流”具体包括:计算不收敛时,首先,减小分析步时间,分析步时间调至0.5倍,传递给算法进行分析;再次不收敛时,自动切换积分方法:按下列顺序进行(Krylov加速收敛的牛顿迭代法KrylovNewton)-(牛顿迭代法Newton)-(第一步采用初始刚度,之后采用当前刚度的牛顿迭代法Newton-initialThenCurrent)-(求解非线性残差方程的线性牛顿迭代法NewtonLineSearch)-(修正的牛顿迭代法ModifiedNewton)-(线性迭代法Linear);如切换积分方法仍不收敛时,判定结构到达倒塌临界点,分析终止。在其中一个实施例中,“编写在倒塌临界状态分析终止命令流”具体包括:已判定到达倒塌临界状态,则分析一步,使时程分析结束;利用open--r命令打开输出文件,puts命令写入0.20.2,覆盖掉分析不收敛前的记录,以此作为分析不收敛的标志,close关闭文件;filemkdirFailRecord创建分析失败记录文件夹,open—w命令创建新的.txt文件,记录下此时分析不收敛地震波名称和目标幅值。在其中一个实施例中,“编写MATLAB软件读取OpenSees软件输出数据并写入到Excel表格中的命令流”具体包括:利用MATLAB中的sprintf命令读取输出的文件数据,max函数寻找损伤指标最大值,xlswrite函数,将地震动名称和目标峰值及损伤指标最大值写入Excel表格中的指定位置。基于同样的专利技术构思,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。基于同样的专利技术构思,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。基于同样的专利技术构思,本申请还提供一种处理器,所述处理器用于运行程序,其中,本文档来自技高网...

【技术保护点】

1.一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,包括:/n根据结构设计参数,建立OpenSees结构有限元分析模型。/n地震波文件名称命名,编写地震波列表;/n编写目标调幅峰值列表和地震动时间间隔列表;/n编写OpenSees输出的数据文件名称命令流;/n编写OpenSees加载地震波命令流;/n编写在计算不收敛时自动切换算法命令流;/n编写在倒塌临界状态分析终止命令流;/n编写MATLAB软件读取OpenSees软件输出数据并写入到Excel表格中的命令流。/n

【技术特征摘要】

1.一种基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,包括:

根据结构设计参数,建立OpenSees结构有限元分析模型。

地震波文件名称命名,编写地震波列表;

编写目标调幅峰值列表和地震动时间间隔列表;

编写OpenSees输出的数据文件名称命令流;

编写OpenSees加载地震波命令流;

编写在计算不收敛时自动切换算法命令流;

编写在倒塌临界状态分析终止命令流;

编写MATLAB软件读取OpenSees软件输出数据并写入到Excel表格中的命令流。

2.如权利要求1所述的基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,“根据结构设计参数,建立OpenSees结构有限元分析模型”具体包括:

梁柱单元端部采用IMK转角弹簧单元,上部单元采用elasticBeamColumnElement与之串联;其中,IMK转角弹簧的具体参数根据截面的设计参数,由公式计算得来;由于构件是由IMK转角弹簧和elasticBeamColumnElement串联形成,所以,上部elasticBeamColumnElement需要对抗弯刚度进行修正,计算公式如下:

节点采用Joint2DElement;

采用rayleigh阻尼,利用region命令分别为弹性单元和有质量的节点赋予刚度比例系数和质量比例系数,计算过程中采用初始刚度。

3.如权利要求1所述的基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,“地震波文件名称命名,编写地震波列表”具体包括:

由于输入的地震波是数条甚至是数十条,因此将待分析的每条地震波进行命名,输出数据文件的名称由每条地震波名称决定,此名称亦是MATLAB后处理时寻找的文件名,为简便起见,以阿拉伯数字1,2,3......进行命名;

在OpenSees中编写地震波名称列表,记为AA,用于foreach循环。

4.如权利要求1所述的基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,“编写目标调幅峰值列表和地震动时间间隔列表”具体包括:

在OpenSees模型中编写目标调幅峰值列表记为BB,用于foreach循环;

在OpenSees模型中利用list命令,编写读取每条地震动时间间隔数组,记为dt_AA,用于识别每条地震波的时间间隔。

5.如权利要求1所述的基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法,其特征在于,“编写OpenSees加载地震波命令流”具体包括:

首先,利用open命...

【专利技术属性】

技术研发人员:刘赛,顾冬生,罗国胜,

申请(专利权)人:江南大学,

类型:发明

国别省市:江苏;32

matlab调用opensees,基于OpenSees与MATLAB的逐步增量动力分析与数据处理方法技术相关推荐

  1. matlab调用glpk,基于AMPL建模MATLAB平台调用Gurobi,对HEMs集成的VPP进行优化处理。(第一步-简单HEMs的优化模型建立)...

    基于AMPL建模MATLAB平台调用Gurobi,对HEMs集成的VPP进行优化处理.(第一步-简单的优化模型建立) 概述 当今的电网构成中,低压配电网已经不比以往的被动,随着分布式发电(DERs)慢 ...

  2. matlab信号内插,基于VC++和Matlab的数字信号内插处理系统

    0引言目前,利用并行交替式(Parallalinterleaving)技术,超高速数字化示波器的实时采样速率已突破了10Gsa/s.按照Nyquist定理,这种系统的实时带宽可接近5GHz.在数字化示 ...

  3. 超材料 s参数反演 matlab,一种基于改进K‑K算法的超材料电磁参数反演方法与流程...

    本发明属于测试技术领域,具体涉及一种基于改进K-K算法的超材料电磁参数的反演方法. 背景技术: 超材料是一种新型的人工材料,对电磁波具有独特的物理特性,比如负折射率.负电磁参数等,这些独特的物理特性使 ...

  4. python调用nastran_基于python:Nastran多工况强度分析,根据Excel生成bdf

    工作中时常接触到副车架.扭力梁之类的部件的强度分析,其载荷工况数目较多,通常多达十几个硬点.三十余工况,载荷预处理工作量较大,特别是在甲方载荷给的是Excel表格的情况下,如果根据硬点和载荷工况输入每 ...

  5. matlab声呐模拟,基于VC++和Matlab的交互式主动声呐模拟系统

    1 引言 随着计算机技术的飞速发展,越来越多的模拟训练系统已经配套装备部队,这些模拟训练系统可以有效弥补传统训练方式的不足.首先,对操作人员的训练和培训可以不受时间和空间的限制;其次,应用模拟训练系统 ...

  6. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题

    本帖最后由 gouliang 于 2019-12-23 09:37 编辑 主程序: clc;clear import java.awt.Robot import java.awt.event.* ke ...

  7. matlab 调用函数本身,怎么在matlab自定义函数中再调用一个自定义函数?

    Matlab自定义函数的七种方法1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件.2.函数文件+子函数:定义一个具有多个自定义函数的M文件.3.Inline:无需M文件,直接定义.4.匿名 ...

  8. matlab 异形等高线图,基于UG和MATLAB的连杆模具异形型腔的离散化研究

    宋艳斌 陶丽佳 袁海平 王斌正 王琪 摘要:作为汽车发动机的主要运动件--连杆,其主流加工方式是模锻工艺,其重要加工装备之一是模锻模具,由于连杆外形复杂导致其模具型腔复杂,为提高连杆锻造模具异形型腔的 ...

  9. 基于matlab振动信号处理,基于PC及MATLAB的振动信号处理的实现

    机电工程技术 !""# 年第 $% 卷第 &! 期 图 ! 信号放大电路原理图 基于 '( 及 )*+,*- 的振动信号处理的实现 黄志开 ", !,黄得双 !, ...

最新文章

  1. Java项目:家庭财务管理系统(java+Springboot+ssm+mysql+maven)
  2. 范围查询 BETWEEN AND
  3. android导出apk文件_Android测试工具入门介绍(三)
  4. 推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)
  5. pytorch torch.tensor
  6. 洛谷 P2473 [SCOI2008]奖励关 解题报告
  7. Jquery 使用技巧总结
  8. linux docker安装_Linux -- Docker安装
  9. 整理:状态机的编程思想
  10. 累计独立访客(UV)不低于 1000 是什么意思,怎么推广呢解决1000呢?
  11. Android11裁剪,Andorid 11调用系统裁剪
  12. 自己动手编写CSDN博客备份工具-blogspider之源码分析(1)
  13. 确认OHS版本的方法
  14. 解决PC微信版本过低 1.0.7.33版本及以上版本方法
  15. pthon缺陷检测(机器视觉)
  16. Cotex-M3内核STM32F10XX系列时钟及其配置方法
  17. vue v-for循环改变循环数据视图不更新
  18. 坐标系之间的简单变换
  19. SAP-ABAP性能优化之构建嵌套结构的哈希表
  20. 编程之美学习笔记(三):一摞烙饼的排序

热门文章

  1. layui 时间范围选择
  2. mysql触发器可以使用正则表达式_MySql 使用正则表达式
  3. java项目引入ear包_在Eclipse for EAR Project中添加外部jar文件 - java
  4. Opencv 基本操作五 各种连通域处理方法
  5. ZCU106开发之SFP
  6. 学习路之gis--如何获取中国地图的shp文件(含省级
  7. 我看来csdn学生大本营的两种人。
  8. `echarts`实现关系图拖拽
  9. (附源码)计算机毕业设计Java城市道路智能停车管理系统
  10. Java访问OrientDB数据库实战教程