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. MPPICFoam中颗粒分数的求解

MPPICFoam中颗粒分数的求解

已定时 已固定 已锁定 已移动 OpenFOAM
9 帖子 4 发布者 7.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • zheZ 离线
    zheZ 离线
    zhe
    写于 最后由 李东岳 编辑
    #1

    这是求解粒子体积分数的公式:theta[celli] += p.nParticle()*p.volume();。但是,怎么才能得到nParticle? 这里的nParticle应该是每个cell里所含的粒子个数,这个值怎么才能得到?还有一点,这个code跟theta[p.cell()] += dt*p.nParticle()*p.volume();的区别是什么?请大家给解惑一下,谢谢。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    @zhe 在 MPPICFoam中颗粒分数的求解 中说:

    nParticle

    这个是你自己给定的哦,在你的kinematicProperties里面有

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

    zheZ 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    写于 最后由 编辑
    #3

    @zhe 在 MPPICFoam中颗粒分数的求解 中说:

    dt

    东岳老师说的没错,在你的constant中的kinematicproperties 中设置的,但是具体细节还要根据你的 injection model调整
    比如你用的fixed,mass,以及number,在injectionModel中查一下如何设定的吧

    体积分数公式不是这个,这个是求每个cell中的particle 的体积和,下面的哪个 theta.primitiveFieldRef() /=mesh_.V 得到的才是体积分数,这个函数返回的theta才是体积分数

    dt这些不知道是什么,在什么地方出现的啊? m3s?做一下量纲分析吧

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 李东岳 最后由 编辑
    #4

    @东岳 首先谢谢东岳老师的回复。您所提到的particle properties 里的nparticle代表的是每一个Parcel中含有的particle数量,是自己设定的。但在我上面提到的公式里。这个应该是每个cell里particle的数量吧?这个公式是每个cell里particle占的总体积,没错。我想算出每个cell里的体积浓度。不是需要知道这个theta值吗?

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #5

    @星星星星晴 嗯,您说的对,下面的那个才是体积分数。想再请教一个额外的问题。在MPPICFoam中,粒子从一个cell转移到另一个cell中,是根据什么选择下一个cell的?这个算法应该在particle.C这个src文档里,但是因为我自己确实看不懂,所以才想问问论坛里的大家。是根据周围cell的浓度高低来选择,还是别的什么?希望您有时间一起讨论一下。谢谢🙏

    星 白 2 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #6

    @zhe 我不用MPPICFoam 所以我不太了解具体是否因为浓度,我确认的一点是根据速度*lagrangian time step。

    这个是关于kinematic cloud的流程介绍,希望能帮到你
    https://openfoamwiki.net/index.php/OpenFOAM_guide/UML/lagrangian

    游荡

    zheZ 1 条回复 最后回复
  • 白 离线
    白 离线
    白礼耕
    在 中回复了 zhe 最后由 编辑
    #7

    @zhe 不太明白你的问题。如果你指的是“粒子是怎么移动的”,和运动相关的都要去src/lagrangian/intermediate/clouds/Templates/KinematicCloud中找。solve(TrackData& td)函数中,从preEvolve()到postEvovle()的过程,就是粒子运动轨迹被求解的过程。每当粒子穿过一个网格时,粒子的所属网格信息都会被更新。如果你指的是如何判断处在cell face上的粒子属于哪个网格,可以参照这篇博士论文:
    Kärrholm, Fabian Peng. Numerical modelling of diesel spray injection, turbulence interaction and combustion. Gothenburg, Sweden: Chalmers University of Technology, 2008.
    OpenFOAM的粒子追踪算法就是这个人提出的

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 白礼耕 最后由 编辑
    #8

    @白礼耕 感谢🙏。我就是想问的这个问题。之前没弄清楚怎么表达。现在知道在哪个位置,也就好知道怎么回事了。谢谢了

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #9

    @星星星星晴 这个图,我研究过了,像下面一位朋友回答的,我表达的问题有错。不过,您的回答也让我拓宽了些我之前没想到的问题。谢谢。我也是刚接触不久,以后多学习了,希望也能为后来的人解惑。谢谢

    1 条回复 最后回复

  • 登录

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