找回密码
 注册
查看: 3927|回复: 2

OF中求解时是存储了系数矩阵么?

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

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

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

x
好像是lduMatrix存的吧
这样做对于大规模问题是不是太占空间呢?
如果500万单元,每个单元5个变量,矩阵是2500万阶,每行的非零元素至少是50个左右吧,这不是有十几亿个非零元素。每个浮点数用双精度,8字节。那矩阵都几十G上百G了吧

[ 本帖最后由 quaintchewster 于 2010-12-4 22:19 编辑 ]
发表于 2011-1-10 14:18:06 | 显示全部楼层
好像是lduMatrix存的吧
这样做对于大规模问题是不是太占空间呢?
如果500万单元,每个单元5个变量(如果采用分离式算法,不存在这个问题)
,矩阵是2500万阶,
每行的非零元素至少是50个左右吧,
(这个就不一定了,一般六面体,每行的非零元素仅6个)
这不是有十几亿个非零元素。每个浮点数用双精度,8字节。
那矩阵都几十G上百G了吧
 楼主| 发表于 2011-2-13 20:37:17 | 显示全部楼层
原帖由 liuhuafeifei 于 2011-1-10 14:18 发表
好像是lduMatrix存的吧
这样做对于大规模问题是不是太占空间呢?
如果500万单元,每个单元5个变量(如果采用分离式算法,不存在这个问题)
,矩阵是2500万阶,
每行的非零元素至少是50个左右吧,
(这个就不一定了 ...


如果采用分离算法,确实矩阵阶数可以大大下降。500万单元,矩阵就是500万阶。
在不可压缩流里面,格式的插值模板较小,六面体单元情况下矩阵带宽是7(6个相邻单元加上中心单元本身)
那么矩阵非零元素个数是3500万。双精度下内存消耗大约260M。确实不太大,但也不小。

但是在可压缩流计算领域,通常采用耦合求解,500万单元,5个变量,那就是2500万阶的矩阵。同时由于耦合求解,矩阵带宽也增加。而且由于多采用非线性格式(人工耗散和限制器导致),格式模板扩大导致带宽扩大,而且精确的系数矩阵的计算很麻烦,所以一般是不存储精确系数矩阵的。最多存储近似系数矩阵,即使这样的矩阵计算也很麻烦。

那么,我可否初步得出结论。OpenFoam的设计主要还是针对不可压缩的,而不是针对可压缩流动计算的。

[ 本帖最后由 quaintchewster 于 2011-2-13 20:38 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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