Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. vanDriestDelta构造的问题?

vanDriestDelta构造的问题?

已定时 已固定 已锁定 已移动 OpenFOAM
2 帖子 2 发布者 1.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #1

    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呢?

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    写于 最后由 编辑
    #2

    建议参考这个
    https://www.openfoam.com/documentation/guides/latest/doc/guide-turbulence-les-delta-vandriest.html
    OpenFOAM里面的LESdelta是基于geometricDelta_的,geometricDelta_(delta关键字后面的那个,比如cubeRootVol)是纯粹与几何有关的一个量,而真正的LESdelta是建立在其之上的。这样的表述实际上更精确,所以才被设计成了两个东西,我猜的。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]