|
|
|
#include "CFDStructDataSolverTimeModeManager.h"
|
|
|
|
#include "CUIProperty/CUIConfig.h"
|
|
|
|
#include "CFDStructMain/CFDStructDefine.h"
|
|
|
|
#include "CFDStructSigsCenter.h"
|
|
|
|
#include "CUIProperty/CUISigsCenter.h"
|
|
|
|
#include <QVariant>
|
|
|
|
#include "CFDStructDataSolverBoundaryConditionManager.h"
|
|
|
|
|
|
|
|
CFDStructDataSolverBoundaryConditionManager::CFDStructDataSolverBoundaryConditionManager(QObject *parent) : CFDStructDataManagerBase(parent)
|
|
|
|
{
|
|
|
|
m_uiConfig = nullptr;
|
|
|
|
connect(m_cuiSigsCenter, &CUISigsCenter::sig_cuiPropertyChanged, this, [=](int semaphore)
|
|
|
|
{ emit CFDStructSigsCenter::getInstance() -> sig_solverTimeModeDataChanged(); });
|
|
|
|
}
|
|
|
|
|
|
|
|
CFDStructDataSolverBoundaryConditionManager::~CFDStructDataSolverBoundaryConditionManager()
|
|
|
|
{
|
|
|
|
// CFDStructDataManagerBase::~CFDStructDataManagerBase();
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::getParamUIConfig()
|
|
|
|
{
|
|
|
|
if (m_uiConfig != nullptr)
|
|
|
|
{
|
|
|
|
delete m_uiConfig;
|
|
|
|
m_uiConfig = nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
qDebug() << "in manager " << m_BoundaryType;
|
|
|
|
|
|
|
|
if (m_BoundaryType == 0)
|
|
|
|
return genFarFieldModeUIConfig();
|
|
|
|
if (m_BoundaryType == 1)
|
|
|
|
return genPressureInletModeUIConfig();
|
|
|
|
if (m_BoundaryType == 2)
|
|
|
|
return genPressureOutletUIConfig();
|
|
|
|
if (m_BoundaryType == 3)
|
|
|
|
return genSymmetricUIConfig();
|
|
|
|
if (m_BoundaryType == 4)
|
|
|
|
{
|
|
|
|
if (m_PeriodicType == 0)
|
|
|
|
return genCycleTranslationUIConfig();
|
|
|
|
if (m_PeriodicType == 1)
|
|
|
|
return genCycleRotationUIConfig();
|
|
|
|
return genCycleTranslationUIConfig();
|
|
|
|
}
|
|
|
|
if (m_BoundaryType == 5)
|
|
|
|
{
|
|
|
|
qDebug() << "walltype is :" << m_WallType;
|
|
|
|
if (m_WallType == 0)
|
|
|
|
return genWallAdiabaticWallUIConfig();
|
|
|
|
if (m_WallType == 1)
|
|
|
|
return genWallIsothermalWallUIConfig();
|
|
|
|
if (m_WallType == 2)
|
|
|
|
return genWallHotFlowWallUIConfig();
|
|
|
|
|
|
|
|
return genWallAdiabaticWallUIConfig();
|
|
|
|
}
|
|
|
|
|
|
|
|
return m_uiConfig;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genFarFieldModeUIConfig()
|
|
|
|
{
|
|
|
|
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 马赫数
|
|
|
|
{"name", tr("mach number")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_MachNumber)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
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("temperature")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_Temperature)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 来流方向
|
|
|
|
{"name", tr("Flow direction")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_InflowDirection)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
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)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
});
|
|
|
|
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genPressureInletModeUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 总压
|
|
|
|
{"name", tr("Total pressure")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_TotalPressure)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 总温
|
|
|
|
{"name", tr("Total temperature")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_TotalTemperature)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 静压
|
|
|
|
{"name", tr("static pressure")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_StaticPressure)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 来流方向
|
|
|
|
{"name", tr("Flow direction")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_InflowDirection)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
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)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
// TODO 用户自定义
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genPressureOutletUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "GroupBox"},
|
|
|
|
{"name", ""},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioComponent"},
|
|
|
|
{"widget", "Component"},
|
|
|
|
{"layout", "QHBoxLayout"},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"name", "Constant Static Pressure"},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"name", "Average Static Pressure"},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 静压
|
|
|
|
{"name", tr("static pressure")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_StaticPressure)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
}),
|
|
|
|
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genSymmetricUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genCycleTranslationUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 配对名称
|
|
|
|
{"name", tr("Pairing Name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_PairingName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 对应面
|
|
|
|
{"name", tr("Corresponding surface")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_CorrespondingSurface)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 周期类型
|
|
|
|
{"name", tr("Cycle type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_PeriodicType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"},
|
|
|
|
{"name", tr("Translation ")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"},
|
|
|
|
{"name", tr("Rotation")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 平移距离
|
|
|
|
{"name", tr("TranslationDistance")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_TranslationDistance)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genCycleRotationUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 配对名称
|
|
|
|
{"name", tr("Pairing Name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_PairingName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 对应面
|
|
|
|
{"name", tr("Corresponding surface")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_CorrespondingSurface)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 周期类型
|
|
|
|
{"name", tr("Cycle type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_PeriodicType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"},
|
|
|
|
{"name", tr("Translation ")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"},
|
|
|
|
{"name", tr("Rotation")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 旋转中心
|
|
|
|
{"name", tr("Rotation center")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_RotationCenter)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 转轴方向
|
|
|
|
{"name", tr("Axis direction")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_RotationAxisDirection)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 旋转角
|
|
|
|
{"name", tr("Rotation angle")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_RotationAngle)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genWallAdiabaticWallUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioComponent"}, // 壁面类型
|
|
|
|
{"name", tr("Wall type")},
|
|
|
|
{"widget", "GroupBox"},
|
|
|
|
{"layout", "QHBoxLayout"},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_WallType)},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 绝热壁
|
|
|
|
{"name", tr("Adiabatic wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 等温壁
|
|
|
|
{"name", tr("Isothermal wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 热流壁
|
|
|
|
{"name", tr("Hot flow wall")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genWallIsothermalWallUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"widget", "GroupBox"},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioComponent"}, // 壁面类型
|
|
|
|
{"name", tr("Wall type")},
|
|
|
|
{"widget", "GroupBox"},
|
|
|
|
{"layout", "QHBoxLayout"},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_WallType)},
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 绝热壁
|
|
|
|
{"name", tr("Adiabatic wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 等温壁
|
|
|
|
{"name", tr("Isothermal wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 热流壁
|
|
|
|
{"name", tr("Hot flow wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEidt"}, // 壁面温度
|
|
|
|
{"name", tr("Wall temperature")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_WallTemperature)},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
CUIConfig *CFDStructDataSolverBoundaryConditionManager::genWallHotFlowWallUIConfig()
|
|
|
|
{
|
|
|
|
return new CUIConfig({{"type", "Widget"}}, {
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 边界名称
|
|
|
|
{"name", tr("Boundary name")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryName)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEdit"}, // 所属计算域
|
|
|
|
{"name", tr("Belonging to the computing domain")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_STRING},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_ComputationalDomain)},
|
|
|
|
},
|
|
|
|
{}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "ComboBox"}, // 边界类型
|
|
|
|
{"name", tr("Boundary type")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_BoundaryType)},
|
|
|
|
{"semaphore", (int)SolutionAnalysisModuleProperty::Boundary_Conditions},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 远场
|
|
|
|
{"name", tr("far field")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强入口
|
|
|
|
{"name", tr("Pressure inlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 压强出口
|
|
|
|
{"name", tr("Pressure outlet")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 对称
|
|
|
|
{"name", tr("symmetric")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 周期
|
|
|
|
{"name", tr("cycle")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "Item"}, // 壁面
|
|
|
|
{"name", tr("Wall surface")},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioComponent"}, // 壁面类型
|
|
|
|
{"name", tr("Wall type")},
|
|
|
|
{"widget", "GroupBox"},
|
|
|
|
{"layout", "QHBoxLayout"},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_INT},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_WallType)},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 绝热壁
|
|
|
|
{"name", tr("Adiabatic wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 等温壁
|
|
|
|
{"name", tr("Isothermal wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "RadioButton"}, // 热流壁
|
|
|
|
{"name", tr("Hot flow wall")},
|
|
|
|
}),
|
|
|
|
new CUIConfig({
|
|
|
|
{"type", "LineEidt"}, // 壁面热流
|
|
|
|
{"name", tr("Wall heat flux")},
|
|
|
|
{"value_type", CUI_DATA_TYPE::CUI_DATA_TYPE_DOUBLE},
|
|
|
|
{"value_origin", QVA_GLOBAL(&m_WallHeatFlux)},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
});
|
|
|
|
return nullptr;
|
|
|
|
}
|