目录
软件介绍
基本依赖
一、源码下载
1、REEF3D
2、DIVEMesh
二、解压缩
三、编译安装
1、REEF3D
2、DIVEMesh
四、算例测试
软件介绍
REEF3D是一款开源流体动力学框架,提供计算流体力学及波浪模型。软件采用高效并行化设计,可以在大规模处理器集群上运行。高阶时空离散化方案确保了数值计算的精确性和稳定性,模块化编程方法使该框架能集成多种流动求解器。针对海岸、海洋以及水力工程流动问题,框架提供定制化的多物理场求解器以应对各类典型工况(如泥沙输运、浮体动力学等)根据波浪或流动条件的不同,可以选择的水动力模块包括:REEF3D::CFD、REEF3D::NHFLOW、REEF3D::FNPF、REEF3D::SFLOW。软件由挪威科技大学(NTNU)开发,采用C++编写,支持CUDA加速,具有高效并行计算能力。
REEF3D::CFD:用于求解三维N-S方程,对于具有复杂自由表面的近场模拟,系统通过结合水平集方法的两相流技术实现界面捕捉。
REEF3D::NHFLOW:是具有激波捕捉功能的非静水N-S方程求解器,采用高效的坐标系网格方法。
REEF3D::FNPF:是三维全非线性势流求解器。采用大规模并行化设计,可在各类水深条件下生成相位解析的大范围海况模拟。
REEF3D::SFLOW:是深度平均模型求解器。通过求解非静水浅水方程,适用于近岸水动力学及河流流动模拟。
DIVEMesh是REEF3D的前处理程序,用于网格划分。
基本依赖
1、C++编译工具
2、Make编译工具
3、Hypre
4、OpenMPI
5、Eigen(源码自带)
一、源码下载
软件完全开源,最新版本为25.02,可通过下面的链接进行源码访问。
Source Code – REEF3D (wordpress.com)https://reef3d.wordpress.com/source-code/
1、REEF3D
①可以在终端通过git获取源码:
git clone https://github.com/REEF3D/REEF3D.git REEF3D
②可以在github网站获取源码:
2、DIVEMesh
①可以在终端通过git获取源码:
git clone https://github.com/REEF3D/DIVEMesh.git DIVEMesh
②可以在github网站获取源码:
二、解压缩
如果是通过第二种方式下载的软件压缩包,可以通过下面命令解压缩:
unzip REEF3D-master.zip
unzip DIVEMesh-master.zip
三、编译安装
1、REEF3D
①安装好OpenMPI、Hypre之后,修改REEF3D的Makefile文件,主要是修改变量BIN和HYPRE_DIR的值,BIN是软件安装路径(即REEF3D可执行程序位置),HYPRE_DIR为hypre安装路径。
②通过make命令开始编译,多核处理器可以通过make -j 并行编译。
make -j8
编译完成:
2、DIVEMesh
①修改DIVEMesh的Makefile文件,主要是修改变量BIN的值,BIN是软件安装路径(即DIVEMEesh可执行程序位置)。
②通过make命令开始编译,多核处理器可以通过make -j 并行编译。
make -j8
编译完成:
四、算例测试
我们使用官方提供的Tutorials/REEF3D_CFD/11_1 2D Dam Break(2D溃坝)算例进行测试。算例文件夹内容如下:
其中control.txt是用于控制网格相关参数的,ctrl.txt是用于控制求解相关参数的:
control.txt:
ctrl.txt:
①运行DIVEMesh
mpirun -np 4 DiveMESH
②运行REEF3D
mpirun -np 4 REEF3D
我们使用后处理软件Paraview对计算结果进行可视化。