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 发布者 145.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • linhan.geL 离线
    linhan.geL 离线
    linhan.ge
    写于 最后由 编辑
    #1

    大家好,我目前在用VOF-DEM耦合做气泡(VOF)和颗粒(DEM)相互作用的模拟。现在想添加一个颗粒和气泡间的作用力。这个作用力由颗粒与气液interface间的距离决定。目前想用alpha1=0.5作为interface,想请教一下大家,如何在代码层面尽量快速高效的找到alpha1=0.5的所有网格的位置,要遍历所有网格去找吗?

    Working on CFDEM project.

    1 条回复 最后回复
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    写于 最后由 编辑
    #2

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

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

    这个作用力由颗粒与气液interface间的距离决定

    你要处理颗粒一半在水里、一半在空气中的情况?
    是的。你这个在VOF里面确切的获得界面不容易,主要是VOF目前很难有严格的alpha=0.5的情况,除非采用其他算法几何性的重构出来。

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

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

    @队长别开枪 没用过iso-Advector,主要我还改了相方程(加了颗粒相体积分数的影响),不知道iso-Advector相方程好修改吗?

    Working on CFDEM project.

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

    @东岳 不一定是一半一半的情况,就是颗粒距离气泡表面有一定的距离的时候,会有力的作用,类似于MPPICinterFOAM里面在界面处施加的里,只不过我是跟界面距离有关,MPPICinterFOAM是相分数梯度的函数。

    Working on CFDEM project.

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

    @linhan-ge 不知道你的相方程怎么修改的,iso-Advector 修改起来不难,我自己在做多面体网格的PLIC解析算法,advection部分因为不是我的研究范围就用的iso-Advector提供的算法。

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

    @队长别开枪 其实我的修改很简单,就是加入一个颗粒相体积分数的影响,0_1528067861730_fc6c44b9-e94e-4d5f-a7c1-7102a25b4c1d-image.png 这是对MULES方法的修改,针对isoadvector,应该就需要前两项。不知道以大神的经验,可行性如何,代码实现难度大不大。我目前对isoadvector的了解非常浅薄。

    Working on CFDEM project.

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

    @linhan-ge $\alpha_f$ 是指颗粒相体积分数吗?因为一般下标$f$指代有限控制体的边界(face)

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

    @队长别开枪 $\alpha_f$是所有流体的体积分数,包括空气和水。$\alpha_f$=$\alpha_1$+$\alpha_2$

    Working on CFDEM project.

    队长别开枪队 1 条回复 最后回复
  • W 离线
    W 离线
    wallong
    在 中回复了 队长别开枪 最后由 编辑
    #10

    @队长别开枪 你好,因为研究内容界面张力主导,需要两相界面更精确一点,想要在OF中实现结构化网格的PLIC界面重构,找了一些资料,包括Fortran版的实现,几何计算实在看得不是很明白:qichuang:
    请教一下有讲得好一点的资料推荐吗?计算几何的知识可以怎么补一下?感觉很多论文里网格层面操作很多啊:mihu:

    You see, and you travel.

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

    @wallong 为什么不用iso-advector 啊?有什么特别的考虑吗?

    Working on CFDEM project.

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

    @wallong 结构网格中的PLIC算法相对容易,PLIC说白了就是求解interface近似平面的位置,数学上一般使用$\vec{n} \cdot \vec{X} + D = 0$表示,需要求解interface orientation vector $\vec{n}$ 和 signed distance $D$,$\vec{n}$一般使用主相体积分数的梯度,即$\vec{n} = - \frac{\nabla \alpha}{| \nabla \alpha |}$,也有使用其他辅助函数的,例如CLSVOF方法,使用的是level-set函数的梯度计算$\vec{n}$,优点是光滑。总的来说,$\vec{n}$的计算主要是梯度的计算,在非结构网格中无非高斯定理或者最小二乘,而$D$的计算就和网格单元类型相关了,也更复杂一些,六面体单元算是比较简单的一类了,可以参考 http://iccfd9.itu.edu.tr/assets/pdf/papers/ICCFD9-2016-288.pdf 。所有的网格操作都是为了计算$D$,结构网格最简单。
    iso-advector使用的是 iso-surface的基本思想,先假定isoValue = 0.5,将interface cell中的isoValue 等值面作为初始interface近似,然后调整isoValue 的数值使得等值面的位置满足主相体积分数$alpha$的值,isoValue 相当于PLIC中的$D$。与PLIC相比,iso-advector重构出来的interface近似不一定是平面,会有翘曲。

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

    @linhan-ge 这样的话没有颗粒的话$\alpha_f = 1$,考虑颗粒的影响的话$\alpha_f = \alpha_1 + \alpha_2$就小于1了,我的理解对吗?如果我的理解对的话,那情况就复杂了。。。

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

    @队长别开枪 抱歉,这个地方搞错了,$\alpha_1+\alpha_2=1$是始终成立的,是液体或气体占流体的体积分数,不是占三相的,$\alpha_f$实际上是流体占流固两相的体积分数。

    Working on CFDEM project.

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

    @linhan-ge iso-advector很棒,不过考虑到自己添加自适应功能的难度,观望中...

    You see, and you travel.

    1 条回复 最后回复
  • W 离线
    W 离线
    wallong
    在 中回复了 linhan.ge 最后由 编辑
    #16

    @linhan-ge 作者一直在这方面努力,好像最近有新的进展了,上周Yoube更新了新的AMR视频,之前说六月可能会发布 https://www.youtube.com/channel/UCt6Idpv4C8TTgz1iUX0prAA

    You see, and you travel.

    1 条回复 最后回复
  • W 离线
    W 离线
    wallong
    在 中回复了 队长别开枪 最后由 编辑
    #17

    @队长别开枪 非常感谢,很有帮助,抱歉回复得有点晚了
    我起初参考论文[1],通过PLIC重构,进而得到一个每个面上AOF(area of fraction),来作为alphaEqn.H中的phiAlpha相可以显著提高界面精度。此外论文中实现了非结构化网格的PLIC,依据的是Maric T[2]的迭代方法,这部分可能和你的工作相关。
    isoAdvector的实现确实很有参考意义,学习中,最近作者好像在测试AMR了,可能不久会发布。
    之前Maric T说过等完成了会公开Code,见https://www.cfd-online.com/Forums/openfoam-programming-development/89713-plic-interfoam.html,后来似乎没有。猜测可能出书,办培训班的原因,看了一眼去年他的博士论文,里面涉及了PLIC和其他界面追踪方法,个人底子差,确实难懂...
    关于我的课题,除了精确界面,还需要关注的是界面张力项,CSF模型有更大影响,所以在试着实现一个新的张力模型,在你给的论文中作者反复提到了“ without smearing, dispersing or wrinkling.”,大家都知道OpenFOAM原来的方法在smearing方面表现不好,其余wrinking方面是不是也表现不好,在2-D vortex测试中会出现不明锯齿状界面,那dispersing方面呢?
    [1]Dianat M, Skarysz M, Garmory A. A Coupled Level Set and Volume of Fluid method for automotive exterior water management applications[J]. International Journal of Multiphase Flow, 2017, 91: 19-38.
    [2]Maric T, Marschall H, Bothe D. voFoam-a geometrical volume of fluid algorithm on arbitrary unstructured meshes with local dynamic adaptive mesh refinement using OpenFOAM[J]. arXiv preprint arXiv:1305.3417, 2013.

    You see, and you travel.

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

    @wallong 看各位高手讨论学到很多,对于我们这种主要侧重于应用这些方法的人来说,跟不上你们的节奏:zoule: 。大神对于我上面提出的问题,即在相方程中加入颗粒相的影响,有什么看法吗?代码层面的实现难度怎么样?由于有毕业压力,目前不敢轻易的换方法。

    Working on CFDEM project.

    W 1 条回复 最后回复
  • 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 条回复 最后回复

  • 登录

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