我认为这样的图书馆有很多!
我最喜欢的选择是 Dealii (http://www.dealii.org/),它有很好的文档,有很多例子,而且非常灵活。如果 2D 传热只是您所需要的,我认为这是正确的库。
否则,你可以按照你的建议看看 Dune (http://www.dune-project.org/dune.html)、LibMesh (http://libmesh.sourceforge.net)、GetFem++等等。还有一些库允许您编写问题的弱形式,例如 Feel++(http://www.feelpp.org/) 或 LifeV ( http://www.lifev.org )。(我想还有其他人,但这些是我所知道的)。
根据库的不同,您需要一个用于网格的外部工具,而 Gmsh 就在其中(很好)。