- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用模态叠加法求固有频率
用模态叠加法求固有频率
模态分析法(振型叠加法)原理
对于n个自由度系统,其在广义坐标系下的运动微分方程为
(1-1)
设在t=0时,有初始条件:
和
通过求解特征值问题,可得系统的固有频率和振型向量
以正则振型矩阵作为变换矩阵,令
(a)
代入方程(1-1),并前乘以正则振型矩阵的转置,得
(b)
∵
令 ---- 是正则坐标系下的激励。
则方程(b)为
(c)
展开后,得
(1-2)
式中 ,为对应第i个正则坐标的激励。
对于方程(1-2)是一组n个独立的方程,每个方程和单自由度系统的强迫振动相同,因此可按单自由度系统中的方法独立地求解每个方程。则由杜哈美积分得方程(1-2)的通解
式中和 是第i个正则坐标的初始位移和初始速度。
∵
∴ (d)
和 (e)
用 前乘以式(d)两端,得
∴
同理,有
写成分量形式
最后,由方程(a),将正则坐标的解变换到原广义坐标,就得到方程(1-1)的解。
(2)在许多工程问题中系统的自由度很多,要想求出系统的所有固有频率和振型向量,计算成本很大,有时甚至是不可能的。由于激励的高频成分很微弱,或者由于系统的高频振动没有激发出来,总之系统的响应中只有较低的几阶振型分量。因此,使用振型叠加法可以使计算大大地简化。
例如,若系统为n自由度,且只需考虑前p(p<<n)阶固有特性,即只需计算出系统前p阶固有频率和振型向量:
则振型矩阵 是一个n×p的矩阵。作如下的线性变换
代入方程(1-1),并前乘以正则振型矩阵的转置,得
(b)
∴
展开后,得
则原广义坐标下的响应为
这种处理方法称为振型截断法。
二、振型叠加法计算步骤
1. 建立广义坐标系下的运动微分方程
给出广义坐标系下初始条件:和
2. 计算固有频率和振型向量
计算主质量:
得正则振型向量:
3. 初始条件变换
4. 激励变换
5. 计算正则坐标系下的响应
正则坐标系下运动微分方程
利用杜哈美积分写出正则坐标系下的响应
6. 写出原广义坐标系下的响应
三、源程序
******************************
* Program to generate the response of an N-DOF structure
* to any arbitrary applied loading using the
* MODE SUPERPOSITION METHOD
******************************
* Program Author : Sanjoy Chakraborty
* Auburn University
******************************
program mode_s
use msimsl
implicit real *8 (a-h,o-z)
real *8 mr,kr
character *12 flin,fout
dimension mr(10,1),cr(10,1),kr(10,1),phi(10,10),tt(20,10),
1 ft(20,10),fr(6000,10),q(6000,10),q1(6000,10),q2(6000,10),
2 qt(10,1),q1t(10,1),q2t(10,1),nfor(10),xmin(10,1),vmin(10,1)
data ndim/10/
*******************************
* Assign I/O Devices and read in system parameters
*******************************
write(*,50)
50 format(///,' Program for Eigensolution and Mode Superposition'
1 ,//,' Program Author : Sanjoy Chakraborty, Auburn University'
2 ,//////,' Enter Input File Name : ')
read(*,'(a)')flin
ope
文档评论(0)