vanDriestDelta构造的问题?
-
LES计算时,当delta使用vanDriest模型时,发现其构造函数中,构造了一个geometricDelta_的指针
Foam::LESModels::vanDriestDelta::vanDriestDelta ( const word& name, const turbulenceModel& turbulence, const dictionary& dict ) : LESdelta(name, turbulence), geometricDelta_ ( LESdelta::New ( IOobject::groupName("geometricDelta", turbulence.U().group()), turbulence, // Note: cannot use optionalSubDict - if no *Coeffs dict the // code will get stuck in a loop attempting to read the delta entry // - consider looking up "geometricDelta" instead of "delta"? dict.subDict(type() + "Coeffs") ) ), kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)), Aplus_ ( dict.optionalSubDict(type() + "Coeffs").lookupOrDefault<scalar> ( "Aplus", 26.0 ) ), Cdelta_ ( dict.optionalSubDict(type() + "Coeffs").lookupOrDefault<scalar> ( "Cdelta", 0.158 ) ), calcInterval_ ( dict.optionalSubDict(type() + "Coeffs").lookupOrDefault<label> ( "calcInterval", 1 ) ) { delta_ = geometricDelta_(); }
这个geometricDelta_用到了LESdelta::New,似乎又是一个runtime selection选择机制,但是我不知道
IOobject::groupName("geometricDelta", turbulence.U().group()),
是什么意思。
然后我在tutorials中找到了使用vanDriest的范例:vanDriestCoeffs { delta cubeRootVol; cubeRootVolCoeffs { deltaCoeff 1; } }
也许geometricDelta_又构造了一个LESDelta类,并且采用了cubeRootVol,不知道我猜的对不对。
另外delta_ = geometricDelta_()
到底是什么操作呢?
Foam::LESModels::vanDriestDelta::calcDelta()这个函数,是对近壁面delta进行修正,但是在vanDriestDelta的构造函数中没有看到使用calcDelta()这个函数,那到底是在什么地方修正的delta呢?