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. turbulence->validate有何意义

turbulence->validate有何意义

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

    如题,想请教一下各位前辈turbulence->validate这行代码的意义,我用抓取字符串的方式并没有在openfoam源码中找到解释,感到奇怪(当然大概率是我找的方式不对),网上也没有找到介绍
    其实除了turbulence->validate,laminarTransport.correct()和turbulence->correct()也都不太明白其具体意义,如果可以的话有大佬能帮我指出其对应软件中的源码吗,感激不尽:baobao:

    1 条回复 最后回复
  • evensunE 离线
    evensunE 离线
    evensun
    写于 最后由 李东岳 编辑
    #2

    各位老师我找到了,在openfoam API Guide里,是这么写的

    ◆ validate()
    void validate	(		)	
    virtual
    Validate the turbulence fields after construction.
    Update derived fields as required
    Definition at line 89 of file turbulenceModel.C.
    ◆ correct()
    void correct	(		)	
    pure virtual
    Solve the turbulence equations and correct the turbulence viscosity.
    Definition at line 93 of file turbulenceModel.C.
    

    网址在这里https://www.openfoam.com/documentation/guides/latest/api/classFoam_1_1turbulenceModel.html#details

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #3

    你问的大体属于C++的内容,主要是这两个符号吧?->,这个表示指针。具体指针如何用,估计在这里是解释不清楚了。可以找一本C++教材看看,我推荐C++ primer plus

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 刘 离线
    刘 离线
    刘雄国
    写于 最后由 李东岳 编辑
    #4

    其实也不难,你用grep大概能猜出个所以然来。
    grep -rn "validate"
    其他都是空函数只有一个函数有点意思

    template<class BasicTurbulenceModel>
    void Foam::ReynoldsStress<BasicTurbulencemModel>::validate()
    {
               correctNut();
    }
    

    然后我又grep 了correctNut()
    常用的是kOmega 我看了下

    template<class BasicTurbulenceModel>
    void kOmega<BasicTurbulenceModel>::correctNut()
    {
         this->nut_ = k_/omega_;
         correctBC;
         BasicTurbulenceModel::correctNut():
    }
    

    我虽然没有一行行debug, 大概猜出来就是湍流初始化。最开始给定k omega 初始值计算出第一步的nut 初始值给k omega方程,即previous time step,欢迎指正。

    1 条回复 最后回复
  • evensunE 离线
    evensunE 离线
    evensun
    写于 最后由 编辑
    #5
    此回复已被删除!
    1 条回复 最后回复

  • 登录

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