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

    各位老师好,我现在在用interFoam跑一个溃坝的算例,我想在controldict里面设置捕捉自由液面高程(确定alpha=0.5的x和y),我自己尝试了一下,采用如下设置,但是输出的结果与我的想法不太一样(输出的并不只有alpha=0.5),请问各位老师,我应该如何修改才能达成我的需求:xiexie:

    这是我提取的结果:
    04887ecf-ee2c-45d0-8b69-a94eae77c65c-image.png

    如下是我controldict中的设置:

    freeSurface  //自由表面高程
        {
            type            surfaces;
            libs            ("libsampling.so");
            interpolationScheme cell;
            writeControl    timeStep;
            writeInterval   20;
            surfaceFormat   vtk;
    
            fields
            (
                alpha.water
            );
    
            surfaces
            {
                freeSurface
                {
                    type        isoSurfaceCell;
                    isoField    alpha.water;
                    isoValue    0.5;
                    interpolate true;
                    regularise  false;
                }
    
            }
        }
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    很难做到严格等于0.5。VOF类模型只有理想情况下能=0.5

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

    B 1 条回复 最后回复
  • B 离线
    B 离线
    Be1tazzz
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 谢谢老师解答,我还有个问题,如果不是以alpha.water=0.5为界限,那么这个surface是如何被识别出来的呢?

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

    VOF的原理是保证界面足够的尖锐,如果不尖锐,那就是算法本身的问题,谈不到界面了。所以VOF算法,能用的算法,可以保证alpha尽可能在0.5左右,所以界面就是非0非1的值。

    你设置的这个代码,我看了下相关描述。我并没有看过他们的算法,所以底层我也不了解。不过你可以试试把0.5改成0.9或者0.1看看,是否有太大的差别。我觉得应该差不多。

    Description
        A surface formed by the iso value.
        After "Polygonising A Scalar Field Using Tetrahedrons", Paul Bourke
        (http://paulbourke.net/geometry/polygonise) and
        "Regularised Marching Tetrahedra: improved iso-surface extraction",
        G.M. Treece, R.W. Prager and A.H. Gee.
    
        See isoSurface. This is a variant which does tetrahedrisation from
        triangulation of face to cell centre instead of edge of face to two
        neighbouring cell centres. This gives much lower quality triangles
        but they are local to a cell.
    
    SourceFiles
        isoSurfaceCell.C
        isoSurfaceCellTemplates.C
    

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

    B 1 条回复 最后回复
  • B 离线
    B 离线
    Be1tazzz
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 好的,谢谢老师指点!

    1 条回复 最后回复

  • 登录

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