Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    运行时选择 RTS 有什么好处?

    OpenFOAM
    5
    15
    2810
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 浪
      浪迹天大 last edited by

      使用 RTS,与使用以下代码相比,有什么优势吗?

      word model_(dict.lookup("model"));
      
      if (model_ == "model1")
      {
          ...
      }
      
      if (model_ == "model2")
      {
          ...
      }
      

      OpenFOAM 学习交流:https://openfoam.top

      1 Reply Last reply Reply Quote
      • 李东岳
        李东岳 管理员 last edited by

        目前OpenFOAM里面植入了30多个湍流模型,要是这样的话,要写30个if?

        CFD课程 改成线上了 http://dyfluid.com/class.html
        CFD高性能服务器 http://dyfluid.com/servers.html

        浪 1 Reply Last reply Reply Quote
        • 浪
          浪迹天大 @李东岳 last edited by

          @东岳
          嗯,这个对于 OF 这种适合很多问题的大型程序来说很有用。但我更关心的是,我自己写的代码,要不要搞成 RTS 风格的。RTS对我来说有什么用。

          OpenFOAM 学习交流:https://openfoam.top

          1 Reply Last reply Reply Quote
          • 李东岳
            李东岳 管理员 last edited by

            RTS对我来说有什么用。

            可以减少代码复用。是否有必要把你的代码改成RTS,取决于你对你现存代码风格的容忍程度,和下一步工作展开的难易程度。如果你觉得代码写的不好,就改呗。如果急于出数据,写30个if也无妨,毕竟数据结果是一样的。

            CFD课程 改成线上了 http://dyfluid.com/class.html
            CFD高性能服务器 http://dyfluid.com/servers.html

            1 Reply Last reply Reply Quote
            • L
              LiuSW last edited by

              个人愚见,题主所说的应该是C++中的动态绑定。使代码可以根据运行时刻的具体数据,选择执行那个函数。

              1 Reply Last reply Reply Quote
              • Micro
                Micro last edited by

                您现在已经深入了解过RTS了吗?我也有和您相同的困惑,能解释下有什么优势吗

                1 Reply Last reply Reply Quote
                • 马乔
                  马乔 副教授 last edited by

                  抽象工厂来着?RTS就是把一堆构造函数指针给存到一个容器,然后让这个容器成为静态的,这样在main函数Load前就初始化了。你用这一堆if应该算简单工厂,不想麻烦的话,效果是一样的:haqi:

                  装逼没输过,吵架没赢过!

                  Micro 1 Reply Last reply Reply Quote
                  • Micro
                    Micro @马乔 last edited by

                    @马乔 好的,您说的容器就是哈希表吧,看来还是要深入了解下设计模式的内容,谢谢这么晚还回复!早休息!谢谢!

                    1 Reply Last reply Reply Quote
                    • 马乔
                      马乔 副教授 last edited by

                      劣势就是添加新的类或者模型,你需要在这里添加if,RTS只需要新类中定义静态成员往那个容器表添加函数指针(也就是add那一套),不会违背那个什么原则来着?开放-封闭?

                      装逼没输过,吵架没赢过!

                      Micro 1 Reply Last reply Reply Quote
                      • Micro
                        Micro @马乔 last edited by

                        @马乔 嗯嗯,开闭原则好像是说的新增添模块时,尽可能降低对原有框架的改动,好像之前我看到过一点:baobao:

                        浪 1 Reply Last reply Reply Quote
                        • 浪
                          浪迹天大 @Micro last edited by

                          @Micro 哈哈,到现在也没有写过自己的RTS

                          OpenFOAM 学习交流:https://openfoam.top

                          Micro 1 Reply Last reply Reply Quote
                          • 马乔
                            马乔 副教授 last edited by

                            @浪迹天大 不,我不相信,你都写了这么久了:wocao:

                            装逼没输过,吵架没赢过!

                            浪 1 Reply Last reply Reply Quote
                            • Micro
                              Micro @浪迹天大 last edited by

                              @浪迹天大 哈哈哈,对我来说能看懂大体过程就已经不错啦

                              Micro 1 Reply Last reply Reply Quote
                              • 浪
                                浪迹天大 @马乔 last edited by

                                @马乔 都只是对官方的进行同级别的扩充。确实没有自己额外创造过结构啊。

                                OpenFOAM 学习交流:https://openfoam.top

                                1 Reply Last reply Reply Quote
                                • Micro
                                  Micro @Micro last edited by

                                  @Micro RTS这个帖子该热闹起来,哈哈哈

                                  1 Reply Last reply Reply Quote
                                  • First post
                                    Last post

                                  CFD中文网 | 东岳流体 | 京ICP备15017992号-2