yPlus在openfoam代码里面的实现
-
大家好,
我想在openfoam里面植入y+的公式。
我看到在nutLowReWallFunciton.C里面有关于yPlus的定义:tmp<scalarField> nutLowReWallFunctionFvPatchScalarField::yPlus() const { const label patchi = patch().index(); const turbulenceModel& turbModel = db().lookupObject<turbulenceModel> ( IOobject::groupName ( turbulenceModel::propertiesName, internalField().group() ) ); const scalarField& y = turbModel.y()[patchi]; const tmp<scalarField> tnuw = turbModel.nu(patchi); const scalarField& nuw = tnuw(); const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi]; return y*sqrt(nuw*mag(Uw.snGrad()))/nuw; }
我目前在改湍流模型,里面需要用到yPlus,所以就想着引用这里面yPlus()的定义到自己的代码里,但编译一直会报错。
不知道正确的操作应该是怎么样的?谢谢。 -
@东岳 老师您可以再提示下吗?
错误里面汇总就是:there are no arguments to ‘patch’ that depend on a template parameter, so a declaration of ‘patch’ 或‘internalField’或‘db’ must be available
不好意思代码功底有点差
-
-
-
@东岳 是的,体标量场
-
-
@东岳 那从一个壁面函数的代码里面引用yplus到湍流模型的代码里不知道怎么操作
-
那从一个壁面函数的代码里面引用yplus到湍流模型的代码里不知道怎么操作
代码倒不是问题。我觉得构成问题的,是如何在非壁面处求yPlus,目前我还没找到相应的公式,有公式就不难处理
不知道有没有人见到过如何在非壁面处求yPlus的数学公式?
-
@wwzhao 谢谢!我看了vanDriestDelta.C,里面好像是计算yStar?不知道要怎么参考
-
van Driest 也是施加 damping function,跟你这个比较类似,van Driest damping function 的定义可以参考这里。
-
最近算了几个验证壁面函书的LES,可能加van Driest会更准。有空把这个算立整理整理发上来
另外得知:
@东岳 在 yPlus在openfoam代码里面的实现 中说:
如何在非壁面处求yPlus的数学公式?
自我回答,跟常规方法一样。程序里:
#include "wallDist.H" int main() { volScalarField Dist(wallDist::New(mesh).y()); dimensionedScalar uTau("uTau", dimVelocity, 1.003); volScalarField yPlus(Dist*uTau/turbulence->nu()); }
-
@东岳 谢谢老师!这里面的uTau为何直接取1.003呢?不需要植入它的公式吗?
-
-
@Calf-Z-DNS 我那个是我自己写哒,计算出来之后是1.0003,具体我有点忘了下周回办公室给你看看
-
@东岳 好的谢谢!
2019年4月21日 11:24
4/44
2023年3月19日 00:58