CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    correctBoundaryConditions里修正面心梯度的公式没看明白

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

      代码在src/finiteVolume/finiteVolume/gradSchemes/gaussGrad/gaussGrad.C144行:

      template<class Type>
      void Foam::fv::gaussGrad<Type>::correctBoundaryConditions
      (
          const GeometricField<Type, fvPatchField, volMesh>& vsf,   
          GeometricField
          <
              typename outerProduct<vector, Type>::type, fvPatchField, volMesh
          >& gGrad
      )
      {
          typename GeometricField
          <
              typename outerProduct<vector, Type>::type, fvPatchField, volMesh
          >::Boundary& gGradbf = gGrad.boundaryFieldRef();
      
          forAll(vsf.boundaryField(), patchi)
          {
              if (!vsf.boundaryField()[patchi].coupled())
              {
                  const vectorField n
                  (
                      vsf.mesh().Sf().boundaryField()[patchi]
                    / vsf.mesh().magSf().boundaryField()[patchi]
                  );
      
                  gGradbf[patchi] += n *
                  (
                      vsf.boundaryField()[patchi].snGrad()
                    - (n & gGradbf[patchi])
                  );
              }
           }
      }
      

      里面vsf应该是待求梯度的场吧、然后gGradbf是根据体心梯度插值得到的面心梯度、n是面单位法向、.snGrad()是$\frac{\phi_{f}-\phi_{C}}{d_{Cf}}$ ?
      这个面心梯度的修正公式怎么来的我还是没看懂:

      gGradbf[patchi] += n *
      (
          vsf.boundaryField()[patchi].snGrad()
        - (n & gGradbf[patchi])
      );
      

      blog :
      <https://chengpengzhao.com>

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

        自己翻书找到答案了:136: ,《The FVM in CFD(OpenFOAM, Matlab)》那本书Page 303有讲到:
        选区_001.png

        blog :
        <https://chengpengzhao.com>

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

          感谢分享!!:146: :146:

          线上CFD课程开始报名:http://www.dyfluid.com/class.html

          CFD高性能服务器 http://dyfluid.com/servers.html

          1 条回复 最后回复 回复 引用
          • First post
            Last post