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.
AppFlow/CFDStruct/CFDStructDataManager/CFDStructDataSolverNumerica...

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 = 0;
// 限制器
/**
* @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
* 0-V循环
1-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