#include "CFDStructDataSolverKvislManager.h" #include "CFDStructDataManager.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() { m_runTime = CFDStructDataManager::getInstance()->getTimeModeRunTime(); qDebug() << m_runTime << "runtime"; if (m_runTime == 1) { 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(); } } else if (m_runTime == 0) { if (m_Model == 0) { return genSteadyInviscidUIConfig(); } if (m_Model == 1) { return genSteadyLaminarUIConfig(); } if (m_Model == 2) { if (m_RNSModel == 0) return genSteadyRANSSAUIConfig(); if (m_RNSModel == 1) return genSteadyRANSUIMentersConfig(); if (m_RNSModel == 2) return genSteadyRANSKEUIConfig(); return genRANSSAUIConfig(); } else { m_Model = 0; return genSteadyInviscidUIConfig(); } } 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; } CUIConfig *CFDStructDataSolverKvislManager::genSteadyInviscidUIConfig() { 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")}}), }), }); return nullptr; } CUIConfig *CFDStructDataSolverKvislManager::genSteadyLaminarUIConfig() { 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")}}), })}); return nullptr; } CUIConfig *CFDStructDataSolverKvislManager::genSteadyRANSSAUIConfig() { 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", "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::genSteadyRANSUIMentersConfig() { 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", "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::genSteadyRANSKEUIConfig() { 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", "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; } int CFDStructDataSolverKvislManager::getRNSModel() { return m_RNSModel; } int CFDStructDataSolverKvislManager::getModel() { return m_Model; }