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...

145 lines
3.2 KiB
C

/**
* -
*/
#ifndef CFDSTRUCTDATASOLVERNUMERICALMETHODEMANAGER_H
#define CFDSTRUCTDATASOLVERNUMERICALMETHODEMANAGER_H
#include "CFDStructDataManager_global.h"
#include <CFDStructDataManagerBase.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);
void readDataFromDom(rapidjson::Document &dom);
private:
// 生成Jameson的界面配置
CUIConfig *genJamesonModeUIConfig();
// 生成Roe界面配置
CUIConfig *genRoeModeUIConfig();
// 生成AUSMDY界面配置
CUIConfig *genAUSMDYModeUIConfig();
// 生成AUSMPWP界面配置
CUIConfig *genAUSMPWPModeUIConfig();
signals:
private:
// 时间离散部分的配置
CUIConfig *m_TimeDispersionGroupConfig;
// 初始化时间离散部分的配置
void initTimeDespersionGroupConfig();
// 通量格式
/**
* @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-
*
* ------------------------------------
* ------------------------------------
* **
* 0-
* 1-
*
* **
* 0-
*/
int m_timeFormat = 0;
// 迭代方法
/**
* @brief m_iterationMethod
* 0-LUSGS
*
* ---------old----------
* ---------new-----------
*
* LUSGSjson2
*
*
* json1
*
*/
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