#include "CFDStructDataSolverTimeModeManager.h" #include "CUIProperty/CUIConfig.h" #include "CFDStructMain/CFDStructDefine.h" #include "CFDStructSigsCenter.h" #include "CUIProperty/CUISigsCenter.h" #include #include "CFDStructDataManagerBase.h" #include #include #include CFDStructDataSolverTimeModeManager::CFDStructDataSolverTimeModeManager(QObject *parent) : CFDStructDataManagerBase(parent) { m_uiConfig = nullptr; connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [ = ](int semaphore) { emit CFDStructSigsCenter::getInstance()->sig_solverModuleProperty((SolutionAnalysisModuleProperty)semaphore); }); } CFDStructDataSolverTimeModeManager::~CFDStructDataSolverTimeModeManager() { // CFDStructDataManagerBase::~CFDStructDataManagerBase(); } CUIConfig *CFDStructDataSolverTimeModeManager::getParamUIConfig() { if (m_uiConfig != nullptr) { delete m_uiConfig; m_uiConfig = nullptr; } // qDebug()<genSteadyModeUIConfig(); } else { // 如果是非定常 m_uiConfig = this->genUnsteadyModeUIConfig(); } // m_uiConfig->printConfig(); return m_uiConfig; } void CFDStructDataSolverTimeModeManager::saveDataToDom(rapidjson::Document &dom) { jsonAdd(dom,m_runtype,{"region",0,"solver","time"}); jsonAdd(dom,m_innerIters,{"couplingSolver", "unSteady", "innerIters",}); jsonAdd(dom,m_iters,{"couplingSolver", "steady", "iters",}); jsonAdd(dom,m_alf0,{"couplingSolver", "unSteady", "stepType",}); jsonAdd(dom,m_realdt,{"couplingSolver", "unSteady", "timeStep",}); jsonAdd(dom,m_nstep,{"couplingSolver", "unSteady", "timeStepsNumber",}); jsonAdd(dom,m_timeaverage,{"couplingSolver", "unSteady", "Timeverage",}); } CUIConfig *CFDStructDataSolverTimeModeManager::genSteadyModeUIConfig() { return new CUIConfig({ {"type", "Widget"}}, { new CUIConfig({ {"type", "ComboBox"}, {"name", "Time Mode"}, {"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_runtype)}, {"semaphore", (int)SolutionAnalysisModuleProperty::Time_Mode}, }, { new CUIConfig({ {"type", "Item"}, {"name", "steady"}, }), new CUIConfig({ {"type", "Item"}, {"name", "unsteady"}, }) }), new CUIConfig({ {"type", "LineEdit"}, {"name", "iteration count"}, {"value_type", CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_iters)}, }) }); } CUIConfig *CFDStructDataSolverTimeModeManager::genUnsteadyModeUIConfig() { return new CUIConfig({ {"type", "Widget"} }, { new CUIConfig({ {"type", "ComboBox"}, {"name", "Time Mode"}, {"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_runtype)}, {"semaphore", (int)SolutionAnalysisModuleProperty::Time_Mode}, }, { new CUIConfig({ {"type", "Item"}, {"name", "steady"} }), new CUIConfig({ {"type", "Item"}, {"name", "unsteady"} }) }), new CUIConfig({ {"type", "LineEdit"}, {"name", "alf0"}, {"value_type", CUI_DATA_TYPE_DOUBLE}, {"value_origin", QVA_GLOBAL(&m_alf0)}, }), new CUIConfig({ {"type", "LineEdit"}, {"name", "realdt"}, {"value_type", CUI_DATA_TYPE_DOUBLE}, {"value_origin", QVA_GLOBAL(&m_realdt)}, }), new CUIConfig({ {"type", "LineEdit"}, {"name", "nstep"}, {"value_type", CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_nstep)}, }), new CUIConfig({ {"type", "LineEdit"}, {"name", "mcyc"}, {"value_type", CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_iters)}, }), new CUIConfig({ {"type", "CheckBox"}, {"name", "Time Average"}, {"value_type", CUI_DATA_TYPE_INT}, {"value_origin", QVA_GLOBAL(&m_timeaverage)}, }) }); }