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/CFDStructDataSolverBoundary...

165 lines
4.4 KiB
C++

/**
* 边界条件
*/
#ifndef CFDSTRUCTDATASOLVERBOUNDARYCONDITIONEMANAGER_H
#define CFDSTRUCTDATASOLVERBOUNDARYCONDITIONEMANAGER_H
#include "CFDStructDataManager_global.h"
#include <CFDStructDataManagerBase.h>
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:
// 边界名称
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_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
// 旋转中心
QString m_RotationCenter; // Rotation Center
// 转轴方向
QString m_RotationAxisDirection; // Rotation Axis Direction
// 旋转角
QString 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 = "";
// 边界类型,选中总压入口时,出现的子选项,可选声速、亚声速
int m_BoundaryType_sub = 0;
// 用户自定义
int m_UserDefined = 0;
};
#endif // CFDSTRUCTDATASOLVERBOUNDARYCONDITIONMANAGER_H