CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    codedFixedValue边界条件编译成功,但没计算结果

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

      我现在想在壁面处写一个速度的边界条件,具体表达式如下:
      0c219d6d-bc23-47aa-8f3d-175c92171719-image.png
      其中,k为湍动能,算好的值,被我放在0文件夹下;r为半径,不是算好的值,是目标算例计算过程中计算得到的值;n为表示速度的方向,就是壁面的法相方向向外。
      我打算用codeFixedValue边界条件实现,然后下面是我写的代码,已经编译成功。

      INLET_WALL
          {
              type            codedFixedValue; 
              value           uniform (0 0 0);
              name            Fdc1;
              code
              #{
                const fvPatch& boundaryPatch = patch();
                  const fvBoundaryMesh& boundaryMesh = boundaryPatch.boundaryMesh();
                  const fvMesh& mesh = boundaryMesh.mesh();
                   scalarField r = mesh.lookupObject<volScalarField>("r");
                  const volScalarField& k = mesh.lookupObject<volScalarField>("k");
                  const vectorField Cf=patch().Cf();
        const vectorField a = patch().Sf()/mag(patch().Sf());
                   vectorField Fdc1(Cf.size());
                    forAll(Cf, faceI)
                    {
                      Fdc1[faceI]=(a[faceI]*0.01*0.3*4*k[faceI]*r[faceI])/(8e-7*pow(6,1.0/3));
                     }
                     operator==(Fdc1);
                #};
          }
      
      

      问题是当我运行算例的时候,显示了使用了这个边界条件,但是计算结束后,我去找边界处速度的值,结果发现没有值,所以我感觉好像上面程序里面的运算好像没有进行一样,想让大家帮我看看我这个程序还有什么不对的地方吗?导致出现这种情况。

      我希望我得到的少一点,少一点,再少一点......

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

        @dingcy 在 codedFixedValue边界条件编译成功,但没计算结果 中说:

        我去找边界处速度的值,结果发现没有值

        没有值是什么意思

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

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

          @李东岳 就是我最后的计算结果文件中,速度那个文件里,使用这个边界条件的那个边界上没有速度,就还是下图这样的
          b21b17e3-21a8-42a3-937d-c11596a781a2-image.png
          我想象中是这样的:
          35ad19f7-645a-4e9e-8819-c2ee23b048b7-image.png

          我希望我得到的少一点,少一点,再少一点......

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

            在此更新一下,我知道问题出现在哪了,问题在于我计算的方程是输运方程,速度U是我给定的速度场,在计算的时候这个速度场的边界条件一直没更新。我现在想在求解输运方程的程序里更新一下速度的边界条件应该加点啥代码呢?
            我查了几个,不知道对不对,大家有想法的捧个场,没想法的,捧个人场也行,嘻嘻嘻嘻:chitang:

            Uc.correctBoundaryConditions();
                       fvOptions.correct(Uc);
            

            或者上面这两行代码啥意思,大家有知道解释一下也行哈,谢谢~:chouchou:

            我希望我得到的少一点,少一点,再少一点......

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

              @dingcy

              在计算的时候这个速度场的边界条件一直没更新。我现在想在求解输运方程的程序里更新一下速度的边界条件应该加点啥代码呢?

              随时间变化的么

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

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

                @李东岳 是个稳态计算过程,不随时间变化,但是公式中r值更新会影响边界的U的值

                我希望我得到的少一点,少一点,再少一点......

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