CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    fixedGradient为何梯度和变量一个类型?

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

      如题,参考https://www.openfoam.com/documentation/cpp-guide/html/classFoam_1_1fixedGradientFvPatchField.html#a1a4ebfb8aa4dc581e54081a12bfbd0d3

      This boundary condition supplies a fixed gradient condition, such that the patch values are calculated using:

      $$
      xp=xc+∇(x)/Δ
      $$
      where

      xp = patch values
      xc = internal field values
      ∇(x) = gradient (user-specified)
      Δ = inverse distance from patch face centre to cell centre

      template<class Type>
      class fixedGradientFvPatchField
      :
          public fvPatchField<Type>
      {
          // Private data
      
              Field<Type> gradient_;
      
      //...
      

      速度fixedGradient的梯度还是矢量?要不就只能是法向梯度?

      已婚,勿扰。
      本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

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

        x_p = x_c + \frac{\nabla(x)}{\Delta}

        这里面用户给定的是\nabla(x),因此你给速度固定梯度的时候给定的是速度梯度,本身是个矢量,就不需要对速度求梯度了。

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

        程 1 条回复 最后回复 回复 引用
        • 程
          程迪 @李东岳 最后由 编辑

          @李东岳

          确实就是法向梯度。我似乎没法给定一个速度的切向梯度作为边界条件。

          
            192             //- Return gradient at boundary
            193             virtual tmp<Field<Type>> snGrad() const
            194             {
            195                 return gradient_;
            196             }
          

          已婚,勿扰。
          本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

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

            基类fvPatchField<Type>的snGrad()定义就是返回face normal gradient... 也就是$\nabla_{\perp}\phi=\nabla\phi\cdot\vec n $

            已婚,勿扰。
            本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

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