本文介绍SU2的编译安装方法。
SU2是美国斯坦福大学航空航天学院开发的高精度偏微分方程求解器,与NASA的CFL3D不同,它是一款非结构网格求解器,并且是基于C++开发的(和OpenFOAM类似)。它不仅开展串行计算,还可以进行并行计算。同时具备了变形网格(即动网格)功能和网格自适应功能等。为提高计算效率,该代码采用多重网格来加速收敛。SU2具有多种空间离散格式和多个通量限制器,可进行从低速不可压流动到高超声速的计算,甚至还可开展诸如多物理场模拟、多组分流动模拟、燃烧模拟、气动噪声模拟、两相流模拟、磁流体模拟、等离子体流动模拟以及优化等。
--引自https://blog.csdn.net/zhoulinshijie/article/details/11095567
”
SU2提供了预编译版本https://su2code.github.io/download.html,但不知为何我这里就是下载不下来。没有办法只能从源码编译了。
地址:https://su2code.github.io/docs_v7/Build-SU2-Linux-MacOS/
”
-
下载源文件https://github.com/su2code/SU2.git -
解压缩源文件到目录 /opt/SU2
中
-
安装依赖项
easy_install pip
pip install mpi4py
sudo apt install ninja-build
-
进入SU2目录,运行命令
./meson.py build
若提示有文件无法下载,可以进入externals
目录中按照提示的网址利用wget
进行下载,下载完毕后利用unzip
进行解压。中间可能会存在文件权限的问题,此时可以为相应的文件夹提升权限。
可以将选项传递给脚本,以启用或禁用SU2的不同功能。下面是项目选项及其默认值的列表:
Option | Default value | Description |
---|---|---|
-Denable-autodiff |
false |
enable AD (reverse) support (needed for discrete adjoint solver) |
-Denable-directdiff |
false |
enable AD (forward) support |
-Denable-pywrapper |
false |
enable Python wrapper support |
-Dwith-mpi |
auto |
Set dependency mode for MPI (auto ,enabled ,disabled ) |
-Dwith-omp |
false |
enable MPI+Threads support (experimental) |
-Denable-cgns |
true |
enable CGNS support |
-Denable-tecio |
true |
enable TECIO support |
-Denable-mkl |
false |
enable Intel MKL support |
-Denable-openblas |
false |
enable OpenBLAS support |
-Denable-pastix |
false |
enable PaStiX support |
-Denable-mpp |
false |
enable Mutation++ support |
-Denable-mixedprec |
false |
enable the use of single precision on linear solvers and preconditioners |
例如,要启用AD支持,请将选项传递给meson.py脚本和一个值::
./meson.py build -Denable-autodiff=true
要为二进制文件和python脚本设置安装目录,请使用--prefix选项,例如:
./meson.py build -Denable-autodiff=true --prefix=/home/username/SU2
如果对设置自定义编译器标志和其他选项不感兴趣,现在可以直接转到编译部分,否则继续阅读下一部分。
-
添加环境变量到 ~/.bashrc
文件中
export SU2_RUN=/usr/local/bin
export SU2_HOME=/opt/SU2
export PATH=$PATH:$SU2_RUN
export PYTHONPATH=$PYTHONPATH:$SU2_RUN
-
利用下面的命令编译并安装SU2
sudo ./ninja -C build install
-
测试
在任意位置运行命令SU2_CFD -help
,若终端如下图所示则表示安装成功。
官网上有测试案例(https://su2code.github.io/tutorials/home/),道友们可以自行测试。
(完毕)
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册