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. interPlicFoam

interPlicFoam

已定时 已固定 已锁定 已移动 OpenFOAM
91 帖子 16 发布者 189.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 队长别开枪队 离线
    队长别开枪队 离线
    队长别开枪 超神
    在 中回复了 anubis 最后由 编辑
    #81

    @anubis 看来得在代码里强制相场梯度计算格式了。

    1 条回复 最后回复
  • A 离线
    A 离线
    anubis
    写于 最后由 编辑
    #82

    又碰到一个问题,我自己写了个函数计算网格内的液相体积, surface与网格的交点是从plicFacePoints()函数读过来的,
    比较了一下计算出来的液相体积和alpha1乘以网格体积的值, 对大部分网格,两个值基本上是一致的,误差在0.1%以内,但是当alpha1接近0或者1的时候,误差有时候就比较大了。
    下面是我碰到的一个误差最大的网格, 我用的是长方体的网格,PointLists_是网格的8个点,isofacePoints_ 是surface与网格的交点,VolumeIntegrate_ 是我自己写的函数计算出来的体积, alpha1_ * mesh_.V 就是这个网格内的alpha1乘以体积,test_ratio是这两个值的比值。
    因为我算例是二维的,所以我自己也手算了一下,函数算出来的体积应该没有什么问题,应该是重构界面的时候出现的误差,我想请教一下有方法减少这部分的误差吗?@队长别开枪

     PointLists_ 8((0.0185 0.001 0.000522015) (0.0185 0.0015 0.000522015) (0.019 0.001 0.000522015) (0.019 0.0015 0.000522015) (0.0185 0.001 -0.000522015) (0.0185 0.0015 -0.000522015) (0.019 0.001 -0.000522015) (0.019 0.0015 -0.000522015))
     isofacePoints_ 4((0.019 0.00144899 0.000522015) (0.0189992 0.0015 0.000522015) (0.0189992 0.0015 -0.000522015) (0.019 0.00144899 -0.000522015))
    VolumeIntegrate_ = 2.11363e-14
     alpha1_ * mesh_.V =  1.80361e-14
    test_ratio = 0.853322
    
    A 1 条回复 最后回复
  • A 离线
    A 离线
    anubis
    在 中回复了 anubis 最后由 编辑
    #83

    我发现是因为我改动了orientation函数, 我是先用isoadvector重构了一遍界面,取了界面的法相方向,在orientation函数中又赋值给了interface.n(),
    如果采用原先的cellNormals.operator[]来进行赋值的话,是没有问题的,计算出来的体积和实际上alpha1所占有的体积是相同的。
    但是我没想明白为什么会这样,我大致学习了一下您的论文,我感觉界面的法相方向应该是不会影响重构出来的体积大小的吧? 应该也不是方向弄反了,如果反了的话两个值应该一直会差很多才对。

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

    @anubis 法向量需要单位化,isoadvector里应该存的面积矢量,需要单位化

    A 1 条回复 最后回复
  • A 离线
    A 离线
    anubis
    在 中回复了 队长别开枪 最后由 编辑
    #85

    @队长别开枪 在 interPlicFoam 中说:

    @anubis 法向量需要单位化,isoadvector里应该存的面积矢量,需要单位化

    单位化以后没问题了,多谢大佬

    1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    写于 最后由 编辑
    #86

    戴前辈您好,看到您的方法就想用of里的dambreak算例试一下,尝试了在of1912和of1812中加载您的求解interPlicFoam,但是算$FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreak算例的时候,虽然按照您github上的要求修改了fvScheme和fvSolution,但是计算第一步就会出现问题,浮点数溢出,减小算例时间步长到1e-5也不行,细化一倍网格也不行,请问这是为什么呢?(我注意到您给出的tutorials都是多面体网格的,并非六面体网格,不知道是不是您的求解器不适用于六面体网格?)

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

    @jqbu 或者请问其他熟悉Plic-VOF的大佬有什么建议嘛?才了解有这种方法捕捉界面,还不熟悉,请各位多指教呀
    bebce906-65f1-44ef-8535-be47e731f404-image.png

    1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    在 中回复了 队长别开枪 最后由 编辑
    #88

    @队长别开枪 戴前辈,还想请教您一下,Allrun-parallel中的# Reconstruct distributed data
    runParallel redistributePar -reconstruct中那个redistributePar是什么操作?有时候我用动网格计算时,一个核合并reconstructParMesh再reconstructPar这样运行速度比较慢,看您的算例才知道合并也可以并行,那请问如何并行合并动网格计算的结果呢

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

    @jqbu 最近比较忙,我大概周日或者周一详细回复你一下。

    J 1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    在 中回复了 队长别开枪 最后由 编辑
    #90

    @队长别开枪 好的 谢谢前辈!

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

    interPlicFoam求解器已经并入扩展包geometricVofExt,仓库地址:https://github.com/daidezhi/geometricVofExt

    1 条回复 最后回复

  • 登录

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