哪位有分块解法的源程序啊
为了解决老板的有限元大自由度问题,最近在研究王勖成《有限单元法》上的分块解法,但书上讲的不是很详细,特别是那句“以二维等带宽存储为例,只要网格的结点编号和单元编号合理,很容易做到进入内存的系数矩阵只有最后的D行元素集成尚未完毕。”我觉得应该是可以全部集成的,因为所有的单元的单刚矩阵都是可以求得的,我不理解这句话的意思,可能我没看到过源程序,希望哪位大侠提供下以供参考。 为了解决老板的有限元大自由度问题,最近在研究王勖成《有限单元法》上的分块解法,但书上讲的不是很详细,特别是那句“以二维等带宽存储为例,只要网格的结点编号和单元编号合理,很容易做到进入内存的系数矩阵只有 ...sbzhanglangming 发表于 2010-11-24 16:57 http://forum.simwe.com/images/common/back.gif
这种方法和一维变带宽方法已经被扬弃了~现在都是用稀疏矩阵存储方法
具体可以查看北大袁明武的文章
这种方法和一维变带宽方法已经被扬弃了~现在都是用稀疏矩阵存储方法
具体可以查看北大袁明武的文章
pasuka 发表于 2010-11-24 23:01 http://forum.simwe.com/images/common/back.gif
直接采用sparse matrix方式,跳跃太大,
在进行矩阵求解时,要用到图论的知识,除非这方面的知识已经足够。
北大的求解器使用的也是开源的代码解决这部分问题的吧。
建议楼主仍然采用内外存交换的方法,逻辑简单,程序可控。
在需要锦上添花时,再考虑sparse matrix的方法
直接采用sparse matrix方式,跳跃太大,
在进行矩阵求解时,要用到图论的知识,除非这方面的知识已经足够。
北大的求解器使用的也是开源的代码解决这部分问题的吧。
建议楼主仍然采用内外存交换的方法,逻辑简单 ...
penultimate 发表于 2010-11-25 10:35 http://forum.simwe.com/images/common/back.gif
没有什么大的难度~在matlab里面或者Fortran编程都是非常简单的事情
matlab的涉及矩阵求解的内置函数都已经支持稀疏矩阵了
Fortran的话,安装ivf专业版后,只要用标准的压缩行或压缩列,甚至matlab那种坐标存储格式即可,mkl自带各种存储格式转换函数的,矩阵求解的话,调用pardiso,自动并行效率高多了。
不喜欢mkl的话,去HSL下载MA57、MA47的代码,都支持稀疏矩阵存储格式的。 3# penultimate
谢谢你啊不知道这种内外存交换的程序哪里可以找到? 我要写的是二维半带宽存储,一部分系数矩阵集成消元修正后利用数据库作为外存贮,不知道我这种思路好不好实现,还烦请高手指教。 4# pasuka
兄弟真是高手,但本人对数值计算了解不深,能否详细讲下具体操作方法 谢谢 4# pasuka
兄弟真是高手,但本人对数值计算了解不深,能否详细讲下具体操作方法 谢谢
sbzhanglangming 发表于 2010-11-25 14:39 http://forum.simwe.com/images/common/back.gif
仅供参考吧
没有什么大的难度~在matlab里面或者Fortran编程都是非常简单的事情
matlab的涉及矩阵求解的内置函数都已经支持稀疏矩阵了
Fortran的话,安装ivf专业版后,只要用标准的压缩行或压缩列,甚至matlab那种坐标存储格 ...
pasuka 发表于 2010-11-25 11:02 http://forum.simwe.com/images/common/back.gif
一语惊醒梦中人!
IVF关于稀疏矩阵求解的文档和背景资料全吗?
一语惊醒梦中人!
IVF关于稀疏矩阵求解的文档和背景资料全吗?
penultimate 发表于 2010-11-25 17:24 http://forum.simwe.com/images/common/back.gif
MKL里面帮助文档写得挺详细的,例子也很多。具体算法原理没有仔细看
页:
[1]