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. 拉格朗日粒子追踪死循环

拉格朗日粒子追踪死循环

已定时 已固定 已锁定 已移动 OpenFOAM
14 帖子 5 发布者 9.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 白 离线
    白 离线
    白礼耕
    在 中回复了 yfclark 最后由 编辑
    #5

    @yfclark 是不是你的网格太密了?欧拉-拉格朗日法的基本假设就是粒子的质量远小于网格中欧拉相的质量。网格太密,物理意义上就不成立了。
    可以通过intermediate/clouds/Templates/KinematicCloud中的theta()函数查看液相和气相的体积比,只在屏幕上输出最大值就好。如果值大于1,那就可能有问题了。处在交界面上会自动判断归属于哪个网格或是直接删除,除非几乎所有parcel都很小并且处在交界面上,才会出问题,基本不可能——就算是这种情况,提示的也是除0的错误。所以,大概率是网格过密。是不是用了渐变网格?喷嘴附近的网格是不是比粒子初始直径还小?建议从这个角度入手解决。
    另一个思路是,调整parcelsPerSecond

    hurricane007H 1 条回复 最后回复
  • Y 离线
    Y 离线
    yfclark 神
    写于 最后由 编辑
    #6

    @白礼耕 感谢回复,网格和粒子直径比确实小,最小比例为5,我会排查的,另外我最近也在尝试渐变网格,您使用过这样的网格算拉格朗日粒子追踪吗,我之前只在欧拉方法中用过,没有问题,不知道用在粒子追踪上算法能否处理,有什么需要注意的请指教

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

    @yfclark 当然可以啦,什么网格都能算的。你是卡在了Added 1 new parcels这么?

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

    @白礼耕 我记得theta() 是欧拉相或者拉格朗日相的分数?如果这个大于1应该就是越界了,理论上说DPM应该不至于超1,但是MPPIC容易超1是真的。还是我记错了这个是两者的比例?

    @yfclark 在 拉格朗日粒子追踪死循环 中说:

    @白礼耕 感谢回复,网格和粒子直径比确实小,最小比例为5,

    然后网格粒子大小比是5应该问题不大的啊

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yfclark 神
    写于 最后由 编辑
    #9

    最近发现一个问题可能导致粒子追踪死循环,之前我的patchInteractionModel被设置为None,粒子在边界上追踪陷入死循环,现在设置为localInteraction后不再出现该问题

    J 1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    在 中回复了 yfclark 最后由 编辑
    #10

    @yfclark 请问老师前面如何统计的,认为是分块的原因?现在又是如何思考的,加上locelInteraction就可以了? 因为我最近在算喷雾的时候也遇到了这个问题 排查之后也是在move函数出了问题,前面的算例加上locelInteraction就可以了,但是后来又有一个算例使用了各种patchInteractionModel都会卡在added xx new parcels这步。

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 JqBu 最后由 编辑
    #11

    @jqbu 会不会你add的parcel太小了,好像我之前遇到过add太小是出问题的

    游荡

    J 2 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    在 中回复了 星星星星晴 最后由 编辑
    #12

    @星星星星晴 前辈您好,感谢回复!请问您觉得多小的parcel算小呢?我在字典文件里设置了minParcelMass为1e-20,然后我设置的初始粒子的平均粒径在100um以上,破碎之后大部分也都是十几或几十um的水平

    1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    在 中回复了 星星星星晴 最后由 编辑
    #13

    @星星星星晴 前辈,我看了帖子之前的讨论,但是没太看懂大家解决粒子追踪这种死循环问题的原理是什么,之前算freeSpray的时候出现这种问题可以用添加patchInteractionModel的方法解决,但是后面算impinging spray的时候就解决不了了,网格尺度是一样的,粒子的设置也是一样的。我现在还没太清楚是程序哪个部分出现了问题?

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 JqBu 最后由 编辑
    #14

    @jqbu minParcelMass 在你这个1e-20的话 大概算出来是3.91486764×10−7 不知道你有没有什么地方设置过vsmall 还有rootvsmall,作为filter,可能有问题吧 不好说。

    另外如果parcel太小,有可能也被trap到某个涡里。看看调整一下你的Euler time step 还有maxco试试
    impinging的流场比较复杂 jet?你先调整试试看one-way 限制尺寸大一点。

    游荡

    1 条回复 最后回复

  • 登录

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