CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    关于在linux下编译UDF

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

      之前都是在window下编译UDF,如今改成linux了,已有GCC,查找相关教程,收获不大,不能解决问题。按照Ansys Fluent Customization手册进行TUI编译,出现了make[320]: vfork: Resource temporarily unavailable。这是否是环境变量的问题,该如何向window一样编译器与fluent的连接呢?有高人能指点一番吗?感谢不尽

      1 条回复 最后回复 回复 引用
      • L
        l.j刘侃 最后由 编辑

        GCC只要内核没问题 一般Linux下Fluent可以UDF直接编译 不需要额外的环境变量配置 否则你需要查看 对应的Fluent makefile文件
        刚开始可以使用Ubuntu这样的桌面Linux系统先熟悉一下 之后再使用Journal file 因为一般性的UDF还是需要不少调试环节的 有一个图形显示可能会好点 个人不成熟的意见 仅当参考:xinxin:

        L 1 条回复 最后回复 回复 引用
        • L
          light @l.j刘侃 最后由 编辑

          @l-j刘侃 您好!我用图形界面编译UDF会出现很多问题,我节选了一段如下,但是该UDF在我自己的window上编译是没有问题的,所以是哪里出现了问题?
          a9c35f51-12db-4614-912f-cc14b6527cda-image.png

          1 条回复 最后回复 回复 引用
          • L
            l.j刘侃 最后由 编辑

            GCC和windows的MS C complier的语言要求性是不同的 有时候GCC的要求更加严格一些 你的代码的第18行能否贴一下

            L 1 条回复 最后回复 回复 引用
            • L
              light @l.j刘侃 最后由 编辑

              @l-j刘侃 您好!感谢您的回复。18行是一个我不启用的语句 //thread_out_sL=Lookup_Thread(Get_Domain(3),ID_out_left);
              我将其删除后重新编译,错误信息有所变化,这是指我写UDF的格式需要修改吗?
              e5094a92-c024-4a22-ba18-b75e973a62ca-image.png

              1 条回复 最后回复 回复 引用
              • L
                l.j刘侃 最后由 编辑

                GCC下你的注释可能还是需要使用/**/这种 然后你最新的控制台输出 好像你的UDF已经编译成功了 你可以试试看行不行 GCC下其实UDF的调试更为方便

                L 1 条回复 最后回复 回复 引用
                • L
                  light @l.j刘侃 最后由 编辑

                  @l-j刘侃 试计算了几步,确实UDF已经能够工作。十分感谢您的帮助!!

                  1 条回复 最后回复 回复 引用
                  • L
                    l.j刘侃 最后由 编辑

                    :ok: :ok: :ok:

                    1 条回复 最后回复 回复 引用
                    • 徐
                      徐小双 最后由 编辑

                      请问您解决了吗,我出现这个报错,请问是咋回事ae8a5325ebbaf1047d25f4ef0490550.png 您看下第二个error

                      百 徐 2 条回复 最后回复 回复 引用
                      • 百
                        百善孝为先0626 @徐小双 最后由 编辑

                        @徐小双 如果在windows系统下的Fluent能正常编译成功,放在linux下就不行的话,如果代码中有注释,建议将注释全部删除。

                        百善孝为先

                        徐 1 条回复 最后回复 回复 引用
                        • 徐
                          徐小双 @百善孝为先0626 最后由 编辑

                          @百善孝为先0626 谢谢您 尝试了,将注释删除没有成功,还是相同的报错

                          百 1 条回复 最后回复 回复 引用
                          • 百
                            百善孝为先0626 @徐小双 最后由 编辑

                            @徐小双 那大概率是你的UDF代码存在问题了

                            百善孝为先

                            徐 1 条回复 最后回复 回复 引用
                            • 徐
                              徐小双 @百善孝为先0626 最后由 编辑

                              @百善孝为先0626 我的udf代码可以确保是没用问题的,因为我在win系统下是可以完全跑出来结果的

                              1 条回复 最后回复 回复 引用
                              • 徐
                                徐小双 @徐小双 最后由 编辑

                                @徐小双 已解决,在linux系统下注释要用/* */这个来表示

                                李东岳 百 2 条回复 最后回复 回复 引用
                                • 李东岳
                                  李东岳 管理员 @徐小双 最后由 编辑

                                  @徐小双 :146: :146: 感谢分享

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

                                  1 条回复 最后回复 回复 引用
                                  • 百
                                    百善孝为先0626 @徐小双 最后由 编辑

                                    @徐小双 123.jpg
                                    之前和您提示过删除注释,您说注释删除后仍没有成功,但是现在加了C90下的注释符号,为什么还能成功呢? 按理来说 所有注释删除之后,如果仍不成功,一定就是除了注释以外的其他原因导致不成功的,不太理解。

                                    百善孝为先

                                    徐 1 条回复 最后回复 回复 引用
                                    • 徐
                                      徐小双 @百善孝为先0626 最后由 编辑

                                      @百善孝为先0626 还有一些没有用到的变量也加了注释,然后就成功了,可能删除的那次没有删除干净吧

                                      百 1 条回复 最后回复 回复 引用
                                      • 百
                                        百善孝为先0626 @徐小双 最后由 编辑

                                        @徐小双 应该是没有删除干净的原因。

                                        百善孝为先

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