dumashu 发表于 2011-1-25 18:36:13

FEM中节点排序有啥用?

本帖最后由 dumashu 于 2011-1-25 18:50 编辑

如果压缩方式使用skyline,通过reorder nodes可以reduce the profile,进入减少空间存储。
      但是现在的求解器大部分格式都是CSR或者CSC,亦或者COO。通常这种求解器都会在内部对压缩矩阵进行处理。
         那通过节点排序减少带宽还有些什么作用呢?

         这段时间对这个很不理解。因为我采用CSR压缩计算空间六面体单元时,用pardiso求解时它居然要20G空间,而用skyline只需要5G,同时用abaqus计算也只需要5G。但是计算杆和平面问题时,pardiso占用的空间就比skyline少很多。在方程求解前我用RCM对节点重排序过。

penultimate 发表于 2011-1-25 19:48:57

同问
节点排序对计算速度影响很大

pasuka 发表于 2011-1-25 21:07:11

如果压缩方式使用skyline,通过reorder nodes可以reduce the profile,进入减少空间存储。
      但是现在的求解器大部分格式都是CSR或者CSC,亦或者COO。通常这种求解器都会在内部对压缩矩阵进行处理。
      ...
dumashu 发表于 2011-1-25 18:36 http://forum.simwe.com/images/common/back.gif
基于直接分解矩阵方法的求解器,对矩阵进行重排的好处就是零元位置在分解过程中不出现非零元,节约存储空间并提高分解效率
直接查询matlab的symamd、symrcm函数的帮助文档,有相当具体生动的例子说明节点重排的好处
pardiso里面有metis的选项的,abaqus也使用metis的
迭代法的话,一般和问题的类型有关

dumashu 发表于 2011-1-25 21:19:57


基于直接分解矩阵方法的求解器,对矩阵进行重排的好处就是零元位置在分解过程中不出现非零元,节约存储空间并提高分解效率
直接查询matlab的symamd、symrcm函数的帮助文档,有相当具体生动的例子说明节点重排的好 ...
pasuka 发表于 2011-1-25 21:07 http://forum.simwe.com/images/common/back.gif

我的疑问就是,如果我把结构模型中的节点重排序后,就可以在求解器中不再重排序么?
如果求解器始终都对总刚K进行重排序,那前面的节点排序岂不是没有意义了。

dumashu 发表于 2011-1-26 02:37:45

我明白了,求解器的重排序可以手动设置

xiaoqiushui318 发表于 2011-1-26 09:05:27

楼上详细讲一下,让我们学习一下嘛

pasuka 发表于 2011-1-26 15:36:41

我明白了,求解器的重排序可以手动设置
dumashu 发表于 2011-1-26 02:37 http://forum.simwe.com/images/common/back.gif
不过用pardiso需要20G内存,用skyline只要5G,好像有点不太对头吧?
开启了迭代求解选项?

liujj99 发表于 2011-1-28 11:00:20

有限元刚度,质量矩阵的带宽与每一个节点和其相连的节点的序号有关系,如果相邻节点之间的序号差别较小,那么矩阵的带宽就比较小,所需的存储空间相应较小。

mathli 发表于 2011-1-31 15:08:11

1# dumashu
有限元方法能生成稀疏矩阵,其带宽与节点排序有关。不同的排序方法生成不同的矩阵。

dumashu 发表于 2011-2-2 00:11:59

7# pasuka

确实开启了迭代求解,不过没搞明白pardiso中迭代求解选项的作用
页: [1]
查看完整版本: FEM中节点排序有啥用?