CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    fsiFoam 在 OpenFoam 2106 版本上编译的问题

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

      本人 c++ 能力有限
      fsiFoam 为 foam-extend 4.0 版本上可以成功编译,我需要将 of 2106 上 overInterDyMFoam 作为 fsiFoam 的流体求解器,在把 fsiFoam 升级到 of 2106 当时,发现两个版本头文件的包含、类的名称及定义有诸多不一致,编译时出现多处重定义以及重复声明以及其他的错误,希望有大神们能提供 fsiFoam 升级到 of 2016 上的相关资料、经验或者思路,感激不尽!

      09c1f531-c576-4d07-b9df-277c379da361-image.png

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

        将某个版本的OpenFOAM求解器,移植到其他版本的OpenFOAM上,这个不是几分钟的事情。尤其我看你自己说C++能力有限,我觉得你还是不要移植了。。。这个对于初学不是很容易

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

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

          @李东岳 好的,谢谢:135:

          1 条回复 最后回复 回复 引用
          • 李子橙
            李子橙 最后由 编辑

            改了命名空间,貌似不起作用,是什么原因?

            81c7947e-7dce-4dca-abf0-ccd111989a72-image.png

            1 条回复 最后回复 回复 引用
            • bestucan
              bestucan 版主 副教授 最后由 bestucan 编辑

              函数的重复定义。
              用grep递归抓取源代码关于这个函数的定义逐个排查。

              别说C++不熟,就是C++熟,对linux那些小软件grep、sed、find还有管道、定向输出什么的不熟练。那么对于层层文件夹下一大堆源代码文件的操作控制也是十分繁琐的。

              加油,绊在哪才知道学什么,为什么学:chouchou:

              滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

              异步沟通方式(《posting style》from wiki)(下载后打开):
              https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
              提问的智慧(github在gitee的镜像):
              https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

              李子橙 1 条回复 最后回复 回复 引用
              • Number44
                Number44 最后由 编辑

                个人建议,水平不够,别折腾fsiFoam移植问题。
                我曾经搞过一段时间foam-extend-4.0上这个fsiFoam,foam-extend-4.0的基础库和基金会/ESI的OpenFOAM都有很大差别,移植需要改动的地方很多的。还不如overInterDyMFoam 反向移植过去foam-extend-4.0上。
                另外,fsiFoam调用的固体求解器存在严重的并行瓶颈问题,并行度刚过50,效率就插水了。

                算不准,发个散,报error,没问题!

                李子橙 1 条回复 最后回复 回复 引用
                • 李子橙
                  李子橙 @bestucan 最后由 编辑

                  @bestucan 感谢前辈!

                  1 条回复 最后回复 回复 引用
                  • 李子橙
                    李子橙 @Number44 最后由 编辑

                    @bestucan @number44感谢谢前辈指导, 因为两个版本输出的结果文件格式是一样的,我打算尝试在 fsiFoam 和 overInterDyMFoam 之间做一个接口进行两边数据的更新,类似 Mpcci 这样的工具。

                    Number44 1 条回复 最后回复 回复 引用
                    • Number44
                      Number44 @李子橙 最后由 编辑

                      @李子橙 不知道你用fsiFoam干嘛,但是fsiFoam的替代品还是有的,例如solids4Foam。

                      算不准,发个散,报error,没问题!

                      李子橙 1 条回复 最后回复 回复 引用
                      • 李子橙
                        李子橙 @Number44 最后由 编辑

                        @number44 计算柔性体入水且伴随空化的案例,solid4Foam 加入 overset 功能后不能并行计算,所以并不打算在 solid4Foam 上做算法改进。:xinlei:

                        O 1 条回复 最后回复 回复 引用
                        • O
                          OItoCFD @李子橙 最后由 编辑

                          @李子橙 建议不折腾 再想想其他替代方法 或者换软件 因我我一开始也想折腾fsifoam 发现甚至 不如自己新写一个固体求解器加到openfoam流体solver更简单

                          李子橙 1 条回复 最后回复 回复 引用
                          • 李子橙
                            李子橙 @OItoCFD 最后由 编辑

                            @oitocfd 您可以大概说一下在中间遇到了什么困难吗,目前我的大概思路是 fsi 的固体求解就不动,流体这边开发好作为一个类再合并进去

                            O 1 条回复 最后回复 回复 引用
                            • O
                              OItoCFD @李子橙 最后由 编辑

                              @李子橙 我的困难还不是很细节的 局限于 我不懂他的整体结构,哪一步在干什么,我该怎么把他跟OpenfoamV2106的流体求解器连起来,openfoam的这种求解器太过复杂,我想搞明白需要很久的时间,所以我干脆去看理论直接自己在OpenFOAMv2106里自己定义固体算法的类自己重新写了,毕竟本身fsifoam我还是得修改成我需要的固体求解,因为算法还是有不同。而且我需要对它很明白才能实现,权衡再三,我是觉得自己写反而更快

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