Linux/MacOS系统下SU2源代码编译安装

本文详细指导了在Linux和MacOS系统下从GitHub下载SU2源代码,安装前的准备,包括Python版本要求和C/C++编译器,以及使用meson.py进行配置,启用AD支持,设置安装目录,最后通过ninja编译并安装的过程。
摘要由CSDN通过智能技术生成

Linux/MacOS系统下SU2源代码编译安装

第一步:下载源代码

方法一、使用下面命令:

$ git clone https://github.com/su2code/SU2.git

方法二、(推荐)

源码下载链接:

Source(.zip)

Source(.tar.gz)

第二步:安装前准备,Python需要3以上版本

  • C/C++ 编译器
  • Python 3

第三步:进入SU2文件夹下,里面有个meson.py文件,执行下面命令

~$ cd SU2
~/SU2$ ./meson.py build -Denable-autodiff=true --prefix=/home/username/SU2

我这里使用了-Denable-autodiff=true,支持AD功能,如果没有开启,安装完的SU2没有SU2_CFD_ADSU2_DOT_AD这两个命令,无法求解离散伴随问题,建议开启这个选项。

可以将选项传递给脚本,以启用或禁用SU2的不同特性。下面是项目选项及其默认值的列表:

OptionDefault valueDescription
-Denable-autodifffalseenable AD (reverse) support (needed for discrete adjoint solver)
-Denable-directdifffalseenable AD (forward) support
-Denable-pywrapperfalseenable Python wrapper support
-Dwith-mpiautoSet dependency mode for MPI (auto,enabled,disabled)
-Dwith-ompfalseenable MPI+Threads support (experimental)
-Denable-cgnstrueenable CGNS support
-Denable-teciotrueenable TECIO support
-Denable-mklfalseenable Intel MKL support
-Denable-openblasfalseenable OpenBLAS support
-Denable-pastixfalseenable PaStiX support
-Denable-mppfalseenable Mutation++ support
-Denable-mixedprecfalseenable the use of single precision on linear solvers and preconditioners

例如,要启用AD支持,将该选项连同一个值传递给’ meson.py '脚本:

~/SU2$ ./meson.py build -Denable-autodiff=true

要为二进制文件和python脚本设置安装目录,请使用--prefix选项,例如:

~/SU2$ ./meson.py build -Denable-autodiff=true --prefix=/home/username/SU2

为了构建具有并行支持的SU2,您需要在计算机上安装合适的MPI。在配置过程中,构建工具执行检查 (使用pkg-config) 并启用MPI支持。如果未找到安装,则将编译SU2的串行版本。可以使用介子选项 -Dcustom-mpi=true 强制MPI模式,然后假定编译器和/或环境变量具有正确的标志,包含目录和链接器参数。

我这里没有设置MPI,相关配置建议参考官方安装文档

命令运行结束显示如下(这里只给出结尾部分):

......(省略)
Message: -------------------------------------------------------------------------
         |    ___ _   _ ___                                                      |
         |   / __| | | |_  )   Release 8.0.0 "Harrier"                           |
         |   \__ \ |_| |/ /                                                      |
         |   |___/\___//___|   Meson Configuration Summary                       |
         |                                                                       |
         -------------------------------------------------------------------------

         Option          Value
         ---------------------
         TecIO:          true
         CGNS:           true
         AD (reverse):   true
         AD (forward):   false
         Python Wrapper: false
         Intel-MKL:      false
         OpenBlas:       false
         PaStiX:         false
         Mixed Float:    false
         libROM:         false
         CoolProp:       false
         MLPCpp:         false

         Please be sure to add the $SU2_HOME and $SU2_RUN environment variables,
         and update your $PATH (and $PYTHONPATH if applicable) with $SU2_RUN

         Based on the input to this configuration, add these lines to your .bashrc file:

         export SU2_RUN=/home/username/SU2/bin
         export SU2_HOME=/home/walen/download/SU2
         export PATH=$PATH:$SU2_RUN
         export PYTHONPATH=$PYTHONPATH:$SU2_RUN

         Use './ninja -C build install' to compile and install SU2

Build targets in project: 20

SU2 8.0.0 "Harrier"

  User defined options
    prefix         : /home/username/SU2
    custom-mpi     : false
    enable-autodiff: true

Found ninja-1.10.0.git at /home/walen/download/SU2/ninja

第四步:上面命令结束之后,执行下面命令,使用ninja编译并安装代码

~/SU2$ sudo ./ninja -C build install

安装完成。

运行下面命令:

~/SU2$ SU2_CFD -h

会显示以下内容:

SU2 v8.0.0 "Harrier", The Open-Source CFD Code
Usage: SU2_CFD [OPTIONS] [configfile]

Positionals:
  configfile TEXT:FILE        A config file.

Options:
  -h,--help                   Print this help message and exit
  -d,--dryrun                 Enable dry run mode.
                              Only execute preprocessing steps using a dummy geometry.
  -t,--threads INT            Number of OpenMP threads per MPI rank.
  --thread_multiple           Request MPI_THREAD_MULTIPLE thread support.

参考:官方安装文档链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值