【JY】基于Matlab的(单)多自由度动力学代码分享
写在前文
多自由度分析是现代工程和科学研究中不可或缺的一部分。它涉及到对复杂系统的动力学行为进行精确描述和预测。分享下多自由度的源代码,仅供学习。该程序适用于单自由度或多自由度计算分析~
相关阅读:
代码详解
步骤一:
构建质量矩阵以及刚度矩阵
步骤二:
构建 阻尼矩阵
如果为单自由度计算,则采用常规计算得到阻尼,若为多自由度计算则采用瑞利阻尼进行计算。
步骤三:
构建 荷载矩阵
步骤四:
采用Newmark-β法进行计算
步骤五:
进行数据整理
步骤六:
结果展示
运行代码可得到相关结果:包括选取楼层的 绝对加速度、速度、位移,以及振型。
代码验证
采用SAP2000进行建模对比,对比结果如下(将代码结果做1~10个单位的偏移,否则数据重叠看不出):
小结
1、该代码可根据科研需求进行改造相关的 M、C、K、F矩阵,进行求解。已适用于结构风工程、地震工程、冲击动力学等。
2、改代码可从迭代方式进行实时对相关矩阵重新组装,实现非线性分析,如对K做实时更新,可得到位移型滞回的非线性分析结果,对M做实时更新可得到结构的动态质量随时间或者上一步响应的变化。
3、由于该代码架构比较简单,适合于小体量的结构矩阵,若需要更大体量的结构计算,仍需要引入Jydyn函数库。
完
更多精彩,关注建源学堂!
关注 建源学堂 公众号,并回复“多自由度代码”可获得上文代码。
点赞 10 评论 1 收藏 14