Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何利用有限元(语言:C)中的元素连通性来求非零项的个数?_C_Sparse Matrix_Finite Element Analysis - Fatal编程技术网

如何利用有限元(语言:C)中的元素连通性来求非零项的个数?

如何利用有限元(语言:C)中的元素连通性来求非零项的个数?,c,sparse-matrix,finite-element-analysis,C,Sparse Matrix,Finite Element Analysis,在有限元法中,为了生成切线刚度矩阵的稀疏矩阵,我们应该知道非零项的数量,因为我使用的语言是:C 我找不到使用“元素连接性”查找非零项数量的最佳算法 有人能告诉我使用元素连接性或为此目的构建的库获取非零项数的算法吗 例如,全局切线矩阵的全索引是{1,2,3,4}。元素连接性如下所示:第一元素-12、第二元素-23、第三元素-34。所以我刚得到了元素的连通性,然后我应该做全局切线矩阵的稀疏矩阵,在这种情况下,我如何才能有效地得到非零项的数量???为什么刚度矩阵需要非零计数?AFAIK通常非零的总数不

在有限元法中,为了生成切线刚度矩阵的稀疏矩阵,我们应该知道非零项的数量,因为我使用的语言是:C

我找不到使用“元素连接性”查找非零项数量的最佳算法

有人能告诉我使用元素连接性或为此目的构建的库获取非零项数的算法吗


例如,全局切线矩阵的全索引是{1,2,3,4}。元素连接性如下所示:第一元素-12、第二元素-23、第三元素-34。所以我刚得到了元素的连通性,然后我应该做全局切线矩阵的稀疏矩阵,在这种情况下,我如何才能有效地得到非零项的数量???

为什么刚度矩阵需要非零计数?AFAIK通常非零的总数不用于装配整体刚度矩阵…在CSR格式中,我应该知道非零项的数量。还有非线性边界条件问题,如接触问题,非零项的数量随外力的变化而变化。我认为这不是通常的有限元程序所做的。编码稀疏矩阵远比密集矩阵复杂,所以开发人员通常使用现成的工具。对于这个例子,我认为您应该首先使用CoordinateStorage来计算成员,然后将其转换为CSR格式……我认为您应该首先选择一个稀疏矩阵库,您使用什么编程语言?