You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.4 KiB
C++
123 lines
2.4 KiB
C++
/**
|
|
* 求解器-数值方法
|
|
*/
|
|
#ifndef CFDSTRUCTDATASOLVERNUMERICALMETHODEMANAGER_H
|
|
#define CFDSTRUCTDATASOLVERNUMERICALMETHODEMANAGER_H
|
|
|
|
#include <CFDStructDataManagerBase.h>
|
|
#include "CFDStructDataManager_global.h"
|
|
class CUIConfig;
|
|
|
|
class CFDSTRUCTDATAMANAGER_EXPORT CFDStructDataSolverNumericalMethodManager : public CFDStructDataManagerBase
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit CFDStructDataSolverNumericalMethodManager(QObject *parent = nullptr);
|
|
~CFDStructDataSolverNumericalMethodManager();
|
|
|
|
CUIConfig* getParamUIConfig();
|
|
void saveDataToDom(rapidjson::Document &dom);
|
|
|
|
private:
|
|
// 生成Jameson的界面配置
|
|
CUIConfig* genJamesonModeUIConfig();
|
|
// 生成Roe界面配置
|
|
CUIConfig* genRoeModeUIConfig();
|
|
// 生成AUSMDY界面配置
|
|
CUIConfig* genAUSMDYModeUIConfig();
|
|
// 生成AUSMPWP界面配置
|
|
CUIConfig* genAUSMPWPModeUIConfig();
|
|
signals:
|
|
|
|
private:
|
|
|
|
// 通量格式
|
|
/**
|
|
* @brief m_fluxFormat
|
|
*
|
|
* 0. Jameson
|
|
* 1. Roe
|
|
* 2. AUSMDY
|
|
* 3. AUSMPWP
|
|
*/
|
|
int m_fluxFormat = 0;
|
|
|
|
// 二阶人工粘性
|
|
double m_secondOrderArtificialViscosity = 0.5;
|
|
|
|
// 四阶人工粘性
|
|
double m_fourthOrderArtificialViscosity = 0.5;
|
|
|
|
// 空间精度
|
|
/**
|
|
* @brief m_spaceAccuracy
|
|
0.一阶迎风
|
|
1.二阶迎风差分
|
|
2.二阶迎风偏置
|
|
3.三阶迎风偏置
|
|
*/
|
|
int m_spaceAccuracy = 2;
|
|
|
|
// 限制器
|
|
/**
|
|
* @brief m_limiter
|
|
* 0.none
|
|
* 1.Vanalbda
|
|
2.Minmod
|
|
*/
|
|
int m_limiter = 0;
|
|
|
|
// 时间格式
|
|
/**
|
|
* @brief m_timeFormat
|
|
* 0-隐式
|
|
* 1-隐式二阶差分
|
|
*/
|
|
int m_timeFormat = 0;
|
|
|
|
// 迭代方法
|
|
/**
|
|
* @brief m_iterationMethod
|
|
* 0-LUSGS
|
|
*/
|
|
int m_iterationMethod = 0;
|
|
|
|
// 松弛因子
|
|
double m_relaxationFactor = 0.5;
|
|
|
|
// 多重网格层数
|
|
int m_multigridLevels = 0;
|
|
|
|
// 循环类型
|
|
/**
|
|
* @brief m_cycleType
|
|
* 1-V循环
|
|
2-W循环
|
|
*/
|
|
int m_cycleType = 0;
|
|
|
|
// 粗网格CFL数
|
|
double m_coarseGridCFL = 1.0;
|
|
|
|
// 细网格CFL数
|
|
double m_fineGridCFL = 1.0;
|
|
|
|
// 湍流CFL数
|
|
double m_turbulentCFL = 1.0;
|
|
|
|
//熵修正类型
|
|
/**
|
|
* @brief m_EntropyCorrectionType
|
|
* 0-Harten-Hyman
|
|
* 1-Harten-Yee
|
|
*
|
|
*/
|
|
int m_EntropyCorrectionType;
|
|
|
|
//收敛稳定化
|
|
int m_ConvergenceStabilization = 0;
|
|
|
|
};
|
|
|
|
#endif // CFDSTRUCTDATASOLVERNUMERICALMETHODMANAGER_H
|