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. 找到vof中interface的位置

找到vof中interface的位置

已定时 已固定 已锁定 已移动 OpenFOAM
70 帖子 11 发布者 146.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • W 离线
    W 离线
    wallong
    在 中回复了 linhan.ge 最后由 编辑
    #19

    @linhan-ge 我顶多算刚入门,聊八卦有点多,没怎么聊正事:mianmo:
    VOF-DEM不了解,不好说,有什么影响,难度如何,建议先试一试吧,试下就知道了。下次可以把参考论文post出来

    You see, and you travel.

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

    就是颗粒距离气泡表面有一定的距离的时候,会有力的作用,

    建议直观的,用公式或者图的方式说明一下

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

    linhan.geL 2 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 李东岳 最后由 编辑
    #21

    @东岳 0_1528431512437_7454f070-5718-44ac-9088-6072e19772e0-image.png
    这是我们组之前用DEM做的,中间蓝色的是气泡,灰色的是颗粒,都用DEM 来模拟。当颗粒在离气泡表面一定距离时,会有一些表面力,如范德华力,疏水力等,lubrication force 等等,他们的大小都是颗粒与气泡表面距离的函数。举个例子,疏水力的公式是
    0_1528432104731_67f6afbf-84b6-4eec-896d-de5702b8d429-image.png
    其中k,$\lamda$,Rp都是已知的参数,H就是颗粒表面与气泡表面的距离,n是气泡径中心与颗粒中心相连的方向向量。

    Working on CFDEM project.

    1 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 李东岳 最后由 编辑
    #22

    @东岳 0_1528432472586_e0564bbf-15f0-483b-a40f-ba221dc4dcad-image.png
    这个图可能好点,也是我们组做的,但是是油滴和颗粒,还是DEM模拟。

    Working on CFDEM project.

    1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 linhan.ge 最后由 编辑
    #23

    @linhan-ge emmm...这个说实话超出我的研究范围了,可以考虑将$\alpha_f$代入方程(8),然后进行简化,难点在对流项的计算,使用有限体积法转化为面积分后就是控制体表面的流量的计算,无论几何重构还是代数方法都是为这个服务的,但是我没有你这个方向上的经验,因此不好给出任何建议,代码上难度还可以,我在考虑写一个iso-advector的代码解析,不过有毕业压力,可能近期不会完成了。。。

    linhan.geL L 2 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 wallong 最后由 编辑
    #24

    @wallong dispersing我认为这是VOF方法天生的缺陷,无论对于几何重构还是代数方法,只能增加网格分辨率,减少时间步长,别的没啥好的解决办法。几何重构相对代数方法一定程度上克服了代数方法的numerical diffusion,根子还是VOF函数在interface处是个不连续函数。
    我们组有一部分工作是PLIC-VOF中任意多面体单元界面重构的解析算法,文献[2]中用的迭代法求解效率不适合用在实际应用中,研究成果发表后我们将会公布源代码。
    我们在研究中发现现有的CSF模型在capillary force主导的流动中存在计算的表面张力偏大的问题。

    linhan.geL 1 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 队长别开枪 最后由 编辑
    #25

    @队长别开枪 多谢解答。修改MULES时非常简单,直接在相应位置把通量或体积分数替换掉即可。不知道在isoadvector中是不是也是类似的操作。:mihu:

    Working on CFDEM project.

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

    @linhan-ge 在 找到vof中interface的位置 中说:

    H就是颗粒表面与气泡表面的距离,n是气泡径中心与颗粒中心相连的方向向量。

    以疏水力举例,主要就是定义H和n。提醒几点:

    • 如要计算颗粒表面与气泡表面的距离H,最好先求n
    • 在求n的时候,颗粒中心有了。你的气泡中心,目前OpenFOAM里面是VOF,这个是重构出来的。你要精准的获得气泡中心,你需要非常高的网格分辨率,这样才能比较准。如果有了比较高的分辨率,可以通过alpha值提取出气泡边界,通过这个边界,依据你们的算法计算出中心位置。这样n向量就有了
    • 有了n之后,H要顺着n求,这个比较好求

    个人感觉,你们这个网格分辨率要很大。VOF是直接模拟。DEM是介尺度。假定一个气泡4mm,那网格如果是0.1mm的话,你的颗粒直径最好小于0.01mm左右。DEM这面求解精度高度要求网格大于颗粒直径,VOF那面要求网格远小于气泡直径。可以衡量下。

    比如你第二个图,液滴和颗粒这个图,这个图液滴和颗粒基本同量级。网格方面会存在冲突。网格太密DEM那面不好用,网格太粗液滴界面出不来。如果模拟单气泡,应该比较好处理。

    PS 图片很直观,经典。

    如何在代码层面尽量快速高效的找到alpha1=0.5的所有网格的位置,要遍历所有网格去找吗?

    回到你最开始的问题,这个需要有非常好的网格分辨率。比如网格尺度是气泡尺度的百分之一或千分之一。才能有这个界面。如果网格糙,界面就存在厚度。你可以寻找$0.2<\alpha <0.8$,类似这样给两个用户自定义阈值。

    目前,能想到的只有遍历网格去找。另一种方法是参考DEM那面,DEM那面通过粒子穿过网格面的算法去定位粒子所在的网格位置。But,非常复杂且有点小bug,有时候粒子沿着网格定点对角线穿过的时候粒子就丢了。

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

    linhan.geL 1 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 李东岳 最后由 编辑
    #27

    @东岳 非常感谢如此详尽的回复,高手就是高手,直戳问题的要点,信息量较大,我需要消化消化。由于DEM的问题,目前我肯定无法使用非常细的网格,在另一篇帖子里,我想尝试用dual grid来解决这个问题,但可能毕业前没有时间尝试了。在力的处理上,我感觉可能需要用简化的模型代替,来回避对精确界面的依赖。我再仔细琢磨琢磨您的回复。

    Working on CFDEM project.

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

    @linhan-ge 有什么进展么最近

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

    linhan.geL L 2 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 李东岳 最后由 编辑
    #29

    @东岳 最终还是通过简化力的模型来解决这个问题。正如你之前说的,通过找到界面进行几何分析来计算相应的力需要网格分别率很高, 但是再小的网格也比颗粒要大,这就无法提供足够精确的几何关系。

    Working on CFDEM project.

    1 条回复 最后回复
  • L 离线
    L 离线
    litong189456
    在 中回复了 队长别开枪 最后由 编辑
    #30

    @队长别开枪 您是做带有几何重构的VOF算法的,我想请问一下,现有的算法都是在不可压缩流体中使用,对于可压缩流体,这些几何重构算法(比如PLIC)还能适用吗,为什么现在没有相应的文章呢,是没有人做,还是说在算法上有难以解决的问题呢,这个问题困扰我好久了。

    队长别开枪队 1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 litong189456 最后由 编辑
    #31

    @litong189456 目前我的工作还没考虑气相的可压缩性,考虑可压缩性后,控制体内的密度就不再是VOF的函数了,一些控制方程也要改,应该不容易搞

    L 1 条回复 最后回复
  • L 离线
    L 离线
    litong189456
    在 中回复了 队长别开枪 最后由 编辑
    #32

    @队长别开枪 谢谢

    1 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 队长别开枪 最后由 编辑
    #33

    @队长别开枪 最近想钻研下isoadvector,想请教大神一些基本问题。
    相方程中的时间项在isoadvector代码的哪个部分求解的呢?找了一圈只找到advection那项。
    @队长别开枪 在 找到vof中interface的位置 中说:

    求解过程中的0.5等值面提取没搞过啊,只有后处理的时候提取过iso-surface。你说的这个需要在求解过程中确定interface的位置,使用OpenFoam最新的iso-Advector或者PLIC-VOF吧,这两个都属于几何重构方法,求解过程中可以得到interface的位置信息。

    这里,您说的interface的位置信息具体是怎么得到的呢,代码上如何处理?

    Working on CFDEM project.

    队长别开枪队 1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 linhan.ge 最后由 编辑
    #34

    @linhan-ge 绝大部分几何重构方法都是使用一阶欧拉显式方法处理VOF方程中的时间项的,具体到代码就是

        // Initialising dVf with upwind values
        // i.e. phi[facei]*alpha1[upwindCell[facei]]*dt
        dVf_ = upwind<scalar>(mesh_, phi_).flux(alpha1_)*mesh_.time().deltaT();
    
        // Do the isoAdvection on surface cells
        timeIntegratedFlux();
    
        // Synchronize processor patches
        syncProcPatches(dVf_, phi_);
    
        // Adjust dVf for unbounded cells
        limitFluxes();
    
        // Advect the free surface
        alpha1_ -= fvc::surfaceIntegrate(dVf_);
    

    fvc::surfaceIntegrate(dVf_)就是用来计算当前时间步流过控制体表面的主相体积占控制体体积的比值。

    isoAdvector获取重构好的interface比较困难。在PLIC方法中则会定义交界面为$\vec{n} \cdot \vec{X} + D_0 = 0$,通过求解$\vec{n}$和$D_0$得到interface的近似平面。我们组最近会开源一个基于PLIC方法的二维求解器,在里面可以很方便地得到这个interface的空间位置,三维的预计年底开源,文章正在审。参考 https://doi.org/10.1002/fld.4664

    linhan.geL M 2 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #35

    这个蛮好的嘛

    0_1531965646653_捕获.JPG

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

    队长别开枪队 1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 李东岳 最后由 编辑
    #36

    @东岳 在前人的基础上做的研究,只求老板给毕业 :xinlei:

    1 条回复 最后回复
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    在 中回复了 队长别开枪 最后由 编辑
    #37

    @队长别开枪 非常有用的信息,期待你们求解器的开源。

    Working on CFDEM project.

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

    @队长别开枪
    你主要做界面这面的哪个模型?PLIC?

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

    队长别开枪队 1 条回复 最后回复

  • 登录

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