|
|
|
|
#include "FITKAbstractOFSolver.h"
|
|
|
|
|
#include "FITKOFTransportProp.h"
|
|
|
|
|
#include "FITKOFDiscretization.h"
|
|
|
|
|
#include "FITKOFSolution.h"
|
|
|
|
|
#include "FITKOFBoundary.h"
|
|
|
|
|
#include "FITKOFRunControl.h"
|
|
|
|
|
#include "FITKOFInitialConditions.h"
|
|
|
|
|
#include "FITKOFOperatingConditions.h"
|
|
|
|
|
|
|
|
|
|
namespace Interface
|
|
|
|
|
{
|
|
|
|
|
FITKAbstractOFSolver::FITKAbstractOFSolver()
|
|
|
|
|
{
|
|
|
|
|
//创建数据对象
|
|
|
|
|
_discretization = new FITKOFDiscretization;
|
|
|
|
|
_solution = new FITKOFSolution;
|
|
|
|
|
_initialCond = new FITKOFInitialConditions;
|
|
|
|
|
_runControl = new FITKOFRunControl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKAbstractOFSolver::~FITKAbstractOFSolver()
|
|
|
|
|
{
|
|
|
|
|
//销毁数据
|
|
|
|
|
if (_transportProp) delete _transportProp;
|
|
|
|
|
if (_discretization) delete _discretization;
|
|
|
|
|
if (_solution) delete _solution;
|
|
|
|
|
if (_initialCond) delete _initialCond;
|
|
|
|
|
if (_operatingCond) delete _operatingCond;
|
|
|
|
|
|
|
|
|
|
for (FITKOFBoundary* bd : _boundaryInfos)
|
|
|
|
|
if (bd) delete bd;
|
|
|
|
|
_boundaryInfos.clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString FITKAbstractOFSolver::getSolverCommand()
|
|
|
|
|
{
|
|
|
|
|
return QString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FITKAbstractOFSolver::turbEnabled() const
|
|
|
|
|
{
|
|
|
|
|
//是否启用湍流
|
|
|
|
|
return _enableTurb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFSolverTypeEnum::FITKOFSolverType FITKAbstractOFSolver::getSolverType()
|
|
|
|
|
{
|
|
|
|
|
//获取求解器类型
|
|
|
|
|
return FITKOFSolverTypeEnum::FITKOFSolverType::SolverNone;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFDiscretization* FITKAbstractOFSolver::getDiscretization()
|
|
|
|
|
{
|
|
|
|
|
//获取离散
|
|
|
|
|
return _discretization;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFTransportProp* FITKAbstractOFSolver::getTransportProp()
|
|
|
|
|
{
|
|
|
|
|
//获取材料
|
|
|
|
|
return _transportProp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFSolution* FITKAbstractOFSolver::getSolution()
|
|
|
|
|
{
|
|
|
|
|
//获取solution数据
|
|
|
|
|
return _solution;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFInitialConditions* FITKAbstractOFSolver::getInitialConditions()
|
|
|
|
|
{
|
|
|
|
|
//获取Initial Conditions数据
|
|
|
|
|
return _initialCond;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFBoundary* FITKAbstractOFSolver::getBoundary(FITKOFSolverTypeEnum::FITKOFBoundaryType bType)
|
|
|
|
|
{
|
|
|
|
|
//获取边界数据
|
|
|
|
|
for (FITKOFBoundary* bd : _boundaryInfos)
|
|
|
|
|
{
|
|
|
|
|
if (!bd)continue;
|
|
|
|
|
if (bd->getBoundaryType() == bType)
|
|
|
|
|
return bd;
|
|
|
|
|
}
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFRunControl* FITKAbstractOFSolver::getRunControl()
|
|
|
|
|
{
|
|
|
|
|
//获取运行配置数据
|
|
|
|
|
return _runControl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FITKOFOperatingConditions* FITKAbstractOFSolver::getOperatingConditions()
|
|
|
|
|
{
|
|
|
|
|
//获取求解工作条件
|
|
|
|
|
return _operatingCond;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::init()
|
|
|
|
|
{
|
|
|
|
|
//初始化数据
|
|
|
|
|
this->initTransportProp();
|
|
|
|
|
this->initDiscretization();
|
|
|
|
|
this->initSolution();
|
|
|
|
|
this->initBoundarys();
|
|
|
|
|
this->initInitialConditions();
|
|
|
|
|
this->initRunControl();
|
|
|
|
|
this->initOperatingConditions();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initTransportProp()
|
|
|
|
|
{
|
|
|
|
|
//初始化材料
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initDiscretization()
|
|
|
|
|
{
|
|
|
|
|
//初始化离散数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initSolution()
|
|
|
|
|
{
|
|
|
|
|
//初始化solution
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initBoundarys()
|
|
|
|
|
{
|
|
|
|
|
//初始化边界
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initInitialConditions()
|
|
|
|
|
{
|
|
|
|
|
//初始化Initial Conditions数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initRunControl()
|
|
|
|
|
{
|
|
|
|
|
//初始化运行配置数据
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FITKAbstractOFSolver::initOperatingConditions()
|
|
|
|
|
{
|
|
|
|
|
//初始化工作条件
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|