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.
110 lines
3.2 KiB
C++
110 lines
3.2 KiB
C++
/**********************************************************************
|
|
* @file FITKOFInitialConditions.h
|
|
* @brief initial Conitions数据对象
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-08-23
|
|
*********************************************************************/
|
|
#ifndef _FITK_OF_Initial_Conditions__H___
|
|
#define _FITK_OF_Initial_Conditions__H___
|
|
|
|
#include "FITKInterfaceFlowOFAPI.h"
|
|
#include "FITK_Kernel/FITKCore/FITKAbstractNDataObject.h"
|
|
#include "FITKOFEnum.hpp"
|
|
|
|
namespace Core
|
|
{
|
|
class FITKParameter;
|
|
}
|
|
|
|
namespace Interface
|
|
{
|
|
class FITKAbsGeoCommand;
|
|
/**
|
|
* @brief 几何补丁
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-03
|
|
*/
|
|
class FITKInterfaceFlowOFAPI FITKOFGeometryPatch
|
|
{
|
|
public:
|
|
explicit FITKOFGeometryPatch(int geoId, FITKOFSolverInitialEnum::FITKPatchApplyObjectType type);
|
|
virtual ~FITKOFGeometryPatch();
|
|
|
|
/**
|
|
* @brief 获取几何Id
|
|
* @return int
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-23
|
|
*/
|
|
int getGeometryId();
|
|
/**
|
|
* @brief 获取几何数据对象
|
|
* @return Interface::FITKAbsGeoCommand*
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-07-26
|
|
*/
|
|
Interface::FITKAbsGeoCommand* getGeometryModel();
|
|
/**
|
|
* @brief 获取参数
|
|
* @return Core::FITKParameter *
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-04
|
|
*/
|
|
Core::FITKParameter* getFieldPara();
|
|
/**
|
|
* @brief 获取类型
|
|
* @return FITKOFSolverInitialEnum::FITKPatchApplyObjectType
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-04
|
|
*/
|
|
FITKOFSolverInitialEnum::FITKPatchApplyObjectType getAppltTo();
|
|
|
|
private:
|
|
int _geometryId{ 0 };
|
|
Core::FITKParameter* _fieldPara{};
|
|
FITKOFSolverInitialEnum::FITKPatchApplyObjectType _applyType{ FITKOFSolverInitialEnum::FITKPatchApplyObjectType::Cells };
|
|
};
|
|
/**
|
|
* @brief 初始条件数据对象
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-03
|
|
*/
|
|
class FITKInterfaceFlowOFAPI FITKOFInitialConditions : public Core::FITKAbstractNDataObject
|
|
{
|
|
Q_OBJECT
|
|
FITKCLASS(Interface, FITKOFInitialConditions);
|
|
public:
|
|
explicit FITKOFInitialConditions();
|
|
virtual ~FITKOFInitialConditions();
|
|
/**
|
|
* @brief 获取基础初始化
|
|
* @return Core::FITKParameter *
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-03
|
|
*/
|
|
Core::FITKParameter* getBasicData();
|
|
|
|
int getPatchCount();
|
|
|
|
FITKOFGeometryPatch* getPatch(int index);
|
|
|
|
void removePatch(int index);
|
|
|
|
void appendPatch(FITKOFGeometryPatch* patch);
|
|
|
|
protected:
|
|
private:
|
|
/**
|
|
* @brief 基础初始化参数
|
|
* @author liuzhonghua (liuzhonghuaszch@163.com)
|
|
* @date 2024-09-03
|
|
*/
|
|
Core::FITKParameter* _basic{};
|
|
|
|
QList<FITKOFGeometryPatch*> _patchs{};
|
|
};
|
|
}
|
|
|
|
|
|
#endif
|