Trilinos — CAE用语解说
Trilinos
Trilinos 这个名字经常看到,它与 PETSc 有什么区别?
两者都是用于大规模科学计算的库,但设计思想不同。PETSc 是基于 C 语言的单体框架,而 Trilinos 是由美国 Sandia 国家实验室开发的 C++ 面向对象的包集合。Trilinos 由 50 多个独立的包组成,可以灵活组合使用所需功能,具有模块化设计的特点。
定义
具体来说有哪些包呢?
线性代数的 Epetra/Tpetra、迭代求解器的 Belos、前处理的 Ifpack/MueLu(AMG)、非线性求解器的 NOX、优化的 ROL、网格分割的 Zoltan2 等,数值计算所需的功能几乎都齐全。研究人员在开发自定义求解器时,经常使用这些作为构建块。
CAE 中的位置
CAE 商用求解器中也使用 Trilinos 吗?
Sandia 自身开发的非线性结构分析代码 Sierra,以及一些开源 CFD 代码都使用 Trilinos 的求解器作为后端。在超过数百万自由度的大规模 FEM 中,MueLu 的 AMG 前处理可以大幅改善收敛性。超级计算机上的并行效率也很高,已经验证了在数万核心上的可扩展性。
集成难度高吗?
坦白说,构建和配置在适应之前比较困难。需要通过 CMake 选择依赖包进行构建,文档也是按包分散的。不过,现在通过 Spack 和 Conda 可以更容易地集成,一旦设置好了就是个非常强大的工具。
相关用语
我也想了解相关的用语。
通过模块化设计选择所需的包,Trilinos 的优势就体现出来了。MueLu 的 AMG 也很吸引人。
是的。建议首先通过 Trilinos 的教程从 Epetra/Tpetra 的基本向量和矩阵操作开始学习。
正确理解 CAE 用语是团队内部沟通的基础。 — Project NovaSolver 也致力于支持实务人员的学习。
下一代 CAE 项目:连接开发者与实务人员
Project NovaSolver 在包括 Trilinos 在内的广泛分析领域中,探索能够最大程度发挥实务人员知识的环境。虽然还在路上,但我们正在招募愿意与我们同行的人。
联系我们(准备中)相关主题
价值
详细
报告