VOF中模拟yeti与气泡换热
-
问题是这样的,模拟的流体的热物性参数(rho、cp、mu、kappa)随温度变化比较明显,且有关于温度T的关联式,我想要在循环中计算温度场后每计算一步新的温度场就更新热物性参数来减小计算误差,但是在createFields.H中定义了温度场后不能将关联式写进去,所以又创建了一个updateProperties.H来写入关联式: rho1 = 11065.0-1.293*(T-273.15) ; // ρ(T) [kg/m3]
mu1 = 4.94e-4exp(754.1/(T + scalar(1e-12))); // μ(T) [Pa.s]
kappaf1 = 3.284 + 0.01617(T - 273.15)-2.305e-06pow(T,2); // k(T) [W/mK]
Cp1 = 164.8-3.94T+1.25e-05pow(T,2)-4.56e05pow(T,-2); // Cp(T) [J/kgK]
rho1.correctBoundaryConditions();
mu1.correctBoundaryConditions();
kappaf1.correctBoundaryConditions();
Cp1.correctBoundaryConditions();
// 惰性气体保持常值,无需更新
mu2 = 4.43e-6+6.678e-08T-1.551e-011pow(T, 2);
kappaf2 = 3.462e-03 + 5.249e-5*(T - 273.15)-1.23e-08*pow(T,2);
mu2.correctBoundaryConditions();
kappaf2.correctBoundaryConditions();rhoMixT = alpha1*rho1 + (1 - alpha1)*rho2; CpMix = alpha1*Cp1 + (1 - alpha1)*Cp2; // rhoCp used in transient term (alpha-weighted rho*Cp) rhoCp = alpha1*rho1*Cp1 + (1 - alpha1)*rho2*Cp2; // molecular conductivity kappafLam = alpha1*kappaf1 + (1 - alpha1)*kappaf2; // turbulent thermal conductivity: k_turb = rhoCp * (nut / Prt)
{
const volScalarField& nutField = turbulence->nut(); // from turbulence model
volScalarField kappafTurb
(
IOobject("kappafTurb", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE),
rhoCp * (nutField/PrtConst)
);// effective conductivity kappafsum = kappafLam + kappafTurb; kappafsum.correctBoundaryConditions();
}
// write a short log
Info<< " rho1: [" << gMin(rho1) << ", " << gMax(rho1) << "] kg/m3" << nl
<< " mu1: [" << gMin(mu1) << ", " << gMax(mu1) << "] Pa.s" << nl
<< " kappaf1: [" << gMin(kappaf1) << ", " << gMax(kappaf1) << "] W/mK" << nl
<< " Cp1: [" << gMin(Cp1) << ", " << gMax(Cp1) << "] J/kgK" << nl;
}一直没有编译成功,请问是我的思路的问题么 -
植入的能量方程是这样的