CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets)

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

      Foamers您們好,

      最近在做超音速下液體噴注在Ma>1 的crossflow 的penetration及SMD分佈validation("Numerical simulation of the gas-liquid interaction of a liquid jet in supersonic crossflow", Acta Astronautica 134 (2017)),目前卡在無論使用任何的breakup model都沒有辦法在paraview(VTK)顯示child droplets(如圖)
      penetration_cannot_visualize_daughterdrop.jpg
      且打開lagrangian/sprayCloud/d 的粒子數量也沒有因為breakup而提升,唯能一確定的是drops有的確進行breakup和mass是有符合我給的初始條件(mass flow rate),請問各位大大我的驗證計算裡面是哪裡設定不對或者有問題?

      謝謝!

      Best regards,
      Rick

      1 条回复 最后回复 回复 引用
      • R
        r07522121 最后由 编辑

        另外在 lagrangian/sprayCloud/nParticle中能看到每一粒的值為1~74000,是否代表我在paraview看到的只是Parcels而不是全部的particle?

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

          需要使用paraFoam,paraview显示不出来

          我也在关注你的问题,我们这面打算明年渗入可压缩crossflow,不过解得是玻尔兹曼方程,不是欧拉拉格朗日

          捕获.JPG

          2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
          CFD高性能服务器 http://dyfluid.com/servers.html

          R 1 条回复 最后回复 回复 引用
          • Y
            yfclark 讲师 最后由 编辑

            paraview一般显示的是部分粒子,可能你每次显示的都是相同数量的粒子,所以看数量是不可取的,直接后处理看smd的分布就能看出有没有破碎,另外我对这块也挺感兴趣的,能咨询一下有使用一次雾化模型吗,还是只有二次雾化,你的算例的前端看起来像blobs

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

              @东岳 你好,我在paraFoam看所顯示的粒子數量一樣少,只是d沒辦法像foamToVTK用paraview的scale粒子大小。我懷疑是設定parcelsPerSecond太小,可是透過換算出來的質量流率卻是如此(大概每秒10萬個parcels),現在很不知所措...

              1 条回复 最后回复 回复 引用
              • R
                r07522121 @yfclark 最后由 编辑

                @yfclark 你好,從最小的粒子直徑上來說粒子是有破碎,但是後處理的SMD只有沿著主粒子路徑有值,並沒有像文獻中的這樣。

                另外我沒有使用primary atomization model, 只有使用secondary breakup(Pilch-Erdman), 粒子初始直徑為0.5mm(assumed跟噴口直徑一樣)

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

                  做vector滤镜的时候不会完全显示,你试试在面板里面增加numbers的值。
                  另外,你的回帖是繁体,是你个人使用繁体输入?还是我论坛的bug?

                  2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
                  CFD高性能服务器 http://dyfluid.com/servers.html

                  R 1 条回复 最后回复 回复 引用
                  • Y
                    yfclark 讲师 最后由 编辑

                    @r07522121 你的意思是液滴分布和你预期的不同吗?应该分布更加散而广?

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

                      @东岳 目前的嘗試也是打算增加parcelsPerSecond, 但這樣會跟文獻的ER多許多。

                      不好意思是輸入法問題,我是對岸的研究生。

                      1 条回复 最后回复 回复 引用
                      • R
                        r07522121 @yfclark 最后由 编辑

                        @yfclark 是的,這樣描述更貼切。所以我很好奇lagrangian/sprayCloud/nParticle值的意思是不是代表真實particle數量。

                        1 条回复 最后回复 回复 引用
                        • Y
                          yfclark 讲师 最后由 编辑

                          @r07522121 你可以增加初始液滴的入射速率parcelsPerSecond,拉格朗日方法本身就是靠离散的液滴入注来模拟连续的液体入注,只有入注的速率足够快才能模拟连续液体入注,很多文献都会研究不同的入注速率,然后说达到某个速率就行了,就像网格无关性一样

                          R 1 条回复 最后回复 回复 引用
                          • R
                            r07522121 @yfclark 最后由 编辑

                            @yfclark 感謝指點,這點對我來講真的是新知識。

                            想確認一點,假如我之後要處理的問題是liquid燃燒,那入注速率parcelsPerSecond應該是dependent of Equivalence ratio所以不能隨意增加,這樣說法是沒錯嗎?

                            1 条回复 最后回复 回复 引用
                            • Y
                              yfclark 讲师 最后由 编辑

                              @r07522121
                              2.1.3.1 Statistical Convergence Study
                              In order to ensure a sufficient number of computational parcels are injected into
                              the simulation to statistically represent the spray, a statistical convergence study is
                              performed.
                              来自文章MODELING THE INFLUENCE OF
                              NOZZLE-GENERATED TURBULENCE ON DIESEL
                              SPRAYS
                              我的理解是必须要有足够多的粒子才能代表连续的的液滴,调节 parcelsPerSecond是最简单的方法

                              R 1 条回复 最后回复 回复 引用
                              • R
                                r07522121 @yfclark 最后由 编辑

                                @yfclark 在 使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets) 中说:

                                MODELING THE INFLUENCE OF
                                NOZZLE-GENERATED TURBULENCE ON DIESEL
                                SPRAYS

                                謝謝!這篇好像蠻實用。不過還是疑惑如果要是改變ER的話要動哪一個值會比較恰當?

                                星 1 条回复 最后回复 回复 引用
                                • 星
                                  星星星星晴 @r07522121 最后由 编辑

                                  @r07522121 你好 你使用的是哪个破碎模型?KHRT还是TAB还是什么,不是所有的模型都会添加childparcel的

                                  m.sui20@foxmail.com

                                  R 1 条回复 最后回复 回复 引用
                                  • R
                                    r07522121 @星星星星晴 最后由 编辑

                                    @星星星星晴 你好,我使用跟文獻一樣的KH-RT模型。詢問一下用哪一個模型會添加子粒子?

                                    星 1 条回复 最后回复 回复 引用
                                    • 星
                                      星星星星晴 @r07522121 最后由 编辑

                                      @r07522121
                                      这你看一下code KHRT 是可以添加child的,其他的需要具体看破碎模型。
                                      另外你的injection 应该 parcelBasisType 是什么?

                                      m.sui20@foxmail.com

                                      1 条回复 最后回复 回复 引用
                                      • 星
                                        星星星星晴 @r07522121 最后由 编辑

                                        @r07522121 在 使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets) 中说:

                                        另外在 lagrangian/sprayCloud/nParticle中能看到每一粒的值為1~74000,是否代表我在paraview看到的只是Parcels而不是全部的particle?

                                        是的 paraview只能看到parcels 不是particles。
                                        可以根据你的parcelBasisType
                                        还有massflow rate 以及nparticle 算出流量什么的

                                        我现在用的是fixed,就是在injection model 中需要设定每个parcel有固定数量的particle,然后控制parcelpersecond 来控制最终射入的parcel number 以及根据设定的distribution model 可以手动计算出 massflow rate。 这样的好处是你可以设定固定的 nparticle 就是计算麻烦点。

                                        m.sui20@foxmail.com

                                        R 1 条回复 最后回复 回复 引用
                                        • R
                                          r07522121 @星星星星晴 最后由 编辑

                                          @星星星星晴 謝謝回覆,
                                          剛看了一下KHRT的確是有addParcel這一項,可是沒有在後處理看到有child parcel的出現

                                          目前是使用mass, 然後用flowRateAndDischarge,調高parcelPerSecond之後,nParticle有明顯減少到MAX~500左右,結果還不錯。可是還是覺得沒有解決根本的問題...

                                          fixed->nParticle 5,我有嘗試過,把parcelPerSecond調很高之後再把flowrateprofile調到很低。可是massflowRate會固定被提高到爆掉(發散)

                                          補充一下我是用RosinRammler從最大5e-4,最小1e-6,d 5e-4, spread parameter 3.

                                          星 3 条回复 最后回复 回复 引用
                                          • 星
                                            星星星星晴 @r07522121 最后由 编辑

                                            @r07522121 嗯 所以不知道你的code 到底运行到那边没有 可以试试在你的code中输出一些到terminal put banana,是不是没有到addparcel的那一步。

                                            你有没有解 y equation

                                            m.sui20@foxmail.com

                                            1 条回复 最后回复 回复 引用
                                            • 星
                                              星星星星晴 @r07522121 最后由 编辑

                                              @r07522121 所以要手动算一下先,我一直用flowprofile 1,这部分到底有没有影响我也不太了解 哈哈哈哈

                                              m.sui20@foxmail.com

                                              1 条回复 最后回复 回复 引用
                                              • 星
                                                星星星星晴 @r07522121 最后由 编辑

                                                @r07522121 另外建议你先搞一下sprayparcel.c 这块,add parcel 就是一个pointer 把child的data传过去 然后 td.cloud.addparcel()差不多这样,添加child 是在sprayparcel中处理的

                                                m.sui20@foxmail.com

                                                R 1 条回复 最后回复 回复 引用
                                                • R
                                                  r07522121 @星星星星晴 最后由 编辑

                                                  @星星星星晴 好的,我試試Info一下到底哪裡沒跑到,因為看完幾個檔案及sprayparcel.C裡面是有植入addparcel的代碼。貌似calcBreakup是由bool update()決定而update()是跟bool addParcels而決定,最後addParcels是由KHRT.C 裡面的if (nChildDrops >= nParticle)而決定,也許是criterion沒到的原因,可是我調到1還是沒有幫助哭哭,我再研究研究看看。謝謝你!

                                                  關於flowRateProfile,我也不確定那個值是不是有用的,之前在CFDONLINE看到有人說設為1 是initialize的作用。

                                                  星 1 条回复 最后回复 回复 引用
                                                  • 星
                                                    星星星星晴 @r07522121 最后由 编辑

                                                    @r07522121

                                                    我想起来之前做过的一个Crossflow 的case,我隐约记得是可以显示child的。
                                                    不过我没达到你的超音速的flow。
                                                    而且你计算y方程了没有,y和yDot。
                                                    我建议你可以单独只喷射一个parcel,然后看破碎的情况~
                                                    祝你好运~

                                                    88846eb9-f622-4a4f-b638-18e4b916def7-image.png

                                                    m.sui20@foxmail.com

                                                    R 1 条回复 最后回复 回复 引用
                                                    • R
                                                      r07522121 @星星星星晴 最后由 编辑

                                                      @星星星星晴 你好,發現是y跟yDot=1e-38,所以原來沒有計算到...可是奇怪我有把solvOscillationEqn調到yes。還是那兩項是只有TAB在算?
                                                      前輩的案例看起來的確有breakup,有用primary breakup model嗎? 謝謝分享。

                                                      星 2 条回复 最后回复 回复 引用
                                                      • 星
                                                        星星星星晴 @r07522121 最后由 编辑

                                                        @r07522121
                                                        不是只有TAB算,y和ydot是计算droplet的形变的,我这也是好久之前的case了,我当时是根据TAB扩展了一个TAB模型,后来就没有再继续做了

                                                        Dahms R N, Oefelein J C. The significance of drop non-sphericity in sprays[J]. International Journal of Multiphase Flow, 2016, 86: 67-85.
                                                        你可以看看这个文章,我当时就是根据这个做的

                                                          ReitzDiwakarCoeffs
                                                            {
                                                                solveOscillationEq yes;
                                                                Cbag            6;
                                                                Cb              0.785;
                                                                Cstrip          0.5;
                                                                Cs              10;
                                                            }
                                                        
                                                        
                                                            ReitzKHRTCoeffs
                                                            {
                                                                solveOscillationEq yes;
                                                                B0              0.61;
                                                                B1              40;
                                                                Ctau            1;
                                                                CRT             0.1;
                                                                msLimit         0.2;
                                                                WeberLimit      6;
                                                            }
                                                        
                                                            TABCoeffs
                                                            {
                                                        		solveOscillationEq true;
                                                                y0              0;
                                                                yDot0           0;
                                                                Cmu             10;
                                                                Comega          8;
                                                                WeCrit          12;
                                                        		Cb				0.5;
                                                        		SMDCalculationMethod method2;
                                                        		NChild			16;
                                                            }
                                                        

                                                        m.sui20@foxmail.com

                                                        1 条回复 最后回复 回复 引用
                                                        • 星
                                                          星星星星晴 @r07522121 最后由 编辑

                                                          @r07522121 你最好看一下模型的.H,看看都有什么东西可以定义

                                                          m.sui20@foxmail.com

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