我目前正在做一个构建模拟器的项目。到目前为止,我主要使用非常简单的示例,但关于未来,我一直认为使用外部库进行数值计算可能是一个好主意,特别是因为我可能还想研究这种可能性用于并行化。
到目前为止,我已经使用了 Eigen 库,它非常简单,因为您只需要包含适当的头文件就可以了。但是,我有点不确定从长远来看它是否足够好?(多功能性,速度等)如果您广泛使用 Eigen 并且知道我错了,请纠正我!;)
但无论如何,我的想法是学习使用其中一种“大炮”,Trilinos 或 Petsc,据我所知,它们是最受推崇的库。但是,让一切都在 Windows 上运行似乎有点问题?(使用Visual Studio)从我通过谷歌搜索和阅读here发现的内容来看,似乎有一个使用CMAKE为Visual Studio编译的选项,但我发现大多数用户指南对于它的效果有点混乱工作,可能会出现什么丑陋的问题等。
我想我的主要问题是:为我当前的项目设置例如 Trilinos 有多容易?我主要需要代码来进行线性代数计算(向量、稀疏矩阵等),可能是并行的。还有选择“正确”的网格数据结构的问题,但也许我应该从其他地方获取那些(或者构建我自己的,就像我目前所做的那样)。