求教关于结构模态的特征值问题
求结构模态其实就是求其特征值问题,我想问下,我自己通过MATLAB编程选取四边形单元作,每个节点2个自由度,一个单元有8个自由度,然后总共有400个自由度,通过MATLAB算它的自由模态(平面方向的振动X Y),为什么我算出来的特征值存在负值,且没有特征值为0的刚体模态(比较接近的有一些)。我反复检查了组结的刚度矩阵和质量矩阵应该没什么问题。我想问问各位专家,如果特征值为负存在,它代表什么样的物理意义?我这种情况可能存在吗?
谢谢指点!
{:{39}:}急! 本帖最后由 wei_x 于 2010-10-20 15:29 编辑
以前用4节点12自由度的板单元做过悬臂板的模态分析,8自由度的去掉了节点的转角
http://forum.vibunion.com/thread-96168-1-1.html
特征值为负,可能是边界条件,刚度阵或者质量阵有问题 我反复检查了组结的刚度矩阵和质量矩阵应该没什么问题。--怎么保证?
如果矩阵非对角元素有些奇大,数值舍入误差也有可能,但是应该不常见 楼主不必一上来就急着计算400自由度的问题,可以先构造简单的问题,例如8个节点3个单元的问题:
1----2----3----4
| | | |
5----6----7----8
然后检查,【程序生成的】与【手动计算、组集得到的】质量矩阵和刚度矩阵,以及最后的计算结果是否一致。
如果在几个这样的算例之下(这几个算例需覆盖常用的边界约束),手算的和程序的都一样,那么才基本可以断定是楼主程序的问题不大,也许是所关注问题的特殊性导致了问题。
另外,楼主还可以回想一下是不是每一个模块的单元测试都做过了、做充分了,程序的问题都不是大问题,但是需要细心排查。往往是一些模块存在的BUG导致整个系统出现非常奇怪的行为。
页:
[1]