#include "CFDStructDataSolverTimeModeManager.h" #include "CFDStructDataManagerBase.h" #include "CFDStructMain/CFDStructDefine.h" #include "CFDStructSigsCenter.h" #include "CUIProperty/CUIConfig.h" #include "CUIProperty/CUISigsCenter.h" #include #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)}, })}); }