在过去的几个月里,我一直在编写一个 Fortran 程序来解决特定的 PDE 系统(描述流体流动/燃烧)。我尝试使用最新标准的 Fortran 和现代 Fortran 具有的新 OOP 功能。我自己工作,身边没有 Fortran 大师来提问,所以对我来说学习的一种自然方式是查看使用现代 Fortran 的其他库/求解器。
不幸的是,那里的所有 Fortran 库似乎都是用非常古老的 Fortran 编写的,Fortran90 上层。因此,我必须自己考虑课程设计和交互。而且我完全不确定我做对了,尤其是从性能的角度来看。但也许我错过了一些东西,如果 Fortran 并使用 OOP 编写了现代科学包?
有很多优秀的 C++ 库可供学习(OpenFOAM、deal.II 等)以及 Python 库。这些语言通常也有一个更大的社区。如果我想通过示例学习,放弃 Fortran 并切换语言可能会更好吗?