You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/CFDStruct/CFDStructDataManager/CFDStructDataSolverInitiali...

202 lines
13 KiB
C++

#include "CFDStructDataSolverTimeModeManager.h"
#include "CUIProperty/CUIConfig.h"
#include "CFDStructMain/CFDStructDefine.h"
#include "CFDStructSigsCenter.h"
#include "CUIProperty/CUISigsCenter.h"
#include <QVariant>
#include "CFDStructDataSolverInitializationManager.h"
CFDStructDataSolverInitializationManager::CFDStructDataSolverInitializationManager(QObject *parent) : CFDStructDataManagerBase(parent)
{
m_uiConfig = nullptr;
connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [=](int semaphore)
{ emit CFDStructSigsCenter::getInstance() -> sig_solverTimeModeDataChanged(); });
}
CFDStructDataSolverInitializationManager::~CFDStructDataSolverInitializationManager()
{
// CFDStructDataManagerBase::~CFDStructDataManagerBase();
}
CUIConfig *CFDStructDataSolverInitializationManager::getParamUIConfig()
{
if (m_uiConfig != nullptr)
{
delete m_uiConfig;
m_uiConfig = nullptr;
}
if(m_CoordinateSystem == 0)
return genCylindricalUIConfig();
if(m_CoordinateSystem == 1)
return genCartesianUIConfig();
return m_uiConfig;
}
void CFDStructDataSolverInitializationManager::saveDataToDom(rapidjson::Document &dom)
{
}
CUIConfig *CFDStructDataSolverInitializationManager::genCylindricalUIConfig()
{
return new CUIConfig({
{"type", "Widget"},
},
{
new CUIConfig({
{"type", "ComboBox"}, // 参考值取自
{"name", tr("The reference value is taken from")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_ReferenceValuesFrom)},
},
{}),
new CUIConfig({
{"type","ComboBox"},//坐标系
{"name",tr("Coordinate System")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_CoordinateSystem)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Initialization},
},{
new CUIConfig({
{"type","Item"},
{"name","Cylindrical Coordinate System"},
}),
new CUIConfig({
{"type","Item"},
{"name","Cartesian Coordinate System"},
}),
}),
new CUIConfig({
{"type", "GroupBox"}, // 初始值定义
{"name", tr("Initial value definition")},
},
{
new CUIConfig({
{"type", "LineEdit"}, // 密度
{"name", tr("density")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Density)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 展向速度vr
{"name", tr("Vr")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vr)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 周向速度Vtheta
{"name", tr("Vtheta")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vtheta)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 轴向速度Vz
{"name", tr("Vz")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vz)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 压强
{"name", tr("pressure")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Pressure)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 湍流粘性比
{"name", tr("Turbulent viscosity ratio")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_TurbulentViscosityRatio)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 湍流强度
{"name", tr("Turbulence intensity")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_TurbulentIntensity)},
}),
}),
});
}
CUIConfig *CFDStructDataSolverInitializationManager::genCartesianUIConfig()
{
return new CUIConfig({
{"type", "Widget"},
},
{
new CUIConfig({
{"type", "ComboBox"}, // 参考值取自
{"name", tr("The reference value is taken from")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_ReferenceValuesFrom)},
},
{}),
new CUIConfig({
{"type","ComboBox"},//坐标系
{"name",tr("Coordinate System")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
{"value_origin", QVA_GLOBAL(&m_CoordinateSystem)},
{"semaphore", (int)SolutionAnalysisModuleProperty::Initialization},
},{
new CUIConfig({
{"type","Item"},
{"name","Cylindrical Coordinate System"},
}),
new CUIConfig({
{"type","Item"},
{"name","Cartesian Coordinate System"},
}),
}),
new CUIConfig({
{"type", "GroupBox"}, // 初始值定义
{"name", tr("Initial value definition")},
},
{
new CUIConfig({
{"type", "LineEdit"}, // 密度
{"name", tr("density")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Density)},
}),
new CUIConfig({
{"type", "LineEdit"}, // vx
{"name", tr("Vx")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vx)},
}),
new CUIConfig({
{"type", "LineEdit"}, // vy
{"name", tr("Vy")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vy)},
}),
new CUIConfig({
{"type", "LineEdit"}, // vz
{"name", tr("Vz")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Vz)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 压强
{"name", tr("pressure")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_Pressure)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 湍流粘性比
{"name", tr("Turbulent viscosity ratio")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_TurbulentViscosityRatio)},
}),
new CUIConfig({
{"type", "LineEdit"}, // 湍流强度
{"name", tr("Turbulence intensity")},
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
{"value_origin", QVA_GLOBAL(&m_TurbulentIntensity)},
}),
}),
});
}