CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    能不能设置两组颗粒(一组one-way,一组four-way)同时模拟?

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

      如题,想在four-way coupling的气固颗粒流中,添加一组one-way coupling的tracer颗粒。添加的tracer颗粒的密度等于气体密度,直径接近于0。

      我本想可以通过多个injectionModels来添加一组直径非常小的颗粒。但是这样下来,tracer的直径和气固流中的颗粒直径相差太大,而我全局是four-way的需要计算颗粒碰撞,导致计算非常非常的缓慢。

      所以还是想问问,有没有办法在模拟中同时使用两套kinematicCloudProperties?一组是four-way coupling,一组是one-way coupling。我是用的是DPMFoam求解器。

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

        one-way耦合那面把粒子直径设置非常小不就可以了? 为什么因为直径特别小,导致计算缓慢?

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

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

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

          哦那你要是碰撞的话不好弄。要不然把tracer当做欧拉标量传输处理?

          线上CFD课程开始报名:http://www.dyfluid.com/class.html

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

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

            @东岳 其实是想通过拉格朗日的tracer颗粒来跟踪流相的颗粒,用以研究流相的加速度。欧拉的话好像不太方便研究加速度吧

            确实两组粒径差别太大的颗粒算碰撞太缓慢了,请问有没有办法能让碰撞只针对某一组颗粒?

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

              我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
              欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$

              线上CFD课程开始报名:http://www.dyfluid.com/class.html

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

              Z D 3 条回复 最后回复 回复 引用
              • Z
                zhangxc0223 @李东岳 最后由 编辑

                @东岳 谢谢东岳老师提供idea。

                我尝试了比如添加一个kinematicCloud或者添加一组constantProperties,但是好像不修改C或者H文件的话,在计算时只会读取第一组的参数。

                欧拉-欧拉模拟的话我没有什么经验,那请问我这样相当于是三相,一个是流相,二是拉格朗日颗粒相,三是欧拉颗粒相,这样是可以模拟的嘛?

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

                  @李东岳 在 能不能设置两组颗粒(一组one-way,一组four-way)同时模拟? 中说:

                  我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
                  欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$

                  现在才反应过来您的这个方法才是最straightforward的。。

                  还想继续请教东岳老师,在DPMFoam中,从欧拉场计算流体相的加速度,是简单地为
                  DUcDt = fvc::ddt(Uc),
                  还是
                  DUcDt = fvc::DDt(phic, Uc)?

                  另外我在pressureGradientForce的C文件中,还看到
                  fvc::ddt(Uc) + (Uc & fvc::grad(Uc))

                  请问哪个是颗粒-液相流动中,液相的正确加速度?

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

                    @zhangxc0223
                    couple与否,主要在kinematicparcel这部分中,你可以设置一个条件。比如增加一个p.couple() 这个bool,然后拿这个算作条件呗?或者在直接粗暴的用parcel直径作为判断依据

                        if (cloud.solution().coupled())
                        {
                            // Update momentum transfer
                            cloud.UTrans()[this->cell()] += np0 * dUTrans;
                    
                            // Update momentum transfer coefficient
                            cloud.UCoeff()[this->cell()] += np0 * Spu;
                        }
                    

                    在写博士毕业论文,寻找postdoc或者职位中~
                    m.sui20@foxmail.com

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

                      @zhangxc0223
                      Uc都是液相速度~
                      这一部分是生成一个cacheField,在后面calcCoupled中会根据parcel的坐标和cell中心做插值,得到这个DUcDt这个值,然后在计算parcel的受力

                      在写博士毕业论文,寻找postdoc或者职位中~
                      m.sui20@foxmail.com

                      1 条回复 最后回复 回复 引用
                      • D
                        dxl 最后由 编辑

                        one-way的通过自带的solidparticle ,four-way的用kinematicCloud 可以吗,我最近也在尝试这个问题

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

                          @李东岳

                          @李东岳 在 能不能设置两组颗粒(一组one-way,一组four-way)同时模拟? 中说:

                          我目前有个想法是添加两个不同的拉格朗日cloud,看看能否分开处理,但我现在在出差手头没有openfoam还不确定这么做是否straightforward。
                          欧拉场这面可以算一下速度的物质导数就是加速度$D \bfU/D t$

                          你好李老师,我最近也面临这个问题,我现在是尝试用solidparticle做one-way,kinematicCloud用作four-way,但是在求解的时候报错说找不到U文件,两个粒子的cloud分开用的时候都没问题,一起调用的时候出错了

                          D 1 条回复 最后回复 回复 引用
                          • D
                            Dingcy @dxl 最后由 编辑

                            @dxl 你好,我想问一下,你这个"solidparticle做one-way"是啥意思?我用icoUncoupleKinematicParcelFoam做固定流场里入口射入tracer颗粒出了点问题,想了解一下你这个是咋做的?

                            我希望我得到的少一点,少一点,再少一点......

                            D 1 条回复 最后回复 回复 引用
                            • D
                              dxl @Dingcy 最后由 编辑

                              @dingcy oneway指的就是颗粒和流体的耦合是单向的就是只考虑流体对颗粒的作用,相对比较简单的情况,

                              D 1 条回复 最后回复 回复 引用
                              • D
                                Dingcy @dxl 最后由 编辑

                                @dxl 给定流场,然后"kinematicCloudProperties"中关掉耦合那种就叫one way呗,用的是DPMFoam吗?还是你用的其他方法或者求解器?

                                我希望我得到的少一点,少一点,再少一点......

                                D 1 条回复 最后回复 回复 引用
                                • D
                                  dxl @Dingcy 最后由 编辑

                                  @dingcy 关掉耦合应该是oneway,也可以这么用,要是DPMFoam满足你使用要求的话就可以。

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