因为最近需要重新用到pytorch,而且在颤振分析时遇到一些不理解的问题,所以用python重新学习了振动分析(程序太长就不放这里了,回头整理下放github算了),准备自己手撸一个时域结构动力学仿真程序。
结构动力学
基础
噪音来自部分振动能量在空气中发散,故噪音和振动问题的研究方向是一致的,而振动问题的研究基础是结构动力学。
静力学研究在定力作用下的位移,基础是外驱力和静刚度引起的回弹力的平衡,动力学研究在非定力作用下的位移,基础是外驱力,惯性力,阻尼力,回弹力的平衡,本质上都是力的平衡(达朗贝尔原理,D'Alembert's principle)。对力的平衡方程求解,就可以得到响应位移的公式,有了这个方程后就可以根据初始条件计算单自由度刚体响应,结合编程学习振动基本原理,并在遇到响应问题时反推可能原因。
本文公式引用自克拉夫的《结构动力学》,注意不同求解过程是基于不同的假设,这导致不同公式是适用于不同前提下。
无外载自由振动
使用python结合前述位移公式描绘曲线如下图所示,与书本曲线趋势一致,这里的两个关键概念,一个是圆频率和振动频率的差别(f=w/2pi),一个是阻尼比影响衰减速度(临界阻尼时正好一周期内完成振动衰减,实际阻尼与临界阻尼之比即为阻尼比,通过调整输入参数观察程序输出,可以看到不同参数特别是阻尼比的影响):
单个周期载荷简谐振动