/********************************************************************** * @file FITKOFPhysicsManager.h * @brief 物理数据管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 *********************************************************************/ #ifndef _FITKOF_PHYSICS_MANAGER_H___ #define _FITKOF_PHYSICS_MANAGER_H___ #include "FITKInterfaceFlowOFAPI.h" #include "FITKOFEnum.hpp" #include "FITK_Kernel/FITKCore/FITKCoreMacros.h" #include namespace Interface { class FITKOFSolverManager; class FITKOFTurbulenceManager; class FITKOFSolutionSolverManager; class FITKOFTransportModelManager; class FITKOFBoundaryTypeManager; } namespace Interface { class FITKOFPhysicsManagerDeleator; /** * @brief 物理场数据管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ class FITKInterfaceFlowOFAPI FITKOFPhysicsManager { friend FITKOFPhysicsManagerDeleator; DeclSingleton(FITKOFPhysicsManager); public: /** * @brief 获取求解器管理器 * @return FITKOFSolverManager * * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ FITKOFSolverManager* getSolverManager(); /** * @brief 获取湍流模型管理器 * @return FITKOFTurbulenceManager * * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ FITKOFTurbulenceManager* getTurbulenceManager(); /** * @brief 获取SolutionSolver管理器 * @return FITKOFSolutionSolverManager * * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-22 */ FITKOFSolutionSolverManager* getSolutionSolverManager(); /** * @brief 获取物理材料模型管理器 * @return FITKOFTransportModelManager * * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 */ FITKOFTransportModelManager* getTransportModelManager(); /** * @brief 获取边界类型管理器 * @return FITKOFBoundaryTypeManager * * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-26 */ FITKOFBoundaryTypeManager* getBoundaryTypeManager(); private: /** * @brief 初始化函数 * @return void * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ void initialize(); /** * @brief 销毁函数 * @return void * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ void finalize(); private: /** * @brief 求解器管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ FITKOFSolverManager* m_solverManager{}; /** * @brief 湍流管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-21 */ FITKOFTurbulenceManager* m_turbulenceManager{}; /** * @brief solution Solver管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-22 */ FITKOFSolutionSolverManager* m_solutionSolverManager{}; /** * @brief 物理材料模型管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-23 */ FITKOFTransportModelManager* m_transportModelManager{}; /** * @brief 边界类型管理器 * @author liuzhonghua (liuzhonghuaszch@163.com) * @date 2024-08-26 */ FITKOFBoundaryTypeManager* m_boundaryTypeManager{}; }; class FITKOFPhysicsManagerDeleator { public: explicit FITKOFPhysicsManagerDeleator() = default; virtual ~FITKOFPhysicsManagerDeleator(); }; } #endif // !_FITKOF_PHYSICS_MANAGER_H___