compressibleInterFoam如何给定气体的thermoPhysicalProperties
-
利用compressibleInterFoam进行汽液两相流计算(空化),流场温度是非均的。 在定义thermoPhysicalProperties时,需要选用:
1、transport模型:计算粘度和导热率
2、thermo模型:计算比热容
但是这二者的子模型只能给定物理性质随温度的变化关系,事实上这些物理性质(如粘度、导热率、比热容)也随压力发生变化。
所以如何定义thermoPhysicalProperties,才能让他们在不同的温度和压力下均能计算出正确的物性?
谢谢各位! -
举个例子,transport Model (OpenFOAM-10 Andrade),代码默认mu和kappa只与温度有关,虽然函数有压力(p)这个参数。如果需要考虑压力的影响,新建一个模型文件,把相应的模型植入在这些相应的函数里即可。
template<class Thermo> inline Foam::scalar Foam::AndradeTransport<Thermo>::mu ( const scalar p, const scalar T ) const { return exp ( muCoeffs_[0] + muCoeffs_[1]*T + muCoeffs_[2]*sqr(T) + muCoeffs_[3]/(muCoeffs_[4] + T) ); } template<class Thermo> inline Foam::scalar Foam::AndradeTransport<Thermo>::kappa ( const scalar p, const scalar T ) const { return exp ( kappaCoeffs_[0] + kappaCoeffs_[1]*T + kappaCoeffs_[2]*sqr(T) + kappaCoeffs_[3]/(kappaCoeffs_[4] + T) ); } 看janaf里Cp也是一样。
template<class EquationOfState> inline Foam::scalar Foam::janafThermo<EquationOfState>::Cp ( const scalar p, const scalar T ) const { const coeffArray& a = coeffs(T); return ((((a[4]*T + a[3])*T + a[2])*T + a[1])*T + a[0]) + EquationOfState::Cp(p, T); }
2023年8月7日 08:19
1/3
2023年8月7日 14:19