@李东岳 感谢李老师的回复,根据查阅的资料:this->nuEff() = nu() + nut() interFoam求解器使用的this->nuEff()应该是laminarModel下的Stokes.C这个模型,因为在求解器计算时输出器选用的stress model 是Stokes model,那divDevTau()函数下的this->nuEff()就如Stokes.C内所描述如下,就是指向nu()并不是为this->nut() + this->nu(),这里就很疑惑,这里将nu()换成自己设定的Nu(T),就得不到合理的计算结果(流场分布)。此外,我选用的是层流在laminarModel.C内也将nut初始化为0,如下代码,所以不知道interFoam这里调用了哪里的的nuEff(),可能不是目前我认知的Stokes.C内部的:141:
template<class BasicMomentumTransportModel>
tmp<volScalarField> Stokes<BasicMomentumTransportModel>::nuEff() const
{
return volScalarField::New
(
IOobject::groupName("nuEff", this->alphaRhoPhi_.group()),
this->nu()
);
}
template<class BasicMomentumTransportModel>
Foam::tmp<Foam::volScalarField>
Foam::laminarModel<BasicMomentumTransportModel>::nut() const
{
return volScalarField::New
(
IOobject::groupName("nut", this->alphaRhoPhi_.group()),
this->mesh_,
dimensionedScalar(dimViscosity, 0)
);
}