Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    一些有用的看代码命令

    OpenFOAM
    5
    19
    11862
    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.
    • C
      CFD中文网 last edited by CFD中文网

      比如看到这句:fvc::domainIntegrate(rho);。都是怎么定位这个函数所在文件的?刚去doxgen看竟然没有:big_mouth:


      原标题为:大家怎么看OpenFOAM代码的?

      CFD中国标准用户测试帐号
      目前由徐笑笑登录

      X L 2 Replies Last reply Reply Quote
      • X
        xpqiu 教授 @CFD中文网 last edited by

        @cfd-china
        你用的是自己编译的 doxygen?在线版的能查到
        除了用doxygen,还可以用grep来全局搜,比如,去src目录下,运行

        grep "domainIntegrate" * -R -n -C 5
        

        会返回所有的用了这个函数的地方,并且输出关键字所在的上下文(-C 5 表示输出5行上下文)。凭借一点经验,就能定位 domainIntegrate 的定义所在为:finiteVolume/finiteVolume/fvc/fvcVolumeIntegrate.C

        除了 用 grep 还可以用 ack 和 ag ,这两个用法跟 grep 差不多,只是默认的输出更友好一点。

        C 2 Replies Last reply Reply Quote
        • C
          CFD中文网 @xpqiu last edited by

          @xpqiu

          如果在windows下呢?有类似grep的东西么?有时候只看代码不计算开个虚拟机也挺占内存的。

          CFD中国标准用户测试帐号
          目前由徐笑笑登录

          X 1 Reply Last reply Reply Quote
          • L
            lhzhu @CFD中文网 last edited by

            @cfd-china
            vim + ctags

            dugksFoam : An OpenFOAM sovler for Boltzmann model equation : https://github.com/zhulianhua/dugksFoam

            C 1 Reply Last reply Reply Quote
            • C
              CFD中文网 @lhzhu last edited by

              @lhzhu
              貌似vim很神奇,我用的是sublime,还没接触过vim:cheeky:

              CFD中国标准用户测试帐号
              目前由徐笑笑登录

              1 Reply Last reply Reply Quote
              • X
                xpqiu 教授 @CFD中文网 last edited by

                @cfd-china
                windows下面类似软件应该有吧,只是我没用过,不过,windows下面也可以装 grep。我一般会在windows下装个终端模拟器,比如 mintty,这样就可以在Windows下方便地用 grep 了

                C 1 Reply Last reply Reply Quote
                • C
                  CFD中文网 @xpqiu last edited by

                  @xpqiu
                  目前我就是把openfoam放在了桌面,用sublime看。有些时候函数找不到。linux下面grep可以匹配文件内的关键词。好像windows除了模拟器,在cmd下不可以?mintty还没用过。:sunglasses:

                  CFD中国标准用户测试帐号
                  目前由徐笑笑登录

                  1 Reply Last reply Reply Quote
                  • C
                    CFD中文网 @xpqiu last edited by

                    @xpqiu
                    grep "domainIntegrate" * -R -n -C 5

                    这个命令非常好。

                    complex/complexI.H-164-// * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //
                    complex/complexI.H-165-
                    complex/complexI.H-166-
                    complex/complexI.H:167:inline scalar magSqr(const complex& c)
                    complex/complexI.H-168-{
                    complex/complexI.H-169-    return (c.re*c.re + c.im*c.im);
                    complex/complexI.H-170-}
                    complex/complexI.H-171-
                    complex/complexI.H-172-
                    --
                    complex/complexI.H-176-}
                    complex/complexI.H-177-
                    complex/complexI.H-178-
                    complex/complexI.H-179-inline scalar mag(const complex& c)
                    complex/complexI.H-180-{
                    complex/complexI.H:181:    return sqrt(magSqr(c));
                    complex/complexI.H-182-}
                    complex/complexI.H-183-
                    

                    直接输出。就是怎么能把deb剔除掉?

                    CFD中国标准用户测试帐号
                    目前由徐笑笑登录

                    W X 2 Replies Last reply Reply Quote
                    • W
                      wwzhao 教授 @CFD中文网 last edited by

                      @cfd-china 我用 the silver searcher 的 ag 命令。

                      ag --cpp -A5 -B5 "domainIntegrate" 可以指定只搜索.(C|H)文件。

                        -A --after [LINES]      Print lines after match (Default: 2)
                        -B --before [LINES]     Print lines before match (Default: 2)
                      

                      更多用法可以man ag。

                      C 1 Reply Last reply Reply Quote
                      • C
                        CFD中文网 @wwzhao last edited by

                        @wwzhao
                        都很高端!!!!!!!!!!!!!也是linux下的?还没用过ag这个命令。有空试试。目前没有linux在手边。

                        CFD中国标准用户测试帐号
                        目前由徐笑笑登录

                        W 1 Reply Last reply Reply Quote
                        • W
                          wwzhao 教授 @CFD中文网 last edited by

                          @cfd-china 是 Linux 的没错,这个命令需要安装 the silver searcher 才有。不过也有mingw下的版本 [1] 和 windows port [2]。

                          [1] https://github.com/ggreer/the_silver_searcher/wiki/Windows
                          [2] https://blog.kowalczyk.info/software/the-silver-searcher-for-windows.html

                          1 Reply Last reply Reply Quote
                          • X
                            xpqiu 教授 @CFD中文网 last edited by

                            @cfd-china
                            grep 选择指定后缀可以用通配符,比如

                            grep "domainIntegrate" --exclude="*.dep"  -R  -n  -C  5
                            

                            如 @wwzhao 上面提到的,ag 使用上更方便。grep 的好处是所有linux都自带,ag 需要额外安装。
                            可以通过自定义alias 来简化命令grep 命令。

                            另,vim 也是个神奇的东西,欢迎入坑:lol:

                            C 1 Reply Last reply Reply Quote
                            • C
                              CFD中文网 @xpqiu last edited by

                              @xpqiu

                              用过sublime么?你说的vim是带界面的还是终端的那个?vi bashrc就可以编辑这个?

                              CFD中国标准用户测试帐号
                              目前由徐笑笑登录

                              X 1 Reply Last reply Reply Quote
                              • X
                                xpqiu 教授 @CFD中文网 last edited by

                                @cfd-china
                                sublime text 我试过,挺现代化的,插件也丰富,不过我没怎么深入地用。我说的 vim 是终端里用的那个,不需要开图形界面。不过我在windows下还是用带图形界面的那个 gvim。Holtzmann 写过一个针对OpenFOAM 的 vim 插件,我在 这里 简单介绍过,这应该是我坚持在linux 平台下用 vim 来编辑文件,尤其是OpenFOAM相关的配置文件的主要原因之一。

                                C 1 Reply Last reply Reply Quote
                                • C
                                  CFD中文网 @xpqiu last edited by

                                  @xpqiu 在 一些有用的看代码命令 中说:

                                  我说的 vim 是终端里用的那个,不需要开图形界面。

                                  和我那个vi命令是一个东西?

                                  CFD中国标准用户测试帐号
                                  目前由徐笑笑登录

                                  X 1 Reply Last reply Reply Quote
                                  • X
                                    xpqiu 教授 @CFD中文网 last edited by

                                    @cfd-china
                                    vim = Vi IMporved,是升级版的 vi。在目前的很多linux发行版中,已经不会再用 vi 了,终端里的 vi 命令,其实是个指向 vim 的符号链接。

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

                                      Qt Creator很好用啊。Win 和 Linux 都有。把 src 文件导入进去,这个软件就把所有文件都链接起来了,可以随意跳转。

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

                                      C 1 Reply Last reply Reply Quote
                                      • C
                                        CFD中文网 @浪迹天大 last edited by

                                        @浪迹天大
                                        Way too large

                                        0_1465257556010_捕获.JPG

                                        有预览图没?一个文本编辑工具为什么这么大?莫非不是简单地看文本工具?

                                        CFD中国标准用户测试帐号
                                        目前由徐笑笑登录

                                        浪 1 Reply Last reply Reply Quote
                                        • 浪
                                          浪迹天大 @CFD中文网 last edited by

                                          @cfd-china 不是QT,是QT creator。在我给的那个链接里边,QT的下载链接旁边才是QT creator。

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

                                          1 Reply Last reply Reply Quote
                                          • First post
                                            Last post

                                          CFD中文网 | 东岳流体 | 京ICP备15017992号-2
                                          论坛登录问题反馈可联系 li.dy@dyfluid.com