找回密码
 注册
Simdroid-非首页
查看: 6069|回复: 63

【原创】ANSYS模型的Model Order Reduction(提高瞬态计算速度数百倍)

[复制链接]
发表于 2011-4-9 03:50:58 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 iomega 于 2011-4-19 09:05 编辑

最近在做一些Fast simulation的工作,用到了Model Order Reduction (MOR),觉得十分有用,在这里推荐给大家,并且附上ANSYS 和Matlab的source code.现在最流行的MOR主要基于Krylov subspace projection method, 基本原理如下:
假设原来的linear system model的node数是N (NxN的矩阵), N ~ 100000,  我们可以创建一个N x r 的矩阵,把原来NxN的矩阵project到 r x r的矩阵上去 (r<<N),这样求解过程可以在这个小矩阵上完成,然后再把结果project回到原来的NxN的矩阵空间上去。
以下是源程序介绍:
(1) Example.mac: ANSYS mac file 用来建立一个三维的热传导模型,并加上载荷。用户必需设置文件里的SOLVE_OPTION变量。
取0时,输出模型的heat capacitance 和 heat conductance 矩阵(用HBMAT commands),分别保存到C_File.dat和K_file.dat(Thermal load 也保存到K_File.dat)。
取1和2时分别做steady-state和transient simulation。


(2) MOR_ODE.m: matlab 程序,读取K_File.dat和C_file.dat进行MOR,并且和ANSYS 结果(ansys.dat,在Example.mac里SOLVE_OPTION=2)的对比。用户必需设置Solver_Option = 1调用matlab的lu分解函数。(Solver_Option = 0 是使用external 的 MOR_MUMPS.exe程序做matrix factorization,速度可提高数倍。MOR_MUMPS.exe是自己写的C语言程序,用到了GNU MUMPS linear solver library和BLAS library, 需用GNU fortran 和 gcc 编译).

ANSYS模型的MOR步骤:
(1): 在ANSYS里建模,mesh,以及加载 (不必求解)。
(2): 用HBMAT命令输出system matrice文件(Example.mac里有对应的code).
(3): 在Matlab里读入system matrice文件进行MOR(code在MOR_ODE.m里).
(4): 在Matlab里用ODE solver求解并project solution back 得到原模型上的解。
限制: 模型必需是linear system response model.


ansys.dat 中包含了用ANSYS得到的MX和MN点的温度变化曲线, 用来和MOR结果做比较。

下图显示了用matlab/MOR求解ANSYS模型结果和直接用ANSYS simulation的结果的比较,可以看出结果完全一样,求解速度提高400倍!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

发表于 2011-4-9 21:37:09 | 显示全部楼层 来自 河北秦皇岛
Simdroid开发平台
版主  我们想念您啊  没有你的这个版块真的是不完整的   这个帖子绝对是精品,学习了。
回复 不支持

使用道具 举报

发表于 2011-4-12 18:07:21 | 显示全部楼层 来自 湖南长沙
看得不太懂,还要细细研究。
回复 不支持

使用道具 举报

发表于 2011-5-11 16:15:06 | 显示全部楼层 来自 湖北宜昌
这也行啊 太强大了
回复 不支持

使用道具 举报

发表于 2011-5-16 14:33:21 | 显示全部楼层 来自 北京
研究下,谢谢楼主
回复 不支持

使用道具 举报

发表于 2011-5-18 20:50:57 | 显示全部楼层 来自 北京
好例子,楼主辛苦!
回复 不支持

使用道具 举报

发表于 2011-5-18 20:55:19 | 显示全部楼层 来自 北京
好例子,楼主辛苦!
回复 不支持

使用道具 举报

发表于 2011-5-24 21:42:22 | 显示全部楼层 来自 黑龙江哈尔滨
本帖最后由 LION_ARTHAS 于 2011-5-24 21:44 编辑

帖子太耀眼了,对于我们这些搞散热的真是帮助太大了,节约了时间,提高了效率,如果这样映射了之后不影响收敛性那真是无敌了

顺便请教两个问题:
这个东东能用于WORKBENCH么?
另外版本有限制么,比如v13需要对应matlab2010之类的
非常感谢Ω版主
回复 不支持

使用道具 举报

发表于 2011-5-26 19:19:21 | 显示全部楼层 来自 湖南长沙
版主你好,我现在有一个关于ansys热力耦合的很棘手的问题,急需要你的帮助,麻烦能留个QQ号码吗?(主要问题是一个点热源作用在各向同性的半无限体上,求它的应力分布,不知道点热源怎么加载,以及设置些什么参数)
时间很紧,麻烦版主多多帮助,非常感谢!!!!
回复 不支持

使用道具 举报

发表于 2011-6-17 12:27:32 | 显示全部楼层 来自 江苏南京
高深,不懂,先旁观

瞻仰lz的英姿
回复 不支持

使用道具 举报

发表于 2011-6-21 23:52:05 | 显示全部楼层 来自 浙江台州
matlab都行,太强大了,这个还真是第一次见到,学习了。
回复 不支持

使用道具 举报

发表于 2011-7-4 15:16:13 | 显示全部楼层 来自 山西太原
谢谢楼主,很好的资料
回复 不支持

使用道具 举报

发表于 2011-7-15 11:28:01 | 显示全部楼层 来自 江苏镇江
感觉很深奥啊,学习中
回复 不支持

使用道具 举报

发表于 2011-11-16 14:52:29 | 显示全部楼层 来自 大连理工大学
瞻仰楼主的英姿。。。 +1
回复 不支持

使用道具 举报

发表于 2011-11-25 22:14:46 | 显示全部楼层 来自 陕西西安
楼主是我学习的榜样!顶
回复 不支持

使用道具 举报

发表于 2011-11-28 22:29:11 | 显示全部楼层 来自 北京
mark留着以后研究!
回复 不支持

使用道具 举报

发表于 2012-1-9 15:29:50 | 显示全部楼层 来自 江苏镇江
能用于workbench吗?
回复 不支持

使用道具 举报

发表于 2012-1-11 11:25:09 | 显示全部楼层 来自 上海
虽然现在还不是很看得懂,做个mark,再回来研究这个问题
回复 不支持

使用道具 举报

发表于 2012-3-22 18:28:54 | 显示全部楼层 来自 广东深圳
恩,学习一下
回复 不支持

使用道具 举报

发表于 2012-5-15 15:11:08 | 显示全部楼层 来自 陕西西安
版主,这个方法确实不错,我现在也在用matlab调用ansys,但分析的是热-力耦合非线性问题,有可能通过这种途径实现吗?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 19:17 , Processed in 0.054804 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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