1、完成粘性模型数据写入json

feature/struct-menu-20241023
mzh 1 week ago
parent 51597e7e8e
commit 75dafea600

@ -6,11 +6,11 @@
CFDStructDataSolverKvislManager::CFDStructDataSolverKvislManager(QObject *parent) : CFDStructDataManagerBase(parent)
{
m_uiConfig = nullptr;
connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [ = ](int semaphore) {
connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [=](int semaphore)
{
if (semaphore == (int)SolutionAnalysisModuleProperty::Viscosity_Model) {
emit CFDStructSigsCenter::getInstance()->sig_solverKvislDataChanged();
}
});
} });
}
CFDStructDataSolverKvislManager::~CFDStructDataSolverKvislManager()
@ -19,38 +19,43 @@ CFDStructDataSolverKvislManager::~CFDStructDataSolverKvislManager()
CUIConfig *CFDStructDataSolverKvislManager::getParamUIConfig()
{
if(m_Model == 0) {
if (m_Model == 0)
{
return genInviscidUIConfig();
}
if(m_Model == 1) {
if (m_Model == 1)
{
return genLaminarUIConfig();
}
if(m_Model == 2) {
if(m_RNSModel == 0)
if (m_Model == 2)
{
if (m_RNSModel == 0)
return genRANSSAUIConfig();
if(m_RNSModel == 1)
if (m_RNSModel == 1)
return genRANSUIMentersConfig();
if(m_RNSModel == 2)
if (m_RNSModel == 2)
return genRANSKEUIConfig();
return genRANSSAUIConfig();
}
if(m_Model == 3) {
if (m_Model == 3)
{
m_SAType = 0;
if(m_RNSModel == 0)
if (m_RNSModel == 0)
return genDESSAUIConfig();
if(m_RNSModel == 1)
if (m_RNSModel == 1)
return genDESMentersUIConfig();
if(m_RNSModel == 2)
if (m_RNSModel == 2)
m_RNSModel = 0;
return genDESSAUIConfig();
}
if(m_Model == 4) {
if (m_Model == 4)
{
m_SAType = 0;
if(m_RNSModel == 0)
if (m_RNSModel == 0)
return genCLESUIConfig();
if(m_RNSModel == 1)
if (m_RNSModel == 1)
return genCLESMentersUIConfig();
if(m_RNSModel == 2)
if (m_RNSModel == 2)
m_RNSModel = 0;
return genCLESUIConfig();
}
@ -59,14 +64,58 @@ CUIConfig *CFDStructDataSolverKvislManager::getParamUIConfig()
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"});
}
}
CUIConfig *CFDStructDataSolverKvislManager::genInviscidUIConfig()
{
return new CUIConfig(
{{"type", "Widget"}}, {
new CUIConfig({
{{"type", "Widget"}}, {new CUIConfig({
{"type", "RadioComponent"}, // 组:模型
{"name", tr("Model")},
{"widget", "GroupBox"},
@ -74,8 +123,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genInviscidUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -84,17 +132,14 @@ CUIConfig *CFDStructDataSolverKvislManager::genInviscidUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
})
});
{"name", tr("CLES")}})})});
return nullptr;
}
CUIConfig *CFDStructDataSolverKvislManager::genLaminarUIConfig()
{
return new CUIConfig(
{{"type", "Widget"}}, {
new CUIConfig({
{{"type", "Widget"}}, {new CUIConfig({
{"type", "RadioComponent"}, // 组:模型
{"name", tr("Model")},
{"widget", "GroupBox"},
@ -102,8 +147,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genLaminarUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -112,9 +156,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genLaminarUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
})
});
{"name", tr("CLES")}})})});
return nullptr;
}
@ -130,8 +172,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -140,8 +181,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
}),
{"name", tr("CLES")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},
@ -150,14 +190,12 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
{"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")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
{"name", tr("Menters's κ-ω")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:κ-ε(两方程)
{"name", tr("κ-ε")}})
}),
{"name", tr("κ-ε")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:S-A类型
{"name", tr("S-A Type")},
@ -166,12 +204,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSSAUIConfig()
{"value_origin", QVA_GLOBAL(&m_SAType)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
{new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
{"name", tr("standard")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:Edwards
{"name", tr("Edwards")}})
}),
{"name", tr("Edwards")}})}),
});
return nullptr;
}
@ -188,8 +224,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -198,8 +233,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
}),
{"name", tr("CLES")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},
@ -209,14 +243,12 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSUIMentersConfig()
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
{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("κ-ε")}})
}),
{"name", tr("κ-ε")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:κ-ω类型
{"name", tr("κ-ω Type")},
@ -245,8 +277,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -255,8 +286,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
}),
{"name", tr("CLES")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},
@ -266,14 +296,12 @@ CUIConfig *CFDStructDataSolverKvislManager::genRANSKEUIConfig()
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:S-A(一方程)
{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("κ-ε")}})
}),
{"name", tr("κ-ε")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:κ-ε类型
{"name", tr("κ-ε Type")},
@ -302,8 +330,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -312,8 +339,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
}),
{"name", tr("CLES")}})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:DES
{"name", tr("DES Model")},
@ -345,12 +371,14 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESSAUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
{"name", tr("Menters's κ-ω")}}),
}),
new CUIConfig({{"type", "RadioComponent"}, // 组:S-A类型
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},},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:standard
{"name", tr("standard")}}),
@ -371,8 +399,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{new CUIConfig({{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:层流
{"name", tr("Laminar")}}),
@ -381,14 +408,15 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:分离涡模拟
{"name", tr("DES")}}),
new CUIConfig({{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")}})
}),
new CUIConfig({{"type", "RadioComponent"}, // 组:DES
{"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},},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:DES
{"name", tr("DES")}}),
@ -397,7 +425,8 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:IDDES两方程
{"name", tr("IDDES")}}),
}),
new CUIConfig({{"type", "RadioComponent"}, // 组:RANS模型
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},
{"widget", "GroupBox"},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
@ -410,12 +439,14 @@ CUIConfig *CFDStructDataSolverKvislManager::genDESMentersUIConfig()
new CUIConfig({{"type", "RadioButton"}, // 按钮:Menters's κ-ω(两方程)
{"name", tr("Menters's κ-ω")}}),
}),
new CUIConfig({{"type", "RadioComponent"}, // 组:κ-ω类型
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},},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({{"type", "RadioButton"}, // 按钮:SST
{"name", tr("SST")}}),
@ -436,8 +467,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({
{new CUIConfig({
{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")},
}),
@ -456,8 +486,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig()
new CUIConfig({
{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")},
})
}),
})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},
@ -490,10 +519,10 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESUIConfig()
{"type", "RadioButton"}, // 按钮:standard
{"name", tr("standard")},
}),
// new CUIConfig({
// {"type", "RadioButton"}, // 按钮:Edwards
// {"name", tr("Edwards")},
// }),
// new CUIConfig({
// {"type", "RadioButton"}, // 按钮:Edwards
// {"name", tr("Edwards")},
// }),
}),
});
return nullptr;
@ -511,8 +540,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESMentersUIConfig()
{"value_origin", QVA_GLOBAL(&m_Model)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Viscosity_Model},
},
{
new CUIConfig({
{new CUIConfig({
{"type", "RadioButton"}, // 按钮:无粘
{"name", tr("Inviscid")},
}),
@ -531,8 +559,7 @@ CUIConfig *CFDStructDataSolverKvislManager::genCLESMentersUIConfig()
new CUIConfig({
{"type", "RadioButton"}, // 按钮:约束大涡模型
{"name", tr("CLES")},
})
}),
})}),
new CUIConfig({
{"type", "RadioComponent"}, // 组:RANS模型
{"name", tr("RANS Model")},

@ -6,17 +6,20 @@
"turbModel": {
"RANS": {
"params": {
"Prl": 7.0,
"Prt": 69.0
}
}
"Prl": 0.0,
"Prt": 0.0
},
"type": 0,
"subType": 0
},
"type": 2
}
},
"flowType": 0,
"chimeraMesh": 0,
"refValue": {
"rgas_mean": 5.0,
"gamma": 6.0
"rgas_mean": 0.0,
"gamma": 0.0
}
}
],

Loading…
Cancel
Save