文章目录
- 🔧 **核心功能与特点**
- 1. **支持的物理模型**
- 2. **高阶数值方法**
- 3. **时间推进策略**
- 4. **并行计算**
- 📂 **输入/输出与兼容性**
- ⚙️ **编译与使用**
- 📚 **文档与资源**
- ✅ **适用场景**
HORSES3D是一个由西班牙马德里理工大学(UPM)NUMATH 团队开发的开源高性能多物理场求解器,采用Fortran 2008编写,专为求解复杂流体问题而设计。它支持多种物理模型和先进的数值方法,适用于科研和工程模拟。
https://sites.google.com/site/eferrerdg/high-order-dg-solvers
https://github.com/loganoz/horses3d
NUMATH Lab
🔧核心功能与特点
1.支持的物理模型
- 可压缩与不可压缩 Navier–Stokes 方程:
- 可处理从低速到高速流动。
- 多相流模型:
- 采用Navier–Stokes / Cahn–Hilliard 耦合模型(扩散界面法)。
- 湍流模型:
- RANS:Spalart–Allmaras
- LES:Smagorinsky、WALE、Vreman,支持壁面模型(wall models)
- 声学模拟:
- 基于Ffowcs-Williams & Hawkings (FW-H)方程进行噪声传播分析。
- 浸入边界法(Immersed Boundary Method):
- 无需贴体网格,简化复杂几何建模。
2.高阶数值方法
- 任意高阶(p-anisotropic)有限元/谱方法离散化:
- 支持静态与动态 p-自适应(基于特征或截断误差估计)。
- 熵稳定(Entropy-Stable)格式:
- 提高激波和间断问题的数值鲁棒性。
3.时间推进策略
- 显式和隐式时间积分器:
- 适用于稳态(steady)和非定常(time-marching)问题。
- 高效线性求解器支持:
- 多重网格(Multigrid)、预条件子(Preconditioners)。
- 支持PETSc用于大规模隐式求解。
- 雅可比矩阵计算:
- 支持数值与解析雅可比,并采用着色算法(coloring algorithm)加速。
4.并行计算
- 混合并行策略:
- MPI(分布式内存)+OpenMP(共享内存)
- 可在大型 HPC 集群上高效运行。
📂输入/输出与兼容性
- 网格格式支持:
- Gmsh(.msh)
- HDF5(通过 HOPR 工具链)
- SpecMesh / HOHQMesh(高阶曲线网格)
- 后处理工具:
- ParaView、Tecplot
- 依赖库(可选):
- METIS(网格分区)
- HDF5(高阶网格 I/O)
- PETSc(隐式求解)
- Intel MKL(加速线性代数)
- MPI(并行通信)
⚙️编译与使用
- 支持平台:Linux / macOS(需 Unix 环境)
- 编译器:GNU gfortran 或 Intel ifort(推荐 2019+ 版本)
- 构建方式:
cdSolver ./configuremakeallCOMPILER=gfortranCOMM=PARALLELENABLE_THREADS=YES - 运行示例:
其中./horses3d.ns file.controlfile.control是用户定义的参数文件(见/test目录中的示例)。
📚文档与资源
- 完整用户手册位于项目
/doc目录。 - 测试案例涵盖多物理场(如共轭传热、多相流、湍流等)在
/test中提供。 - 项目主页:https://github.com/loganoz/horses3d
- 开发团队:NUMATH Lab
✅适用场景
- 高阶精度 CFD 模拟
- 多相流与界面动力学
- 湍流与声学耦合分析
- 高性能计算(HPC)环境下的大规模流体仿真