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/FITK_Interface/FITKInterfaceFlowOF/FITKFlowPhysicsHandlerFacto...

239 lines
8.0 KiB
C

/**********************************************************************
* @file FITKFlowPhysicsHandlerFactory.h
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*********************************************************************/
#ifndef FITKFLOWPHYSICSHANDLERFACTORY_H_
#define FITKFLOWPHYSICSHANDLERFACTORY_H_
#include "FITKInterfaceFlowOFAPI.h"
#include "FITKOFEnum.hpp"
#include "FITK_Kernel/FITKAppFramework/FITKComponentInterface.h"
namespace Interface
{
class FITKAbstractOFSolver;
class FITKAbstractOFTurbulence;
class FITKOFBoundary;
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
class FITKInterfaceFlowOFAPI FITKFlowPhysicsHandlerFactory : public AppFrame::FITKComponentInterface
{
public:
explicit FITKFlowPhysicsHandlerFactory() = default;
virtual ~FITKFlowPhysicsHandlerFactory() = default;
/**
* @brief return "FITKFlowPhysicsHandlerFactory"
* @return QString
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-04
*/
virtual QString getComponentName() override;
/**
* @brief
* @param[i] solverName
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
void setSolver(QString solverName);
/**
* @brief
* @param[i] turbulenceName
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-21
*/
void setTurbence(QString turbulenceName);
/**
* @brief SolutionSolver
* @param[i] index
* @param[i] solutionSolverName solution
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-23
*/
void setSolutionSolver(int vIndex, QString solutionSolverName);
/**
* @brief TransportModel
* @param[i] phaseIndex
* @param[i] modelName
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setTransportModel(int phaseIndex, QString modelName);
/**
* @brief
* @param[i] meshBoundaryId Id
* @param[i] bType
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setBoundary(int meshBoundaryId, FITKOFSolverTypeEnum::FITKOFBoundaryType bType);
/**
* @brief
* @param[i] boundaryIndex
* @param[i] bType
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setBoundaryType(int boundaryIndex, FITKOFSolverTypeEnum::FITKOFBoundaryType bType);
/**
* @brief
* @param[i] boundaryId
* @param[i] variableName
* @param[i] boundaryType
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setVariableBoundaryType(int boundaryId, QString variableName, QString boundaryType);
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-18
*/
void recordBoundaryMeshName();
/**
* @brief , 使
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-18
*/
void resetBoundaryMesh();
/**
* @brief
* @param[i] geometryId
* @param[i] vNameList
* @param[i] type
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-04
*/
void setPatch(int geometryId, QStringList vNameList, FITKOFSolverInitialEnum::FITKPatchApplyObjectType type);
/**
* @brief -
* @return QStringList
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-11
*/
QStringList filterPatchFieldsType();
/**
* @brief setFields
* @return bool
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-05
*/
bool isExecuteSetFields();
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-11
*/
void clearPhysicsData();
protected:
/**
* @brief -
* @param[i] solver
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void actionSetSolver(FITKAbstractOFSolver* solver);
/**
* @brief
* @param[i] turbulence
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void actionSetTurbulence(FITKAbstractOFTurbulence* turbulence);
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setPhysicsDiscretization();
/**
* @brief solution
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setPhysicsSolution();
/**
* @brief Initial
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setPhysicsInitialConditions();
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void setPhysicsTransportProp();
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-31
*/
void setPhysicsRunControl();
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-09-04
*/
void setPhysicsOperatingConditions();
/**
* @brief
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void updatePhysicsDiscretization();
/**
* @brief solution
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void updatePhysicsSolution();
/**
* @brief initial
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void updatePhysicsInitialConditions();
/**
* @brief Boundary
* @return void
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-08-26
*/
void updatePhysicsBoundaryConditions();
};
}
#endif // !FITKFLOWPHYSICSHANDLERFACTORY_H_