SU2代码学习(1)

因为目前还不会动态debug SU2这套代码;只能静态的来看

接上篇博客,运行代码是使用“E:\SU2-v8.1.0-win64\bin\SU2_CFD.exe .\inv_ONERAM6.cfg”该命令,其实主程序肯定就先找SU2_CFD.cpp

前面基本都是在描述不同的命令行参数对应的不同的运行参数设置:
比如"-d,--dryrun", dry_run;"-t,--threads", num_threads;"--thread_multiple", use_thread_mult;

出于简单目的考虑:我们的命令行仅包含一个参数“.\inv_ONERAM6.cfg”即配置文件参数;
app.add_option("configfile", filename, "A config file.")->check(CLI::ExistingFile);//"配置文件"

通过CConfig config(config_file_name, SU2_COMPONENT::SU2_CFD);//进入CConfig构造函数.cpp;

介绍Init()函数里面的内容:SetConfig_Options();

这个函数我认为是用来生成配置文件对应的选项有哪些;举例来说:针对Solver有

我想针对我来说可能只会用到最上面的六个。

这个文件里面有很多可供选择的模型:以我目前了解的有
MAIN_SOLVER(求解器类型)
non-dimensional modes(无量纲化模型)
spatial discretizations(空间离散方案)
fluid model(气体模型)
initialization option(初始化方案)
freestream specification(自由流)
viscosity model(粘性模型)
centered spatial discretizations(中心离散方案)
upwind spatial discretizations(迎风离散方法)
slope limiters(限制器)
turbulent models(湍流模型)
SST Options(SST不同格式)
SA Options(SA不同格式)
subgrid scale models(亚格子模型LES)
hybrid RANS/LES models(RANS相关模型)
time integration schemes(时间推进方法)
flow gradient(梯度计算方法)
boundary conditions(边界条件)
input file formats(输入文件格式)
output file formats(输出文件格式)
schemes for unsteady computations(非稳态时间推进方案)

至此,就当Init()函数完结了

接下来当然就是读取参数文件SetConfig_Parsing(case_filename);

然后对没有设置的参数进行默认设置,比较不可能把所有参数都给用户设置

设置计算域nZone不用说就等于1;

然后我认为就是根据输入参数设置一些计算参数,比如是不是理想气体之类的,
SetPostprocessing(val_software, iZone, 0);

然后就是设置边界条件SetMarkers(val_software);

在之后就是根据输入参数看是不是要输出一下了。至此,CConfig构造函数完结。

后面紧接着是SU2_CFD.cpp里面的相关的OpenMP、MPI相关配置,上述命令行参数为单区域、无并行计算;因此对应
driver = new CSinglezoneDriver(config_file_name, nZone, MPICommunicator);
即构造一个SinglezoneDriver对象

然后进入构造函数;后面等我之后看看会不会更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值