我在有限元方法领域工作,特别是开发算法以加快结构力学问题的计算时间。到目前为止,我一直在使用 Octave/Fortran 开发我的代码,并在小/简单问题(自由度数小于 1000)上测试我的算法。现在我想在相对较大的问题(自由度数> 10000)上测试算法。为了实现我的算法,我需要访问系统矩阵:质量、切线刚度、阻尼矩阵,这样我就可以构建我的降阶模型。
我想知道哪些开源 FEA 软件(例如,Calculix、Elmer、Tahoe 或任何其他软件)可以轻松访问和交换此类信息。
我在有限元方法领域工作,特别是开发算法以加快结构力学问题的计算时间。到目前为止,我一直在使用 Octave/Fortran 开发我的代码,并在小/简单问题(自由度数小于 1000)上测试我的算法。现在我想在相对较大的问题(自由度数> 10000)上测试算法。为了实现我的算法,我需要访问系统矩阵:质量、切线刚度、阻尼矩阵,这样我就可以构建我的降阶模型。
我想知道哪些开源 FEA 软件(例如,Calculix、Elmer、Tahoe 或任何其他软件)可以轻松访问和交换此类信息。
所有主要的有限元库(例如 libMesh;FEniCS;或我运行的项目 deal.II)都为您提供了对系统矩阵和/或您需要的任何其他矩阵的现成访问。他们通常还提供来自各种领域(例如,结构、流体等)的教程和示例,您可以使用它们来生成示例。
然而,也许更简单的第一步是查看 Tim Davis 的矩阵集合:http ://www.cise.ufl.edu/research/sparse/matrices/list_by_id.html 。这些包含来自多个领域的示例,您可以在集合中搜索特定示例。
我将在结束时说一句:“相对较大的问题”今天将远远超过您在帖子中引用的 10,000 个自由度。我会说今天 100,000 以下的所有内容都很小,如果您考虑在一台计算机上解决问题,则超过 1,000,000 的所有内容都很大。