用途:FluidSim 是用于计算流体力学(CFD)模拟的面向对象 Python 框架,采用 FFT 伪谱法求解周期域方程,性能接近 Fortran/C++,同时保留 Python 的易用性。
主要能力:提供多个求解器,包括 2D/3D 纳维-斯托克斯(ns2d、ns3d)、分层流(ns2d.strat、ns3d.strat)、浅水(sw1l);支持 Pythran/Transonic 编译与 MPI 并行;覆盖参数配置、模拟执行、输出分析完整流程;支持基于 Python 的后处理与可视化。
使用方式:通过 uv 安装,如 uv pip install fluidsim,带 FFT 支持用 uv pip install "fluidsim[fft]",并行计算用 uv pip install "fluidsim[fft,mpi]";可设置 FLUIDSIM_PATH 与 FLUIDDYN_PATH_SCRATCH 环境变量,无需 API 密钥或认证。标准流程为:导入求解器(如 from fluidsim.solvers.ns2d.solver import Simul)、用 Simul.create_default_params() 创建并配置参数、实例化 Simul(params)、执行 sim.time_stepping.start()、分析结果(如 sim.output.phys_fields.plot("vorticity"))。参数通过点号访问,如 params.oper.nx、params.nu_2、params.time_stepping.t_end、params.init_fields.type;参数对象对拼写错误抛出 AttributeError。输出包括 HDF5 格式物理场、空间均值时间序列、能量与拟能谱;可用 load_sim_for_plot 载入既往模拟,或用 ParaView/VisIt 查看 .h5 文件。MPI 并行用 mpirun -np 8 python simulation_script.py。
适用场景:二维/三维湍流研究、涡动力学、分层流、地球物理与旋转系统流动、参数扫描以及 Taylor-Green 涡验证等。
限制:主要面向周期域伪谱求解;完整安装与集群部署细节、授权与收费信息暂未提供。