当前位置: 首页 > 工具软件 > SU2 > 使用案例 >

linux系统下使用SU2时遇到的一些问题

井学
2023-12-01

由于研究生阶段要使用SU2进行流体的数值计算,近期刚刚上手,难免会遇到一些问题,故在此记录一下学习过程。
如果这些问题都能顺利解决的话,我应该还会写一些关于前期使用SU2的指南,毕竟现在网上关于SU2的中文资料还是很少的。
我使用的SU2为在Ubuntu 18.04.5 LTS下运行的7.0.6版本。

# 第一个问题
为了在计算大型问题时提高计算效率,在特别是在服务器上运行计算时,通常不需要在计算过程中输出结果。与本地情况不同的是,在服务器上进行计算时通常不输出flow.dat文件。
所以此时使用SU2的过程就分为两步:
第一步就是进入case目录下,运行如下代码(这时,目录中应该包括.su2的网格文件和后缀为.cfg的配置文件,图中为config.cfg

$ mpirun -n 20 SU2_CFD config.cfg

其中的mpirun命令为并行指令,-n 20为处理器核心参数,比如我是使用20核心进行计算。
计算完成后,一般会生成一个history.dat文件和restart.dat文件。就我此时的需求来说,计算完成后,我需要一个Tecplot可以使用的.dat数据文件,此时就可以运行如下命令

$ mpirun -n 20 SU2_SOL config.cfg

这个命令会对restart.dat文件中的计算结果进行处理,从而生成一个关键文件flow.dat,但在使用过程中发现,执行这样的一个命令后,生成的文件是flow.vtu,这样的文件格式是tecplot无法读取的,所以就卡在这了。
第一个想到的问题就是修改.cfg配置文件中的

% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%

这一项,其中最让人关注的一项就是

% Output file format (PARAVIEW, TECPLOT, STL)

在官网上下载的case中的算例这一项给的配置通常是

TABULAR_FORMAT= CSV

但在修改了这一项的值为TECPLOT后输出的文件类型无变化,这就很让人感到困惑。
后来,在官网上偶然看到了一个全配置文件,也就是包含所有可设置的量的配置文件。附上下载链接:

https://github.com/su2code/SU2/blob/master/config_template.cfg

就可以从这个里面选择自己想要的配置项对算例进行配置。
比如关于输出项的配置

% Files to output 
% Possible formats : (TECPLOT, TECPLOT_BINARY, SURFACE_TECPLOT,
%  SURFACE_TECPLOT_BINARY, CSV, SURFACE_CSV, PARAVIEW, PARAVIEW_BINARY, SURFACE_PARAVIEW, 
%  SURFACE_PARAVIEW_BINARY, MESH, RESTART_BINARY, RESTART_ASCII, CGNS, STL)
% default : (RESTART, PARAVIEW, SURFACE_PARAVIEW)
OUTPUT_FILES= (RESTART, PARAVIEW, SURFACE_PARAVIEW)

瞬间感觉看到了希望。对,就这样,在配置文件中加入以下项后

OUTPUT_FILES= (RESTART, TECPLOT_ASCII, SURFACE_CSV)

(最后一项如果改为SURFACE_TECPLOT会出现报错的情况,具体原因不知)
成功得到了flow.dat文件,这个问题解决了。而在本地计算时,输出的solution文件格式也与此有关。

按现在看来,服务器上运行SU2和在本地运行SU2还存在着很大的不同,以后有机会再探究这个问题。

 类似资料: