1、完成求解器三个节点的配置

feature/struct-menu-20241023
mzh 2 weeks ago
parent 4847c47cab
commit c3fd1c0c6b

@ -26,12 +26,30 @@ CUIConfig *CFDStructDataSolverKvislManager::getParamUIConfig()
return genLaminarUIConfig(); return genLaminarUIConfig();
} }
if(m_Model == 2) { if(m_Model == 2) {
if(m_RNSModel == 0)
return genRANSSAUIConfig();
if(m_RNSModel == 1)
return genRANSUIMentersConfig();
if(m_RNSModel == 2)
return genRANSKEUIConfig();
return genRANSSAUIConfig(); return genRANSSAUIConfig();
} }
if(m_Model == 3) { if(m_Model == 3) {
if(m_RNSModel == 0)
return genDESSAUIConfig();
if(m_RNSModel == 1)
return genDESMentersUIConfig();
if(m_RNSModel == 2)
m_RNSModel = 0;
return genDESSAUIConfig(); return genDESSAUIConfig();
} }
if(m_Model == 4) { if(m_Model == 4) {
if(m_RNSModel == 0)
return genCLESUIConfig();
if(m_RNSModel == 1)
return genCLESMentersUIConfig();
if(m_RNSModel == 2)
m_RNSModel = 0;
return genCLESUIConfig(); return genCLESUIConfig();
} }
return this->genInviscidUIConfig(); return this->genInviscidUIConfig();
@ -121,6 +139,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程) new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
@ -134,6 +155,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
{"type", "RadioComponent"}, // 组:S-A类型 {"type", "RadioComponent"}, // 组:S-A类型
{"name", tr("S-A Type")}, {"name", tr("S-A Type")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_SAType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
@ -173,6 +197,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程) new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
@ -186,6 +214,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig()
{"type", "RadioComponent"}, // 组:κ-ω类型 {"type", "RadioComponent"}, // 组:κ-ω类型
{"name", tr("κ-ω Type")}, {"name", tr("κ-ω Type")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_kwType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
@ -223,6 +254,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程) new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
@ -236,6 +271,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig()
{"type", "RadioComponent"}, // 组:κ-ε类型 {"type", "RadioComponent"}, // 组:κ-ε类型
{"name", tr("κ-ε Type")}, {"name", tr("κ-ε Type")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_keType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
@ -273,6 +311,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
{"type", "RadioComponent"}, // 组:DES {"type", "RadioComponent"}, // 组:DES
{"name", tr("DES Model")}, {"name", tr("DES Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_DESModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:DES new CUIConfig({{"type", "RadioButton"}, // 按钮:DES
@ -286,6 +327,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程) new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
@ -295,7 +340,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
}), }),
new CUIConfig({{"type", "RadioComponent"}, // 组:S-A类型 new CUIConfig({{"type", "RadioComponent"}, // 组:S-A类型
{"name", tr("S-A Type")}, {"name", tr("S-A Type")},
{"widget", "GroupBox"}}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_SAType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},},
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
{"name", tr("standard")}}), {"name", tr("standard")}}),
@ -330,7 +378,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
}), }),
new CUIConfig({{"type", "RadioComponent"}, // 组:DES new CUIConfig({{"type", "RadioComponent"}, // 组:DES
{"name", tr("DES Model")}, {"name", tr("DES Model")},
{"widget", "GroupBox"}}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_DESModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},},
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:DES new CUIConfig({{"type", "RadioButton"}, // 按钮:DES
{"name", tr("DES")}}), {"name", tr("DES")}}),
@ -341,7 +392,11 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
}), }),
new CUIConfig({{"type", "RadioComponent"}, // 组:RANS模型 new CUIConfig({{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程) new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
{"name", tr("S-A")}}), {"name", tr("S-A")}}),
@ -350,7 +405,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
}), }),
new CUIConfig({{"type", "RadioComponent"}, // 组:κ-ω类型 new CUIConfig({{"type", "RadioComponent"}, // 组:κ-ω类型
{"name", tr("κ-ω Type")}, {"name", tr("κ-ω Type")},
{"widget", "GroupBox"}}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_kwType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},},
{ {
new CUIConfig({{"type", "RadioButton"}, // 按钮:SST new CUIConfig({{"type", "RadioButton"}, // 按钮:SST
{"name", tr("SST")}}), {"name", tr("SST")}}),
@ -397,6 +455,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -412,6 +474,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig()
{"type", "RadioComponent"}, // 组:S-A类型 {"type", "RadioComponent"}, // 组:S-A类型
{"name", tr("S-A Type")}, {"name", tr("S-A Type")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_SAType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -465,6 +530,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESMentersUIConfig()
{"type", "RadioComponent"}, // 组:RANS模型 {"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")}, {"name", tr("RANS Model")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_RNSModel)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -480,6 +549,9 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESMentersUIConfig()
{"type", "RadioComponent"}, // 组:κ-ω类型 {"type", "RadioComponent"}, // 组:κ-ω类型
{"name", tr("κ-ω Type")}, {"name", tr("κ-ω Type")},
{"widget", "GroupBox"}, {"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_kwType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
}, },
{ {
new CUIConfig({ new CUIConfig({

@ -1,18 +1,27 @@
#include "CFDStructDataSolverNumericalMethodManager.h" #include "CFDStructDataSolverNumericalMethodManager.h"
#include "CUIProperty/CUIConfig.h" #include "CUIProperty/CUIConfig.h"
#include "CFDStructMain/CFDStructDefine.h"
#include "CFDStructSigsCenter.h"
CFDStructDataSolverNumericalMethodManager::CFDStructDataSolverNumericalMethodManager(QObject *parent):CFDStructDataManagerBase(parent) CFDStructDataSolverNumericalMethodManager::CFDStructDataSolverNumericalMethodManager(QObject *parent) : CFDStructDataManagerBase(parent)
{ {
m_uiConfig = nullptr; m_uiConfig = nullptr;
} }
CFDStructDataSolverNumericalMethodManager::~CFDStructDataSolverNumericalMethodManager() CFDStructDataSolverNumericalMethodManager::~CFDStructDataSolverNumericalMethodManager()
{ {
} }
CUIConfig *CFDStructDataSolverNumericalMethodManager::getParamUIConfig() CUIConfig *CFDStructDataSolverNumericalMethodManager::getParamUIConfig()
{ {
if(m_fluxFormat == 0)
return this->genJamesonModeUIConfig();
if(m_fluxFormat == 1)
return this->genRoeModeUIConfig();
if(m_fluxFormat == 2)
return this->genAUSMDYModeUIConfig();
if(m_fluxFormat == 3)
return this->genAUSMPWPModeUIConfig();
return this->genRoeModeUIConfig(); return this->genRoeModeUIConfig();
} }
@ -30,6 +39,12 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 通量格式 {"type", "ComboBox"}, // 通量格式
{"name", tr("Flux format")}, {"name", tr("Flux format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
{"semaphore", (int)SolutionAnalysisModuleProperty::NUumerical_Methods},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -53,14 +68,21 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 二阶人工粘性 {"type", "LineEdit"}, // 二阶人工粘性
{"name", tr("Second-order artificial viscosity")}, {"name", tr("Second-order artificial viscosity")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_secondOrderArtificialViscosity)},
}), }),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 四阶人工粘性 {"type", "LineEdit"}, // 四阶人工粘性
{"name", tr("Fourth order artificial viscosity")}, {"name", tr("Fourth order artificial viscosity")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_fourthOrderArtificialViscosity)},
}), }),
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 空间精度 {"type", "ComboBox"}, // 空间精度
{"name", tr("Spatial accuracy")}, {"name", tr("Spatial accuracy")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_spaceAccuracy)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -83,6 +105,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 限制器 {"type", "ComboBox"}, // 限制器
{"name", tr("limiter")}, {"name", tr("limiter")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_limiter)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -107,6 +132,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 时间格式 {"type", "ComboBox"}, // 时间格式
{"name", tr("Time format")}, {"name", tr("Time format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_timeFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -121,6 +149,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 迭代方法 {"type", "ComboBox"}, // 迭代方法
{"name", tr("Iterative method")}, {"name", tr("Iterative method")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_iterationMethod)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -131,6 +162,8 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 松弛因子 {"type", "LineEdit"}, // 松弛因子
{"name", tr("Relaxation factor")}, {"name", tr("Relaxation factor")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_relaxationFactor)},
}, },
{}), {}),
}), }),
@ -142,11 +175,15 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 多重网格层数 {"type", "LineEdit"}, // 多重网格层数
{"name", tr("Multi grid layers")}, {"name", tr("Multi grid layers")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 循环类型 {"type", "ComboBox"}, // 循环类型
{"name", tr("Loop type")}, {"name", tr("Loop type")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -161,16 +198,22 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genJamesonModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 粗网格CFL数 {"type", "LineEdit"}, // 粗网格CFL数
{"name", tr("Rough grid CFL number")}, {"name", tr("Rough grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_coarseGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 细网格CFL数 {"type", "LineEdit"}, // 细网格CFL数
{"name", tr("Fine grid CFL number")}, {"name", tr("Fine grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_fineGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 湍流CFL数 {"type", "LineEdit"}, // 湍流CFL数
{"name", tr("Turbulent CFL number")}, {"name", tr("Turbulent CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_turbulentCFL)},
}, },
{}), {}),
}), }),
@ -194,6 +237,12 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 通量格式 {"type", "ComboBox"}, // 通量格式
{"name", tr("Flux format")}, {"name", tr("Flux format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
{"semaphore", (int)SolutionAnalysisModuleProperty::NUumerical_Methods},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -217,6 +266,8 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 熵修正类型 {"type", "ComboBox"}, // 熵修正类型
{"name", tr("Entropy correction type")}, {"name", tr("Entropy correction type")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_EntropyCorrectionType)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -231,6 +282,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 空间精度 {"type", "ComboBox"}, // 空间精度
{"name", tr("Spatial accuracy")}, {"name", tr("Spatial accuracy")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_spaceAccuracy)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -253,6 +307,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 限制器 {"type", "ComboBox"}, // 限制器
{"name", tr("limiter")}, {"name", tr("limiter")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_limiter)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -277,6 +334,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 时间格式 {"type", "ComboBox"}, // 时间格式
{"name", tr("Time format")}, {"name", tr("Time format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_timeFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -291,6 +351,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 迭代方法 {"type", "ComboBox"}, // 迭代方法
{"name", tr("Iterative method")}, {"name", tr("Iterative method")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_iterationMethod)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -301,6 +364,8 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 松弛因子 {"type", "LineEdit"}, // 松弛因子
{"name", tr("Relaxation factor")}, {"name", tr("Relaxation factor")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_relaxationFactor)},
}, },
{}), {}),
}), }),
@ -312,11 +377,15 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 多重网格层数 {"type", "LineEdit"}, // 多重网格层数
{"name", tr("Multi grid layers")}, {"name", tr("Multi grid layers")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 循环类型 {"type", "ComboBox"}, // 循环类型
{"name", tr("Loop type")}, {"name", tr("Loop type")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -331,16 +400,22 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genRoeModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 粗网格CFL数 {"type", "LineEdit"}, // 粗网格CFL数
{"name", tr("Rough grid CFL number")}, {"name", tr("Rough grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_coarseGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 细网格CFL数 {"type", "LineEdit"}, // 细网格CFL数
{"name", tr("Fine grid CFL number")}, {"name", tr("Fine grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_fineGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 湍流CFL数 {"type", "LineEdit"}, // 湍流CFL数
{"name", tr("Turbulent CFL number")}, {"name", tr("Turbulent CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_turbulentCFL)},
}, },
{}), {}),
}), }),
@ -362,6 +437,10 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 通量格式 {"type", "ComboBox"}, // 通量格式
{"name", tr("Flux format")}, {"name", tr("Flux format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
{"semaphore", (int)SolutionAnalysisModuleProperty::NUumerical_Methods},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -385,6 +464,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 空间精度 {"type", "ComboBox"}, // 空间精度
{"name", tr("Spatial accuracy")}, {"name", tr("Spatial accuracy")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_spaceAccuracy)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -407,6 +489,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 限制器 {"type", "ComboBox"}, // 限制器
{"name", tr("limiter")}, {"name", tr("limiter")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_limiter)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -431,6 +516,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 时间格式 {"type", "ComboBox"}, // 时间格式
{"name", tr("Time format")}, {"name", tr("Time format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_timeFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -445,6 +533,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 迭代方法 {"type", "ComboBox"}, // 迭代方法
{"name", tr("Iterative method")}, {"name", tr("Iterative method")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_iterationMethod)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -455,6 +546,8 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 松弛因子 {"type", "LineEdit"}, // 松弛因子
{"name", tr("Relaxation factor")}, {"name", tr("Relaxation factor")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_relaxationFactor)},
}, },
{}), {}),
}), }),
@ -466,11 +559,15 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 多重网格层数 {"type", "LineEdit"}, // 多重网格层数
{"name", tr("Multi grid layers")}, {"name", tr("Multi grid layers")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 循环类型 {"type", "ComboBox"}, // 循环类型
{"name", tr("Loop type")}, {"name", tr("Loop type")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -485,16 +582,22 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMDYModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 粗网格CFL数 {"type", "LineEdit"}, // 粗网格CFL数
{"name", tr("Rough grid CFL number")}, {"name", tr("Rough grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_coarseGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 细网格CFL数 {"type", "LineEdit"}, // 细网格CFL数
{"name", tr("Fine grid CFL number")}, {"name", tr("Fine grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_fineGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 湍流CFL数 {"type", "LineEdit"}, // 湍流CFL数
{"name", tr("Turbulent CFL number")}, {"name", tr("Turbulent CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_turbulentCFL)},
}, },
{}), {}),
}), }),
@ -516,6 +619,12 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 通量格式 {"type", "ComboBox"}, // 通量格式
{"name", tr("Flux format")}, {"name", tr("Flux format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
{"semaphore", (int)SolutionAnalysisModuleProperty::NUumerical_Methods},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_fluxFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -539,6 +648,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 空间精度 {"type", "ComboBox"}, // 空间精度
{"name", tr("Spatial accuracy")}, {"name", tr("Spatial accuracy")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_spaceAccuracy)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -561,6 +673,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 限制器 {"type", "ComboBox"}, // 限制器
{"name", tr("limiter")}, {"name", tr("limiter")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_limiter)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -585,6 +700,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 时间格式 {"type", "ComboBox"}, // 时间格式
{"name", tr("Time format")}, {"name", tr("Time format")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_timeFormat)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -599,6 +717,9 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 迭代方法 {"type", "ComboBox"}, // 迭代方法
{"name", tr("Iterative method")}, {"name", tr("Iterative method")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_iterationMethod)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -609,6 +730,8 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 松弛因子 {"type", "LineEdit"}, // 松弛因子
{"name", tr("Relaxation factor")}, {"name", tr("Relaxation factor")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_relaxationFactor)},
}, },
{}), {}),
}), }),
@ -620,11 +743,15 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 多重网格层数 {"type", "LineEdit"}, // 多重网格层数
{"name", tr("Multi grid layers")}, {"name", tr("Multi grid layers")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "ComboBox"}, // 循环类型 {"type", "ComboBox"}, // 循环类型
{"name", tr("Loop type")}, {"name", tr("Loop type")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_multigridLevels)},
}, },
{ {
new CUIConfig({ new CUIConfig({
@ -639,16 +766,22 @@ CUIConfig *CFDStructDataSolverNumericalMethodManager::genAUSMPWPModeUIConfig()
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 粗网格CFL数 {"type", "LineEdit"}, // 粗网格CFL数
{"name", tr("Rough grid CFL number")}, {"name", tr("Rough grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_coarseGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 细网格CFL数 {"type", "LineEdit"}, // 细网格CFL数
{"name", tr("Fine grid CFL number")}, {"name", tr("Fine grid CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_fineGridCFL)},
}, },
{}), {}),
new CUIConfig({ new CUIConfig({
{"type", "LineEdit"}, // 湍流CFL数 {"type", "LineEdit"}, // 湍流CFL数
{"name", tr("Turbulent CFL number")}, {"name", tr("Turbulent CFL number")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_turbulentCFL)},
}, },
{}), {}),
}), }),

@ -29,18 +29,90 @@ private:
signals: signals:
private: private:
// // 时间模式定常0非定常1
// int m_runtype = 0; // 通量格式
// // 时间模式定常0则是迭代步数时间模式非定常1则是内迭代步数 /**
// int m_mcyc = 1000; * @brief m_fluxFormat
// // 步长模式 >=1 *
// double m_alf0 = 1.0; * 0. Jameson
// // 时间步长 >0 * 1. Roe
// double m_realdt = 1.0; * 2. AUSMDY
// // 时间步数 >=1 * 3. AUSMPWP
// int m_nstep = 10; */
// // 时均统计量数据采样0 | 1 int m_fluxFormat = 0;
// int m_timeaverage = 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;
// 多重网格层数
double m_multigridLevels = 0.5;
// 循环类型
/**
* @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;
}; };
#endif // CFDSTRUCTDATASOLVERNUMERICALMETHODMANAGER_H #endif // CFDSTRUCTDATASOLVERNUMERICALMETHODMANAGER_H

Loading…
Cancel
Save