CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    OpenFOAM交叉编译后的windows版本的效率问题

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

      我根据symscape交叉编译指南对OpenFOAM-v3.0+进行了交叉编译,但是发现在运行tutorials-damBreakWithObstacle时效率很低(事实上运行任何三维案例都一样),比虚拟机要慢很多倍,并且会在运行到0.18s时自动停止。不知道是否有人做过这方面的工作,你们在做这方面的工作时是否有相似的问题?(由于是第一次发帖,如果有什么信息不全面的话请见谅)

      交叉编译指南:https://www.symscape.com/openfoam-plus-v3-0-on-windows
      在windows下运行的log文件: windows.zip
      OpenFOAM版本是:OpenFOAM-v3.0+
      电脑系统与配置是:windows7+i552ooU

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

        我看了一下你的log GAMG: Solving for p_rgh, Initial residual = 2.50286e-006, Final residual = 1.97476e-008, No Iterations 1000 应该不是编译的问题,你的压力求解不对

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

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

          @东岳 首先非常感谢老师的回复,我是使用的OpenFOAM-v3.0+自带的算例,所以还真没有没有去考虑过它求解设置的正确性问题。
          我主要感觉到迷惑的一点是这个算例在Linux下没有经过交叉编译的OpenFOAM-v3.0+计算的时候没有任何问题,但是copy到Windows下之后就会出现莫名其妙停止计算的问题,而且没有报错。

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

            你可以试试其他的tutorials
            我在5年前做过一样的工作,当时没有问题,针对你的,我不太清楚

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

            zjsong 2 条回复 最后回复 回复 引用
            • zjsong
              zjsong @李东岳 最后由 编辑

              @东岳 好的谢谢老师

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

                我已经找到这个问题的原因了,需要将编译过程中的单精度改为双精度a45344d1-7a74-48b5-a276-beb38aaa055d-image.png ,就是将SP改为DP,但是还是有些小疑问,按道理来说单精度的话效率应该更高才对,怎么在这儿反而更低了呢?

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

                  你有没有试试别的tutorials效率如何。首先,应该排除你的压力矩阵求解器的迭代次数影响。

                  1. 如果别的tutorials正常,说明问题在压力矩阵求解器迭代次数,为什么迭代1000次,又可能是精度设置的原因。所以下一个方向应该是精度与稀疏线性系统求解器之间的debug

                  2. 如果别的tutorials也慢,说明在精度设置,不再压力矩阵求解器迭代次数

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

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

                    @东岳 老师你好,非常抱歉回复晚了。我以前只尝试过cavity、dambreak、sloshingTank2D、flange、sloshingTank3D6DoF这几个算例,其余的算例还没试过,除了cavity以外都会出现计算很慢然后莫名其妙停止的情况。现在更改为双精度浮点数之后计算效率与Linux基本差不多。

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