工程开发
fluidsim avatar

fluidsim

高性能计算流体力学 (CFD) 模拟框架,支持 Navier-Stokes、浅水方程和层流,利用伪谱法与 MPI 并行运算。

简介

FluidSim 是一个专为高性能计算流体力学 (CFD) 模拟而设计的进阶面向对象 Python 框架。它针对使用带有快速傅立叶变换 (FFT) 的伪谱法来求解周期性域方程进行了专门优化,提供可媲美 C++ 或 Fortran 的运算效能,同时保持 Python 语言的灵活性。此技能是研究人员、流体动力学家和工程师在处理湍流建模、涡流动力学及地球物理流体研究时的理想解决方案。它简化了复杂模拟的设置,从配置粘度与超粘度等物理参数,到管理时间步进方案与初始条件,皆能有效执行。

主要功能与能力包括:

  • 支持多种专业求解器,包括 2D/3D Navier-Stokes、用于大气/海洋建模的层流,以及浅水方程。
  • 原生高性能运算 (HPC) 功能,包括用于大规模模拟的基于 MPI 的并行运算,以及用于优化执行的 Pythran/Transonic 编译。
  • 涵盖参数定义、执行、输出管理与后处理的完整模拟生命周期工作流程。
  • 进阶诊断功能,例如针对物理场(速度、涡量)、空间平均值与频谱能量分析的交互式绘图。
  • 弹性的客制化选项,允许通过脚本注入定义自定义强制力(如时间相关随机强制力)与自定义初始条件。

使用注意事项与实务说明:

  • 模拟数据通常以 HDF5 格式导出,该格式与 ParaView 和 VisIt 等业界标准可视化工具兼容。
  • 参数配置采用层次化点标记法对象系统并进行验证,有助于在长时间执行的运算作业中防止运行时错误。
  • 用户应使用 uv 包管理器管理模拟环境,并确保为特定硬件需求启用适当的功能标志(例如 [fft, mpi])。
  • 工作流程旨在提高可再现性,方便进行参数研究,让用户能以不同的粘度或网格分辨率迭代执行模拟。
  • 强烈建议配置环境变量(如 FLUIDSIM_PATH 和 FLUIDDYN_PATH_SCRATCH),以在执行高吞吐量任务时有效地管理模拟输出目录与临时工作空间的存储。

仓库统计

Star 数
19,798
Fork 数
2,209
Open Issue 数
41
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 16:07
在 GitHub 查看