/** * 边界条件 */ #ifndef CFDSTRUCTDATASOLVERBOUNDARYCONDITIONEMANAGER_H #define CFDSTRUCTDATASOLVERBOUNDARYCONDITIONEMANAGER_H #include "CFDStructDataManager_global.h" #include class CUIConfig; class CFDSTRUCTDATAMANAGER_EXPORT CFDStructDataSolverBoundaryConditionManager : public CFDStructDataManagerBase { Q_OBJECT public: explicit CFDStructDataSolverBoundaryConditionManager(QObject *parent = nullptr); ~CFDStructDataSolverBoundaryConditionManager(); CUIConfig *getParamUIConfig(); void saveDataToDom(rapidjson::Document &dom); void readDataFromDom(rapidjson::Document &dom); private: // 生成界面配置 壁面 绝热壁 CUIConfig *genWallAdiabaticWallUIConfig(); // 生成界面配置 壁面 绝热壁 CUIConfig *genWallIsothermalWallUIConfig(); // 生成界面配置 壁面 绝热壁 CUIConfig *genWallHotFlowWallUIConfig(); // 生成界面配置 远场 CUIConfig *genFarFieldModeUIConfig(); // 生成界面配置 压强入口 超声速 柱坐标系 CUIConfig *genPressureInletModeSupersonicCylindricalUIConfig(); // 生成界面配置 压强入口 超声速 笛卡尔坐标系 CUIConfig *genPressureInletModeSupersonicCartesianUIConfig(); // 生成界面配置 压强入口 超声速 面法相 CUIConfig *genPressureInletModeSupersonicSurfaceUIConfig(); // 生成界面配置 压强入口 亚声速 柱坐标系 CUIConfig *genPressureInletModeSubsonicCylindricalUIConfig(); // 生成界面配置 压强入口 亚声速 笛卡尔坐标系 CUIConfig *genPressureInletModeSubsonicCartesianUIConfig(); // 生成界面配置 压强入口 亚声速 面法相 CUIConfig *genPressureInletModeSubsonicSurfaceUIConfig(); // 生成界面配置 压强出口 CUIConfig *genPressureOutletUIConfig(); // 生成界面配置 对称 CUIConfig *genSymmetricUIConfig(); // 超音速出口/外推 CUIConfig *genSupersonicOutlet_ExtrapolateUIConfig(); // 网格交界面 CUIConfig *genMeshInterfaceUIConfig(); // 生成界面配置 周期 平移 CUIConfig *genCycleTranslationUIConfig(); // 生成界面配置 周期 旋转 CUIConfig *genCycleRotationUIConfig(); // 流量出口 CUIConfig *genMassFlowOutletUIConfig(); signals: private: // 粘性模型 int m_Model; // RANS模型 int m_RNSModel; // 边界名称 QString m_BoundaryName; // Boundary Name // 所属计算域 QString m_ComputationalDomain; // Computational Domain // 边界类型 int m_BoundaryType = 0; // Boundary Type // 马赫数 double m_MachNumber; // Mach Number // // 密度 // double m_Density; // Density // 压强 double m_Pressure; // 温度 double m_Temperature; // Temperature // 来流方向 // double m_InflowDirection; // Inflow Direction double m_InflowDirectionX = 0; double m_InflowDirectionY = 0; double m_InflowDirectionZ = 0; // 湍流粘性比 double m_TurbulentViscosityRatio; // Turbulent Viscosity Ratio // 湍流强度 double m_TurbulentIntensity; // Turbulent Intensity // 总压 double m_TotalPressure; // Total Pressure // 总温 double m_TotalTemperature; // Total Temperature // 静压 double m_StaticPressure; // Static Pressure // 配对名称 double m_PairingName; // Pairing Name // 对应面 int m_CorrespondingSurface; // Corresponding Surface // 周期类型 int m_PeriodicType = 0; // Periodic Type // 平移距离 // QString m_TranslationDistance; // Translation Distance double m_TranslationDistanceX = 0; double m_TranslationDistanceY = 0; double m_TranslationDistanceZ = 0; // 旋转中心 // QString m_RotationCenter; // Rotation Center double m_RotationCenterX = 0; double m_RotationCenterY = 0; double m_RotationCenterZ = 0; // 转轴方向 // QString m_RotationAxisDirection; // Rotation Axis Direction double m_per_rot_aixsX = 0; double m_per_rot_aixsY = 0; double m_per_rot_aixsZ = 0; // 旋转角 double m_RotationAngle; // Rotation Angle // 壁面类型 int m_WallType = 0; // Wall Type // 壁面温度 double m_WallTemperature; // Wall Temperature // 壁面热流 double m_WallHeatFlux; // Wall Heat Flux // 配对名称 QString m_PairedName = ""; // 对应面 int m_MatchingSurface = 0; // 流量(单流道 double m_FlowRate = 0; // 初始压强: double m_InitialPressure = 0; // 压强松弛因子 double m_PressureRelaxationFactor = 0; // 速度方向类型 int m_VelocityDirectionType = 0; // 方向矢量 // QString m_DirectionVector = ""; double m_DirectionVectorX = 0; double m_DirectionVectorY = 0; double m_DirectionVectorZ = 0; // 边界类型,选中总压入口时,出现的子选项,可选声速、亚声速 int m_BoundaryType_sub = 0; // 用户自定义 int m_UserDefined = 0; }; #endif // CFDSTRUCTDATASOLVERBOUNDARYCONDITIONMANAGER_H