|
|
#include "CFDStructDataSolverKvislManager.h"
|
|
|
#include "CFDStructMain/CFDStructDefine.h"
|
|
|
#include "CFDStructSigsCenter.h"
|
|
|
#include "CUIProperty/CUIConfig.h"
|
|
|
|
|
|
CFDStructDataSolverKvislManager::CFDStructDataSolverKvislManager(QObject *parent) : CFDStructDataManagerBase(parent) {
|
|
|
m_uiConfig = nullptr;
|
|
|
connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [=](int semaphore) {
|
|
|
if (semaphore == (int)SolutionAnalysisModuleProperty::Viscosity_Model) {
|
|
|
emit CFDStructSigsCenter::getInstance()->sig_solverKvislDataChanged();
|
|
|
} });
|
|
|
}
|
|
|
|
|
|
CFDStructDataSolverKvislManager::~CFDStructDataSolverKvislManager() {
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::getParamUIConfig() {
|
|
|
if (m_Model == 0) {
|
|
|
return genInviscidUIConfig();
|
|
|
}
|
|
|
if (m_Model == 1) {
|
|
|
return genLaminarUIConfig();
|
|
|
}
|
|
|
if (m_Model == 2) {
|
|
|
if (m_RNSModel == 0)
|
|
|
return genRANSSAUIConfig();
|
|
|
if (m_RNSModel == 1)
|
|
|
return genRANSUIMentersConfig();
|
|
|
if (m_RNSModel == 2)
|
|
|
return genRANSKEUIConfig();
|
|
|
return genRANSSAUIConfig();
|
|
|
}
|
|
|
if (m_Model == 3) {
|
|
|
m_SAType = 0;
|
|
|
if (m_RNSModel == 0)
|
|
|
return genDESSAUIConfig();
|
|
|
if (m_RNSModel == 1)
|
|
|
return genDESMentersUIConfig();
|
|
|
if (m_RNSModel == 2)
|
|
|
m_RNSModel = 0;
|
|
|
return genDESSAUIConfig();
|
|
|
}
|
|
|
if (m_Model == 4) {
|
|
|
m_SAType = 0;
|
|
|
if (m_RNSModel == 0)
|
|
|
return genCLESUIConfig();
|
|
|
if (m_RNSModel == 1)
|
|
|
return genCLESMentersUIConfig();
|
|
|
if (m_RNSModel == 2)
|
|
|
m_RNSModel = 0;
|
|
|
return genCLESUIConfig();
|
|
|
}
|
|
|
return this->genInviscidUIConfig();
|
|
|
}
|
|
|
|
|
|
void CFDStructDataSolverKvislManager::saveDataToDom(rapidjson::Document &dom) {
|
|
|
if (m_Model == 0) {
|
|
|
jsonAdd(dom, 0, {"region", 0, "solver", "turbModel", "type"});
|
|
|
} else if (m_Model == 1) {
|
|
|
jsonAdd(dom, 1, {"region", 0, "solver", "turbModel", "type"});
|
|
|
} else if (m_Model == 2) {
|
|
|
jsonAdd(dom, 2, {"region", 0, "solver", "turbModel", "type"});
|
|
|
} else if (m_Model == 3) {
|
|
|
if (m_DESModel == 0) {
|
|
|
jsonAdd(dom, 3, {"region", 0, "solver", "turbModel", "type"});
|
|
|
} else if (m_DESModel == 1) {
|
|
|
jsonAdd(dom, 4, {"region", 0, "solver", "turbModel", "type"});
|
|
|
} else if (m_DESModel == 2) {
|
|
|
jsonAdd(dom, 5, {"region", 0, "solver", "turbModel", "type"});
|
|
|
}
|
|
|
} else if (m_Model == 4) {
|
|
|
jsonAdd(dom, 7, {"region", 0, "solver", "turbModel", "type"});
|
|
|
}
|
|
|
|
|
|
jsonAdd(dom, m_RNSModel, {"region", 0, "solver", "turbModel", "RANS", "type"});
|
|
|
|
|
|
if (m_RNSModel == 0) {
|
|
|
jsonAdd(dom, m_SAType, {"region", 0, "solver", "turbModel", "RANS", "subType"});
|
|
|
} else if (m_RNSModel == 1) {
|
|
|
jsonAdd(dom, m_kwType, {"region", 0, "solver", "turbModel", "RANS", "subType"});
|
|
|
} else if (m_RNSModel == 2) {
|
|
|
jsonAdd(dom, m_keType, {"region", 0, "solver", "turbModel", "RANS", "subType"});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void CFDStructDataSolverKvislManager::readDataFromDom(rapidjson::Document &dom) {
|
|
|
QVariant type;
|
|
|
jsonRead(dom, type, {"region", 0, "solver", "turbModel", "type"});
|
|
|
if (type == 0) {
|
|
|
m_Model = 0;
|
|
|
} else if (type == 1) {
|
|
|
m_Model = 1;
|
|
|
} else if (type == 2) {
|
|
|
m_Model = 2;
|
|
|
} else if (type == 3) {
|
|
|
m_Model = 3;
|
|
|
m_DESModel = 0;
|
|
|
} else if (type == 4) {
|
|
|
m_Model = 3;
|
|
|
m_DESModel = 1;
|
|
|
} else if (type == 5) {
|
|
|
m_Model = 3;
|
|
|
m_DESModel = 2;
|
|
|
} else if (type == 7) {
|
|
|
m_Model = 4;
|
|
|
}
|
|
|
|
|
|
QVariant ransType;
|
|
|
jsonRead(dom, ransType, {"region", 0, "solver", "turbModel", "RANS", "type"});
|
|
|
if (ransType != QVariant()) {
|
|
|
m_RNSModel = ransType.toInt();
|
|
|
}
|
|
|
QVariant temp;
|
|
|
jsonRead(dom, temp, {"region", 0, "solver", "turbModel", "RANS", "subType"});
|
|
|
|
|
|
if (m_RNSModel == 0) {
|
|
|
m_SAType = temp.toInt();
|
|
|
} else if (m_RNSModel == 1) {
|
|
|
m_kwType = temp.toInt();
|
|
|
} else if (m_RNSModel == 2) {
|
|
|
m_keType = temp.toInt();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genInviscidUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})})});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genLaminarUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})})});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:κ-ε(两方程)
|
|
|
{"name", tr("κ-ε")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:S-A类型
|
|
|
{"name", tr("S-A Type")},
|
|
|
{"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
|
|
|
{"name", tr("standard")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Edwards
|
|
|
{"name", tr("Edwards")}})}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:κ-ε(两方程)
|
|
|
{"name", tr("κ-ε")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:κ-ω类型
|
|
|
{"name", tr("κ-ω Type")},
|
|
|
{"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
|
|
|
{"name", tr("standard")}}),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:κ-ε(两方程)
|
|
|
{"name", tr("κ-ε")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:κ-ε类型
|
|
|
{"name", tr("κ-ε Type")},
|
|
|
{"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
|
|
|
{"name", tr("standard")}}),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:DES
|
|
|
{"name", tr("DES Model")},
|
|
|
{"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
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:DDES(两方程)
|
|
|
{"name", tr("DDES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:IDDES(两方程)
|
|
|
{"name", tr("IDDES")}}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")}}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:S-A类型
|
|
|
{"name", tr("S-A Type")},
|
|
|
{"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
|
|
|
{"name", tr("standard")}}),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")}})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:DES
|
|
|
{"name", tr("DES Model")},
|
|
|
{"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
|
|
|
{"name", tr("DES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:DDES(两方程)
|
|
|
{"name", tr("DDES")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:IDDES(两方程)
|
|
|
{"name", tr("IDDES")}}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")}}),
|
|
|
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")}}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:κ-ω类型
|
|
|
{"name", tr("κ-ω Type")},
|
|
|
{"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
|
|
|
{"name", tr("SST")}}),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")},
|
|
|
})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")},
|
|
|
}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:S-A类型
|
|
|
{"name", tr("S-A Type")},
|
|
|
{"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
|
|
|
{"name", tr("standard")},
|
|
|
}),
|
|
|
// new CUIConfig({
|
|
|
// {"type", "RadioButton"}, // 按钮:Edwards
|
|
|
// {"name", tr("Edwards")},
|
|
|
// }),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverKvislManager::genCLESMentersUIConfig() {
|
|
|
return new CUIConfig(
|
|
|
{{"type", "Widget"}}, {
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:模型
|
|
|
{"name", tr("Model")},
|
|
|
{"widget", "GroupBox"},
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
{"value_origin", QVA_GLOBAL(&m_Model)},
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
|
|
|
},
|
|
|
{new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:无粘
|
|
|
{"name", tr("Inviscid")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:层流
|
|
|
{"name", tr("Laminar")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:雷诺平均
|
|
|
{"name", tr("RANS")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:分离涡模拟
|
|
|
{"name", tr("DES")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:约束大涡模型
|
|
|
{"name", tr("CLES")},
|
|
|
})}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:RANS模型
|
|
|
{"name", tr("RANS Model")},
|
|
|
{"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(一方程)
|
|
|
{"name", tr("S-A")},
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
|
|
|
{"name", tr("Menters's κ-ω")},
|
|
|
}),
|
|
|
}),
|
|
|
new CUIConfig({
|
|
|
{"type", "RadioComponent"}, // 组:κ-ω类型
|
|
|
{"name", tr("κ-ω Type")},
|
|
|
{"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
|
|
|
{"name", tr("SST")},
|
|
|
}),
|
|
|
}),
|
|
|
});
|
|
|
return nullptr;
|
|
|
}
|