|
楼主 |
发表于 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 编辑 ] |
|