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

首页 结构乌托邦-公众号 【编程】非线性动力时程分析THA [含C#源码]

【编程】非线性动力时程分析THA [含C#源码]

“简单实现单质点体系非线性动力时程分析

半个月前看到SAUSAGE的推送 动力反应数值分析方法新手入门(附源码),小小刺激了下神经,因此也计划着抽空写一期关于动力时程分析的推文。公众号内与时程分析相关的推送也不少,感兴趣的可以看看【工具】激励响应+反应谱计算【工具】NMDOF[非线性多自由度体系分析程序]

点击“阅读原文”可下载本文工具THA,公众号主页回复“动力时程分析”下载源码

图1 THA基础界面

选用《结构动力学》(刘晶波主编)习题5.2做为本文算例。部分版本教材中质量单位出现错误,质量单位应为t。(本文算例与SAUSAGE推送 动力反应数值分析方法新手入门(附源码)相同)

图2 本文算例

弹性时程分析

基于图2算例进行动力弹性时程分析不同积分步长下的系统响应时程曲线如图3-图5所示。不同积分步长下的单质点体系最大响应如下表所示。积分步长为0.01s时,不同积分方法的求解结果基本相同,因此可认为0.0578m为该激励下的最大响应精确解。

利用精确解可求得在0.2s积分步下不同求解方法的相对误差,可得:杜哈梅积分与Newmark线性加速度法的精度较高,Newmark常加速度法虽无条件稳定,但精度明显低于另外两种分析方法


图3 弹性时程分析(0.01s积分步长)

图4 弹性时程分析(0.2s积分步长)

图5 弹性时程分析(0.01s积分步长)(局部放大)

非线性时程分析

动力反应数值分析方法新手入门(附源码)利用中心差分法进行非线性求解。中心差分法求解非线性反应较为简单,仅需将计算抗力的有关项进行修改即可。当采用Newmark法进行非线性求解时,则需引入增量平衡方程,无法避免的需要将体系割线刚度替代为切向刚度,如图6所示。

图6 非线性动力响应求解简介(来源网络)

切线刚度替代割线刚度将产生误差,因此Newmark法需引入迭代求解方法来降低误差。Newton法修正的Newton法是常见的数值迭代方法,如图7所示。Newton法采用不断变化的切线刚度,而修正的Newton则在不同的迭代步中保持刚度不变

Newton法收敛速度快,但需在每次迭代中修改刚度矩阵;修正的Newton法在收敛速度慢,但无需修改刚度矩阵,一定程度上避免刚度退化过度引起的矩阵奇异

图7 Newton迭代

THA采用Newmark法进行非线性求解,引入了Newton_Raphson迭代法,具体可见源码。当积分步长为0.01s时,非线性求解结果如图7所示,最大响应为0.0824m,与推送 动力反应数值分析方法新手入门(附源码)求解结果相同。

图8 非线性时程分析(0.01s积分步长)

源码简介

THA源码类图如图9所示。MainForm类主要为窗体控件提供必要的方法,包括绘图读取文件输出文件等

  • 若对C#绘制曲线图感兴趣,可看Draw_Response函数;

  • 读取文件可看Read_File_Button_Click函数:函数采用OpenFileDialog类提供通用对话框,用户可使用对话框来指定一个或多个要打开的文件的文件名;函数采用StreamReader类实现TextReader,通过特定编码从外部文件的字节流中读取字符。

  • 输出文件可看Out_Time_History函数,函数采用StreamWriter类实现TextWriter,通过特定编码向流中写入字符。

图9 THP源码类图

Tim_His_Respones是THA的主要求解类,类详细信息如下表所示。类中唯一的公有属性Response_Dict用于储存动力时程响应分析结果,键为时间,值为位移响应;类中唯一的公有方法为类的构造函数Tim_His_Respones,该构造函数包含重载,分别用于弹性时程求解和非线性时程求解。

枚举Sovle_Method是构造函数Tim_His_Respones的传参,用于确定时程分析的求解方法Tim_His_Respones对象在构造时即完成动力时程分析,可利用对象的公用属性Response_Dict获得时程分析结果。

点击“阅读原文”可下载本文工具THA,公众号主页回复“动力时程分析”下载源码

若觉得本文有帮助,欢迎打赏支持作者

下周推文将介绍如何利用PERFORM-3DOpenSees进行单/多质点体系非线性动力时程分析。敬请期待!

精彩回顾:

【编程】基于.NET的CAD二次开发(入门篇)

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

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

  • OpenSees

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

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

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

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

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

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

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

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

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

【OpenSees】常见问题解决方法(一)

【OpenSees】常见问题解决方法(二)

  • Perform3D

【Perform3D】基于FEMA-356的钢框架性能分析

【THPP】某超限超高层建筑结构的性能分析

【THPP】某超限超高层建筑结构的IDA分析

【Perform3D】橡胶隔震单元初探

  • 拓扑优化

【拓扑优化】浅谈拓扑优化(一)

【拓扑优化】浅谈拓扑优化(二)

【拓扑优化】浅谈拓扑优化(三)

  • 工具

【工具】THPP(PERFORM-3D后处理程序)

【工具】OSV2.0 [OpenSees可视化工具]

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

【工具】GMI2.0 [地震波智能截波工具]

【工具】Ductility(延性系数计算工具)

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

【工具】CC-Constitution [约束混凝土本构计算工具]



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

作者: ganggouren

为您推荐

发表回复

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

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

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

微信扫一扫关注我们

关注微博
返回顶部