声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6895|回复: 14

[Fortran] 请教用LAPACK求解广义特征值问题

[复制链接]
发表于 2010-4-9 21:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
对于Ax=λMx,其中M是对角矩阵,并且对角线上有零元素,其它元素均为正实数,请问用FORTRAN里自带的LAPACK能求解这类特征值问题吗?LAPACK的哪个函数能求解呢?谢谢!
回复
分享到:

使用道具 举报

发表于 2010-4-10 03:43 | 显示全部楼层
可以求。你看看dsygv,dsygvd,具体哪个忘记了,看源程序的说明。
 楼主| 发表于 2010-4-10 14:26 | 显示全部楼层

回复 沙发 Seventy721 的帖子

您好!请问你有源程序的说明吗?我虽然在网上找了一些,但是里面对函数里的参数没有说明。另外,我试过sspgv这个函数,好像不行,ssygv这个函数FORTRAN好像不能直接调用,请问如何解决?多谢!
 楼主| 发表于 2010-4-10 15:12 | 显示全部楼层
我刚才查了一下,好像dsygv也只能用于求解B是正定的矩阵,可我的问题中B只是半正定的,请问还有什么函数可以求解吗?多谢赐教
发表于 2010-4-10 19:19 | 显示全部楼层
.
    楼主所述“对于Ax=λMx,其中M是对角矩阵,并且对角线上有零元素,其它元素均为正实数,...”首先应该研究一下,针对所说的这种系统物理上是不是存在固有频率,或者对应的矩阵是不是存在特征值,然后才是寻找合适的求解方法. .. .

   一般的概念,质量矩阵或刚度矩阵主对角元都不能为〇,也不可以为负值,这样才存在特征值。...

    楼主所述的系统能说说实际物理上是怎样一个系统....
发表于 2010-4-11 02:59 | 显示全部楼层
我也查了一下,dsygv确实也需要B正定。信息有误,不好意思。

如果B代表质量矩阵,则对角元素为零意味着对应节点(或单元)无质量或者质量可以忽略不计。楼住可以采用子结构法将零质量自由度凝聚掉,这样B矩阵就是正定的了。
 楼主| 发表于 2010-4-11 08:21 | 显示全部楼层

回复 5楼 欧阳中华 的帖子

我用MATLAB里的eigs函数求解就能得到特征值。由于我在形成质量阵时采用的是集中质量矩阵,我算得是一个平面弯曲梁,因为我听说MATLAB里求解特征值就是集成了LAPACK函数库,所以我想也许LAPACK里有函数能求解这类问题。谢谢赐教!
发表于 2010-4-11 08:42 | 显示全部楼层
.
    系统生产振动应该所有自由度对应的质点处于平衡位置,而且是稳定平衡,稳定平衡意味着该自由度质点离开平衡位置后有趋于回到平衡位置的能力,这种能力就是体现为位移的刚度和加速度的关心,如果质量矩阵和惯性矩阵任一对角元元素值为〇,那么就意味着相应自由度对应的质量或刚度为〇,随之这个自由度处于稳定平衡状态也就破坏了,不在具备产生振动的必要条件,模型化也就不成立了. . .
 楼主| 发表于 2010-4-11 08:47 | 显示全部楼层
我做的是一个平面弯曲梁结构的振动模态分析,采用的是最简单的欧拉梁,即只有弯曲位移和转角,不考虑剪切,但是只有节点上加集中质量,采用集中质量法形成质量矩阵,(是为了与PATRAN 计算的结果比较,)所以质量矩阵对角线上出现了零元素。是不是这样就不能把零质量自由度凝聚掉了,因为它对应着转角自由度?谢谢!
发表于 2010-4-11 11:00 | 显示全部楼层

回复 9楼 helenyuan 的帖子

可以凝聚。只要对应质量为零就可以用子结构法凝聚。我以前做过一个模型就是这样的。那个模型里有个复杂的网状结构,其质量很小,但是其刚度对全局动力性能影响很大。所以质量忽略为零但是刚度保留。凝聚后这个结构相当于一个超级单元。
发表于 2010-4-11 11:01 | 显示全部楼层
原帖由 helenyuan 于 2010-4-11 08:21 发表
我用MATLAB里的eigs函数求解就能得到特征值。由于我在形成质量阵时采用的是集中质量矩阵,我算得是一个平面弯曲梁,因为我听说MATLAB里求解特征值就是集成了LAPACK函数库,所以我想也许LAPACK里有函数能求解这类问题 ...


你能查到matlab里面具体用了那个LAPACK函数吗?
发表于 2010-12-31 08:50 | 显示全部楼层
你可以试试dggev。不过我其实想知道的是它的函数用的是什么算法原理。
发表于 2011-9-9 10:53 | 显示全部楼层
您好感谢您的解释,我是Magic, 最近接触到GPU版本的Lapack函数库.性能是Intel Lapack函数库的10倍. 不知道您能不能也一起加入比较. 名字 CULAPACK, 您可以通过13625297304 联系我. 如果您有兴趣的话.我们很乐意请您试用.
发表于 2011-9-12 18:23 | 显示全部楼层
回复 13 # emagic_cn1 的帖子

CULA原来是付费的。还是用CLAPACK吧。
发表于 2011-9-23 20:15 | 显示全部楼层
上边的兄弟说的很对
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 10:36 , Processed in 0.057021 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表