CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    一个简单的速度压力非迭代求解器

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

      之前OKSS2课程的一部分:自定义求解器。在icoFoam中替换下述即可:

          while (runTime.loop())
          {
              Info<< "Time = " << runTime.timeName() << nl << endl;
              #include "CourantNo.H"
              solve(fvm::ddt(U) + fvc::div(phi,U));
              U.oldTime() = U;
              solve(fvm::ddt(U) - fvm::laplacian(nu, U));
              phi = linearInterpolate(U) & mesh.Sf();
      
              solve(fvm::laplacian(runTime.deltaT(), p) == fvc::div(phi));
      
              U -= runTime.deltaT()*fvc::grad(p);
              phi = linearInterpolate(U) & mesh.Sf();
      
              runTime.write();
              Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
                  << "  ClockTime = " << runTime.elapsedClockTime() << " s"
                  << nl << endl;
          }
      

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

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

        这是什么原理啊,有没有资料参考下。

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

          参考Hirsch 2007: 12.4.1 Basic Approach of Pressure Correction Methods

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

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