Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. particleforce类内ErgunWenYuDrag的表达式感觉有错误

particleforce类内ErgunWenYuDrag的表达式感觉有错误

已定时 已固定 已锁定 已移动 OpenFOAM
22 帖子 5 发布者 17.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 上 离线
    上 离线
    上级
    写于2019年7月3日 15:50 最后由 李东岳 编辑 2019年7月4日 10:29
    #1

    最近在研究DPMFoam求解器时,看到了ErgunWenYuDrag力的表达式源程序是:

    src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Drag/ErgunWenYuDrag/ErgunWenYuDragForce.C +97
     template<class CloudType>
     Foam::forceSuSp Foam::ErgunWenYuDragForce<CloudType>::calcCoupled
        (
           const typename CloudType::parcelType& p,
           const scalar dt,
          const scalar mass,
          const scalar Re,
          const scalar muc
      ) const
      {
          scalar alphac(alphac_[p.cell()]);
     
          if (alphac < 0.8)
          {
              return forceSuSp
              (
                 Zero,
                  (mass/p.rho())
                 *(150.0*(1.0 - alphac)/alphac + 1.75*Re)*muc/(alphac*sqr(p.d()))//感觉和原始文献里面有很大的区别
              );
          }
          else
          {
              return forceSuSp
               (
                  Zero,
                  (mass/p.rho())
                 *0.75*CdRe(alphac*Re)*muc*pow(alphac, -2.65)/(alphac*sqr(p.d()))//这个也是
               );
          }
      }
    

    公式显示貌似有些问题。
    翻译一下公式是:
    (1)mdρd(150(1−αc)αc+1.75Re)μcαcd2(αc<0.8)
    原始文献里面的计算公式:
    (2)150(1−αc)2μcαcd2+1.75ρcαd|vr|d
    两个差了很多。不知道有木有大神解答一下,纠结了一整天了:mihu:

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月4日 02:31 最后由 编辑
    #2

    曳力这面计算公式要稍微注意一下,openfoam那面用的是CdRe,而不是Cd*Re,约掉了一些项,我没太对比,你注意下这个问题看看能否一致

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 上 离线
    上 离线
    上级
    写于2019年7月4日 13:02 最后由 编辑
    #3

    好的,谢谢李老师,我再研究研究

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月4日 23:51 最后由 编辑
    #4

    Good, 等着你的反馈:baobao:

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 上 离线
    上 离线
    上级
    写于2019年7月7日 14:53 最后由 李东岳 编辑 2019年7月8日 07:44
    #5

    经过仔细比对,发现OF里面ErgunWenYuDrag模型的实现确实有些许问题,下面是我的详细分析。
    首先,参照文献Ding and Gidaspow, 1990所述,欧拉-欧拉模型的连续相方程为:
    (3)∂(αcρcUc)∂b+∇⋅(αcρcUcUc)−∇⋅(αcρcτ)=−αc∇p+αcρcg−β(Uc−Ud)
    当曳力模型为ErgunWenYuDrag时,β定义为:
    (4)β={Re<100024αcRe[1+0.15(αcRe)0.687]Re≥10000.44}
    上面公式(4)中CD为阻力系数,与雷诺数Re相关,阻力系数和雷诺数的计算式为:
    (5)β={Re<100024αcRe[1+0.15(αcRe)0.687]Re≥10000.44}
    (6)Re=ρc|Uc−Ud|dμc
    然后参照我研读DPMFoam代码以及东岳老师的多相流数学模型一文,总结出了DPMFoam中欧拉-拉格朗日模型中的连续相的方程为(这个方程暂时不知道对不对):
    (7)∂(αcρcUc)∂b+∇⋅(αcρcUcUc)−∇⋅(αcρcτ)=−αc∇p+αcρcg−∑i=1ncmdρdKd(U¯c−Udi)/Vc
    公式(7)中nc为单个流体网格中的颗粒数,Vc为网格体积。
    OpenFOAM中把颗粒受力F写为F=Sp(U−Ud)+Su,然后通过particleforce类中的calcCoupled或calcNonCoupled函数来计算不同颗粒所受作用力的Sp和Su,根据解读的代码,ErgunWenYuDrag模型力中的Su=0,Sp计算式为:
    (8)Sp={αc<0.8mdρd(150(1−αc)αc+1.75Re)μcαcd2αc≥0.8mdρd34CdRe(αcRe)μcαc−2.65αcd2}
    公式(8)中CdRe函数为:
    (9)β={Re<100024[1+0.15(Re)0.687]Re≥10000.44Re}
    把(8)写成与(4)相同的形式,得到:
    (10)Sp={αc<0.8mdρd(150(1−αc)μcαcd2+1.75ρc|Uc−Ud|αcd)αc≥0.8mdρd34CDρc|Uc−Ud|dαc−2.65}
    比较(10)和(4)发现,(10)中当αc<0.8时,后面一项中的分母上多了一个αc,当αc⩾0.8时,分子上少了一个αc,同时都少一个1−αc是因为要把网格内颗粒相加再除以网格体积,得到1−αc。
    最后总结一下,第一次提出问题时我说两个模型公式相差很大有些表述不准确,事实上是有细微区别,现在暂时不知道一个αc的影响有多大,也有可能是我哪里推导错了,不过我检查了一遍,暂时没发现错误,现在发送出来讨论一下。
    此外,最近一直研究DPMFoam,不知道上面写出的欧拉-朗格朗日方程对不对?还有,如果颗粒比网格大了,用单个网格内的颗粒相加除以网格体积是不是就没有意义了,也就是说模型方程是不是就不能再这么写了?

    A U 2 条回复 最后回复 2019年7月22日 11:17
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月7日 23:46 最后由 编辑
    #6

    连续相方程是对的。颗粒比网格大,DPMFoam不能用。这是欧拉拉格朗日的数学假定。待我仔细看看Wenyu模型回复你

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月7日 23:53 最后由 编辑
    #7

    你看看这个文章?Drag models for Simulation Gas-Solid Flow in the Bubbling Fluidized Bed of FCC Particles
    看起来跟你的方程差不多

    捕获.PNG

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 上 离线
    上 离线
    上级
    写于2019年7月8日 11:31 最后由 编辑
    #8

    李老师您这篇文章的公式就是我上面式(4)的公式,但是我好像打错了:mianmo: 。总体比较来看是有细微区别。

    1 条回复 最后回复
  • 刘 离线
    刘 离线
    刘雄国
    写于2019年7月10日 08:45 最后由 编辑
    #9

    现在OpenFOAM7 出来了 据我的同事说改变了很多 你可以看一下

    上 1 条回复 最后回复 2019年7月19日 10:05
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月19日 02:45 最后由 编辑
    #10

    @上级 我最近在弄拉格朗日欧拉耦合,发现了点关于相分数的东西,你的信息量好大我没太看全,不是好像也是关于想分数的?下图会不会给你一点启发

    捕获.JPG

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    A 上 2 条回复 最后回复 2019年7月22日 11:35
  • 上 离线
    上 离线
    上级
    写于2019年7月19日 09:57 最后由 编辑
    #11

    李老师@东岳 请问这篇文献出处是?我想研究一下

    李 1 条回复 最后回复 2019年7月19日 13:27
  • 上 离线
    上 离线
    上级
    在 2019年7月19日 10:05 中回复了 刘雄国 最后由 编辑
    #12

    @刘雄国 嗯,我去看一下OF7的代码,谢谢您

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    在 2019年7月19日 13:27 中回复了 上级 最后由 编辑
    #13

    @上级 我写的manuscript还没提交,http://www.cfd-china.com/topic/1488/欧拉及拉格朗日下的动量方程压力项竟然不一样/7 这个我包含了一些推导

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • A 离线
    A 离线
    Ant
    在 2019年7月22日 11:17 中回复了 上级 最后由 编辑
    #14

    @上级 您好,您现在又有新的发现吗,如果Re的定义中(公式6)再多一个alphac,这样是不是就和文献中一样了?公式(8)中mass/density那部分应该是1-alphc(你上面说的),如果Re在MPPIC/DPMfoam的定义是alphac乘以特征项那就应该是一样了. 但是我不知道怎么找Re的定义,如果您这边对代码比较熟麻烦核实下看看?

    1 条回复 最后回复
  • A 离线
    A 离线
    Ant
    在 2019年7月22日 11:35 中回复了 李东岳 最后由 编辑
    #15

    @东岳 李老师,您好,目前在看一些文献,关于相分数这些搞不懂。看了您下面链接的相关讨论,也看了关于Z. Y. ZhOU J. Fluid Mech. (2010), vol. 661, pp.482-510. 这篇文章里关于相分数的讨论。那篇文章中有关于压力梯度项和应力散度项乘以alpha和不乘两种形式,会导致动力传递项F包含的力不同。您这篇文章里重力也没有乘以alpha,这个是有特殊含义吗,后面那个动力传递项是不是也与传统的几中写法不同?看了您上面关于这两个的解释,也不是很懂?

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年7月23日 12:24 最后由 编辑
    #16

    关于压力梯度项和应力散度项乘以alpha和不乘两种形式,会导致动力传递项F包含的力不同。

    http://www.cfd-china.com/topic/1488/欧拉及拉格朗日下的动量方程压力项竟然不一样/7 应该在这个里面讨论了。乘以相分数之后不需要压力梯度力,不乘相分数需要考虑压力梯度力

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 上 离线
    上 离线
    上级
    在 2019年8月4日 07:36 中回复了 李东岳 最后由 编辑
    #17

    @东岳 李老师,关于您这张图中的公式(16)我有几个疑问,如果说得不对望见谅。
    1.对于连续相动量方程的拉力梯度项前是否需要乘以一个相分数主要决定于F中的压力梯度力项是否提取出来了,如果提取出来了和前面的压力梯度项组合就会出现乘以相分数的情况,如果不提取出来,把颗粒的压力梯度力放在F中,前面就不用再乘以相分数。不知道我这么解释是否正确?这个解释我是参考的文章Zhou et al. 2010
    2.对于您式子(16)中最后一项为何F的前面要乘以一个颗粒相分数,并且为何是除以颗粒的体积,按道理不应该是除以流场网格体积吗?
    希望能得到李老师的解答。

    李 1 条回复 最后回复 2019年8月4日 09:57
  • 李 在线
    李 在线
    李东岳 管理员
    在 2019年8月4日 09:57 中回复了 上级 最后由 编辑
    #18

    1 是的

    2 这是每单位体积的粒子所受的力,因此除了颗粒体积。另外,是每个网格内粒子的体平均,因此乘以相分数

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    上 1 条回复 最后回复 2019年8月8日 07:15
  • 上 离线
    上 离线
    上级
    在 2019年8月8日 07:15 中回复了 李东岳 最后由 编辑
    #19

    @东岳 李老师,您这个式子(16)的g前面是不是还少一个α?

    李 1 条回复 最后回复 2019年8月10日 01:28
  • 李 在线
    李 在线
    李东岳 管理员
    在 2019年8月10日 01:28 中回复了 上级 最后由 李东岳 编辑 2019年8月10日 09:29
    #20

    @上级 是的,。重力和压力梯度相抗衡,如果压力梯度没有乘以α,g也不能乘。我觉得你的Wenyu模型相分数问题也应该类似

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
2019年7月3日 15:50

9/22

2019年7月10日 08:45

未读 13
2020年8月30日 09:00
  • 登录

  • 登录或注册以进行搜索。
9 / 22
  • 第一个帖子
    9/22
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]