CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    fvm::ddt(rho, T)与rho*fvm::ddt(T)的区别

    OpenFOAM
    5
    7
    1596
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      ChimneyFoam 最后由 编辑

      假设我又一个这样的方程:
      $$\frac{\partial( \rho T)}{\partial t} = -\nabla \cdot (\vec{U}\rho T)$$

      其中$\rho$表示流体(比如水)的密度,根据状态方程及p,T计算出来。请问在离散的时候下面这两种写法的结果有什么区别?

      1. fvm::ddt(rho, T) == -fvm::div(phi,T);

      2. rho*fvm::ddt(T) == -fvm::div(phi,T);

      1 条回复 最后回复 回复 引用
      • S
        Samuel-Tu 最后由 编辑

        区别应该在于密度是否可压吧

        1 条回复 最后回复 回复 引用
        • 李东岳
          李东岳 管理员 最后由 编辑

          fvm::ddt(rho,T) = $\frac{\p \rho T}{\p t}$, rho*fvm::ddt(T) = $\rho\frac{\p T}{\p t}$

          CFD高性能服务器 http://dyfluid.com/servers.html
          2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

          1 条回复 最后回复 回复 引用
          • 李东岳
            李东岳 管理员 最后由 李东岳 编辑

            我最近在更新rhoFoam系列求解器,做了更深的工作,发现ddt这一项还有点意思,假设$t$为当前时间步,欧拉格式:

            • 在runTime++之前,fvc:ddt(T) = $\frac{T^t-T^{t-\Delta t}}{\Delta t}$;

            • 在runTime++之后,如果T进行TEqn.solve()更新,fvc:ddt(T) = $\frac{T^{t+\Delta t}-T^{t}}{\Delta t}$

            • 在runTime++之后,如果T没有进行TEqn.solve()之类的更新,fvc:ddt(T) = 0,因为$T^{t+\Delta t}=T^t$, 同时T.oldTime()也是$T^t$。,

            主要是代码中的vf,vf.oldTime()需要跟时间步对一下。

            所以fvm::ddt(rho, T)还需要考虑rhoEqn是否更新:

            • 如果在runTime++之后,进行了rhoEqn.solve(),那么fvm::ddt(rho, T) = $\frac{\rho^{t+\Delta t} T^{t+\Delta t}-\rho^{t} T^{t}}{\Delta t}$

            • 如果在runTime++之后,没有进行rhoEqn.solve(),那么fvm::ddt(rho, T) = $\frac{\rho^{t} T^{t+\Delta t}-\rho^{t-\Delta t} T^{t}}{\Delta t}$

            • 前者看起来更耦合在一起

            二者都不同于rho*fvm::ddt(T),因为其等于$\rho^{t+\dt}\frac{ T^{t+\Delta t}-T^{t}}{\Delta t}$(进行了rhoEqn.solve()),或$\rho^{t} \frac{T^{t+\Delta t}- T^{t}}{\Delta t}$(没进行rhoEqn.solve())

            CFD高性能服务器 http://dyfluid.com/servers.html
            2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

            闻 1 条回复 最后回复 回复 引用
            • C
              ChimneyFoam 最后由 编辑

              @东岳 太感谢了!您这次来了一个非常透彻的分析,我的疑问已全部被解决。

              1 条回复 最后回复 回复 引用
              • 闻
                闻久STU @李东岳 最后由 编辑

                @李东岳 哇!!!透彻!!mark了,非常感谢

                1 条回复 最后回复 回复 引用
                • K
                  Krasus 最后由 编辑

                  感谢解读,学习到了@李东岳

                  1 条回复 最后回复 回复 引用
                  • Referenced by  李东岳 李东岳 
                  • First post
                    Last post