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. 请教如何只提取某处的液面高度时程图,就像实验放置在水槽中的wave height probe那样

请教如何只提取某处的液面高度时程图,就像实验放置在水槽中的wave height probe那样

已定时 已固定 已锁定 已移动 OpenFOAM
6 帖子 3 发布者 5.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    Sloan
    写于 最后由 编辑
    #1

    1.在paraview中可以提取某时刻的液面高度:contour设置alpha=0.5,做slice然后从spreadsheet中可以看到并且输出液面高度数据, 假定长方体水槽,那么输出数据是xy,x为水槽长度坐标,y为液面高度坐标,如下图:
    7e64b2d6-c355-4708-a877-a49d42973902-image.png
    2.假如只想得到水槽正中间液面高度随时间的变化,比如水槽长1m,按上述办法,可以选取很多时间步,t=0.1s, 0.2s, 0.3s...在每个时间步里做1的操作,把x=0.5m处的y记录下来,最后就能得到所要的水槽正中间x=0.5m处液面高度随时间的变化 y-t;
    3.还有的办法是使用sample办法,在水槽中间定义取值的线, 得到每个时间步线上的alpha值,然后处理得到alpha=0.5的点坐标,把点坐标的y取出来,也能得到 y-t, 如CFD Oline2009年的帖子:https://www.cfd-online.com/Forums/openfoam-post-processing/64462-how-monitor-free-surface-elevation-vs-time.html

    但2,3的操作工作量很大,不知道现在有没有提取工具可以直接提取呢,比如定义水槽中间x=0.5(长度方向), z=0.1(宽度方向)处,在每个时间步里提取alpha=0.5的y值,这样子就很快速能得到y-t。但是没有找到类似的方法,这里请教一下大家,谢谢!

    1 条回复 最后回复
  • xiezhuoyuX 离线
    xiezhuoyuX 离线
    xiezhuoyu
    写于 最后由 编辑
    #2

    OF-7这边,有interfaceHeight,可以很方便提取某处的液面高度。
    OF-v1912这边的话,提取液面高度确实不是很方便,你可能得用你说的方法3。

    S 2 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    在 中回复了 xiezhuoyu 最后由 编辑
    #3

    @xiezhuoyu 好的好的,谢谢回复!我去看看这个功能,再来回馈效果

    1 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    在 中回复了 xiezhuoyu 最后由 编辑
    #4

    @xiezhuoyu 做了测试,interfaceHeight确实好用,可以直接将下述代码放置到controlDict中,即可实现功能,点坐标可以改为自己要监测的位置,

    functions
    {  
       interfaceHeight1
       {
           type           interfaceHeight;
           libs           ("libfieldFunctionObjects.so");
           alpha          alpha.water;
           locations      ((0 0 0) (0.5 0 0) (1.0 0 0));
       }
    
    }
    

    代码功能解释可参考链接: https://cpp.openfoam.org/v6/classFoam_1_1functionObjects_1_1interfaceHeight.html
    希望对大家有帮助,谢谢!

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

    @Sloan @xiezhuoyu 感谢分享!

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

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    在 中回复了 李东岳 最后由 编辑
    #6

    @东岳 @xiezhuoyu 谢谢!

    1 条回复 最后回复

  • 登录

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