FluidSim公司

FluidSim:模块化、面向对象的Python包,用于高性能CFD模拟。本文介绍Python包fluidsim作为计算流体力学(CFD)解算器的可扩展框架。它是FluidDyn项目(Augier等人,2018)的一部分,旨在促进流体力学界的开源和开放科学合作,旨在教育和研究目的。fluidsim中的解算器是可伸缩的高性能计算(HPC)代码,由fluiddyn和fluidft软件包提供的丰富、科学的Python生态系统和应用程序编程接口(API)提供支持(Mohanan等人,2018)。本文介绍了fluidsim的设计方面,即。使用Python作为主要语言;关注代码的易用性、重用性和维护性,而不影响性能。文中还简要说明了求解器的实现细节,包括优化方法、特征的模块化组织和使用类实现求解器的面向对象方法。目前,fluidsim包括使用不同数值方法(包括有限差分方法)求解各种物理问题的工具。然而,本文只讨论伪谱解算器的实现和性能,特别是二维和三维Navier-Stokes解算器。我们研究了fluidsim在最先进的HPC集群中的性能和可伸缩性。给出了基于Python(Dedalus,SpectralDNS)和Fortran(NS3D)的三个相似的伪谱CFD程序,并与fluidsim进行了定性和定量的比较。源代码作为Mercurial存储库Bitbucket.org/fluiddyn/fluidsim托管在Bitbucket上,使用Sphinx生成的文档可以在fluidsim.readthedocs.io上在线阅读。