1. SU2 安装
SU2 设计理念为安装和使用过程中的便捷性。这意味着为维持高移植性(portability),在任何可能的情况下,(开发人员)都会有意识地开发内部代码组件,而不是依赖第三方包(package)或库(library)。在简单算例中(串行版本、无外部库),流体求解器(flow solver)仅通过 C+ + 编译器即可编译和运行。
此外,SU2 的(求解)能力还拓展至使用外部提供的软件(externally-provided software)。例如,并行计算需要安装 MPI(Message Passing Interface) 从而实现数据通讯。再次说明,为提高使用的舒适性以及开源代码的天然特性,任何 SU2 套装所需的外部软件都是免费的或开源的,并且尽量为您完成自动打包、搭建(build)以及链接(link)。上述依赖项或第三方包讨论如下:
从源代码搭建: 为获取最佳的性能并且尽可能的快速运行,这(从源代码构建)是最为推荐的方法。可参考 Linux/MacOS下搭建 SU2 或者 Windows 下搭建 SU2。
下载页中二进制的可执行文件被用来帮助新入门的用户(了解 SU2)以及快速运行。该选项对于计算流体力学(CFD)新用户或者对于希望快速寻找 SU2 某些功能的用户是最为推荐的。为了使这些二进制发行版可供广泛的潜在用户使用,一些需要外部库和依赖项的高级功能已被禁用。例如,(用户)无法获取离散伴随方法(the Discrete Adjoint method)。
选择 SU2 发布的二进制可执行文件的用户不需要编译。只需提取二进制文件,打开终端,然后进行快速入门教程。二进制文件可用于所有平台(Linux、MacOS以及 Windows)。请继续参阅 Linux/MacOS 安装教程或 Windows 安装指南。
2. 运行 SU2 必备的软件
命令行终端
通常,所有 SU2 执行通过在终端(输入)命令行语句来实现。Unix/Linux/Mac OS X 用户,还需本地终端应用程序(native terminal applications),Windows 用户推荐使用控制台(Console)。
数据可视化
SU2 用户需要数据可视化工具进行求解文件后处理。软件目前支持 ASCII 和二进制输出格式,这些格式分别可通过 ParaView 和 Tecplot 直接读取。ParaView 提供了完整的数据可视化功能,并在开源许可证下免费提供。Tecplot 是商业许可的软件包,并被科学计算领域(scientific computing community)广泛使用,授权人员可进行使用。一些 SU2 结果输出(格式)为通过逗号分隔(数据)值的 .csv文件,这些文件可以由许多软件包读取。未来可能会添加其他输出格式。开发团队最常使用的使用的两个(软件)包如下:
- ParaView
- Tecplot
3. 第三方可选软件
尽管不必要,对于特殊目的,一些第三方(软件)包仍然能够帮助 SU2 拓展性能。SU2 通过这些(第三方软件)包所开启的性能详情以及如何获取这些(第三方软件)包的描述如下。
网格生成
用户如果希望分析他们的网格,那么就要需要一款生成网格的工具。 SU2 自带的网格格式基于 “可读性和易用性” 的理念而设计:简单计算域的用户可编写脚本从而生成合适的网格(网格文件页中提供了一些脚本示例)。对于更多的复杂配置,推荐使用网格生成软件,并且(这些网格生成软件)须具备输出 SU2 或 CGNS 文件格式的能力。可使用一些开源软件和商业产品,常见的可选择(网格生成软件)清单如下:
- Pointwise
- Gmsh
- ICEM CFD
- Gambit
说明:开源社区中,还存在大量杰出的用于生成和转换不同网格格式的贡献(例如 OpenFOAM – SU2 格式)。开发者鼓励社区成员分享他们在这方面的贡献,其中许多贡献可以在 CFD Online 上的 SU2 论坛帖子中找到。
开发人员鼓励社区成员分享他们在这方面的贡献,其中许多贡献可以在CFD Online上的SU2论坛的帖子中找到。
CGNS库
为使得创建自己的网格更容易、可行,SU2 涵盖了对开源 CGNS 数据标准的支持。(开放对 CGNS 库的支持)的主要优势是通过第三方软件包(支持非结构单区 CGNS 文件输出的软件)所创建的复杂网格可在 SU2 中直接使用,不需转换至自带格式。此外,正如 CGNS 是二进制格式,(因此)可显著降低网格文件的大小。如果需要,SU2 中搭建了CGNS – SU2 格式转换器(详见无粘楔形教程)。自 SU2 v4.3 版本起,CGNS 库源代码随 SU2 一起打包,(CGNS 库)位于在 externals/ 目录下,在编译 SU2 时, 将自动搭建(build)和链接(link)(CGNS 库)。注意:目前,SU2 仅支持 ADF 格式下的 CGNS 文件。
并行工具
如果用户希望在分布内存式计算机(distributed-memory computers)中进行运算仿真,他们将需要实现信息传递接口(Message Passing Interface,MPI)标准。这种情况下,SU2 通过使用 ParMETIS 软件包进行网格分区。ParMETIS 与 SU2 源代码一起打包,(ParMETIS)位于在 externals/ 目录下,它将为您自动搭建(build)和链接(link)。但是,在您系统中的的 C/C+ +编译器上,您仍需访问 MPI。现存 MPI 标准有多种实现(途径),通常在 Linux 或 Mac OS X 系统上可使用(软件)包管理器进行安装。或者,用户可下载源代码并自行搭建并实现 MPI。以下是一些众所周知的免费的 MPI:
- OpenMPI
- MPICH
- MVAPICH
Python 及 Python 模块
SU2 中每个 C+ +某块(包含 MPI 下的并行计算)都可以通过命令行(command line )直接调用(call),无需 Python。但与 C+ + 模块耦合时需要,例如,设计优化问题可通过运行已发布软件中的合适的 Python 脚本自动进行。譬如,当进行形状设计时(shape design),shape-optimization.py 脚本可自动完成所有步骤。注意:该脚本需要额外的 NumPy 和 SciPy 模块依赖项进而实现 Python的科学计算(scientific computing)以及 SciPy 库中的优化程序(routines)。上述(软件)包在以下链接的网站上可免费获取(官方文件并未提供网站):
- Python
- NumPy
- SciPy
或者,Python 和上述(软件)包可以在预搭建(prebuilt)的安装中找到,如Anaconda Distribution,Mac OS X 用户也可从 Homebrew 等(软件)包管理器中找到。
Views: 23