L o a d i n g . . . . . .

[代码] 基于Matlab的(单)多自由度动力学代码分享

写在前文

多自由度分析是现代工程和科学研究中不可或缺的一部分。它涉及到对复杂系统的动力学行为进行精确描述和预测。分享下多自由度的源代码,仅供学习。该程序适用于单自由度或多自由度计算分析~

相关阅读:

【JY】代码|极简反应谱分析

【JY】基于Matlab的双线性滞回代码编写教程

【JY】动力学利器 —— JYdyn函数包分享与体验

代码详解

步骤一:

构建质量矩阵以及刚度矩阵

步骤二:

构建 阻尼矩阵

如果为单自由度计算,则采用常规计算得到阻尼,若为多自由度计算则采用瑞利阻尼进行计算。

步骤三:

构建 荷载矩阵

步骤四:

采用Newmark-β法进行计算

步骤五:

进行数据整理

步骤六:

结果展示

运行代码可得到相关结果:包括选取楼层的 绝对加速度、速度、位移,以及振型。

代码验证

采用SAP2000进行建模对比,对比结果如下(将代码结果做1~10个单位的偏移,否则数据重叠看不出):

小结

1、该代码可根据科研需求进行改造相关的 M、C、K、F矩阵,进行求解。已适用于结构风工程、地震工程、冲击力学等。

2、改代码可从迭代方式进行实时对相关矩阵重新组装,实现非线性分析,如对K做实时更新,可得到位移型滞回的非线性分析结果,对M做实时更新可得到结构的动态质量随时间或者上一步响应的变化。

3、由于该代码架构比较简单,适合于小体量的结构矩阵,若需要更大体量的结构计算,仍需要引入Jydyn函数库。

【JY】动力学利器 —— JYdyn函数包分享与体验

关注公众号,后台回复:“多自由度代码”,即可获得代码进行体验!

更多精彩,关注建源学堂!

欢迎关注微信公众号: 建源学堂