sucisuci 发表于 2004-2-15 22:11:33

【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

DIRECT SOLVER 和 SPARSE SOLVER的区别?
有高手能回答上述问题吗?
ADINA帮助文件说的不详细,我只知道DIRECT SOLVER 用LDL分解。

feizhang 发表于 2004-2-16 14:43:32

回复: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

好问题,sparse solver也应该是一种直接求解器,DIRECT SOLVER可能是指用经典的高斯消去法来求解方程组。

BosFEA 发表于 2004-2-16 14:45:40

回复: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

完全同意feizhang的说法。

sucisuci 发表于 2004-2-16 16:24:46

回复: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

sparse solver是如何分解刚度矩阵的呢?

shengjie 发表于 2004-2-17 11:33:13

赵立巍 发表于 2004-2-27 22:03:37

回复: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

我没有用过ADINA,如果说错了,请多多原谅。
DIRECT SOLVER(直接法)是指LDLT法和高斯消去法等,经过一次分解和回代运算,可以直接求出数学意义上的精确解。在求解过程中,带宽内的所有元素都要占存储单元并参加运算,所以,在求解大型问题时比较吃力。
SPARSE SOLVER(稀疏矩阵法)是指利用共轭向量等构成的叠代算法,现在用的比较多的是ICCG法。由于在求解过程中,只要求存储带宽内的非零元素,所以,在求解大型问题,而且精度要求不是很严格时,比较有效。
一般来说,在2G内存的PC机上,用DIRECT SOLVER求解超过十几万自由度的问题,即使先进行带宽优化也很吃力。但是,在同样的PC机上,即使用SPARSE SOLVER求解100万自由度的问题,计算速度也非常快。而且,不用考虑带宽问题。

sucisuci 发表于 2004-3-4 16:15:06

回复: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别

DIRECT SOLVER 和 SPARSE SOLVER的区别总结:

DIRECT SOLVER(直接法)是基于高斯消去法基础上的有效列解法(active column solver)或轮廓线化简法,但要进行一些附加检查及逻辑运算———影响运算速度。(见《工程分析中的有限元法》)

SPARSE SOLVER(稀疏矩阵法)利用Fill-in, bandwidth minimization and skyline storage schemes,使得要求的存储空间和求解次数大为减少;求解速度比有效列解法快1~2个数量级(见帮助文件)。
页: [1]
查看完整版本: 【讨论】DIRECT SOLVER 和 SPARSE SOLVER的区别