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. snappyHexMesh并行后导致对topoSet建立的faceZone流量监测不准!

snappyHexMesh并行后导致对topoSet建立的faceZone流量监测不准!

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

    各位老师同学好,我想通过topoSet建立faceZone监测内部面的流量,但是出现了以下问题:

    • 当snappyHexMesh不是并行时,对faceZone流量监测是准的,使用的脚本是:

    blockMesh
    surfaceFeatureExtract
    snappyHexMesh
    topoSet
    checkMesh
    decomposePar
    mpirun -np 32 icoFoam -paralle
    reconstructPar

    • 但是,当使用snappyHexMesh并行时,就会出现对faceZone流量监测不准的情况,此时使用的脚本是:

    blockMesh
    surfaceFeatureExtract
    decomposePar
    mpirun -np 32 snappyHexMesh -parallel
    reconstructParMesh -constant -noZero
    topoSet
    checkMesh
    rm -rf processor*
    decomposePar
    mpirun -np 32 icoFoam -parallel
    reconstructPar

    希望各位老师同学给点建议,谢谢🙏

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

    @MingfengWang 在 snappyHexMesh并行后导致对topoSet建立的faceZone流量监测不准! 中说:

    就会出现对faceZone流量监测不准的情况

    差多少。1%?5%?还是20 30%?

    监测内部面的流量

    怎么监控的

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

    M 3 条回复 最后回复
  • M 离线
    M 离线
    MingfengWang
    在 中回复了 李东岳 最后由 MingfengWang 编辑
    #3

    @李东岳 感谢李老师的回复!

    1. 监控方法:
    • 用topoSet建立一个内部面faceZone,该面垂直于流动方向,平行于出入口
    • 使用surfaceFieldValue监控,具体如下:
    flowRateFaceZone
    {
      type            surfaceFieldValue;
      libs            (fieldFunctionObjects);
    
      operation       sum;
      regionType      faceZone;
      name          middleFace;
    
      fields
        (
            phi
        );
      writeFields    false;
    }
    
    1. 误差
    • snappyHexMesh单核时,内部面的流量等于出入口的流量,为2.093200e-13 m3/s
    • snappyHexMesh并行时,内部面流量6.733410e-14 m3/s,出入口流量为2.093200e-13 m3/s
    • 误差较大,差了一个数量级
    1 条回复 最后回复
  • M 离线
    M 离线
    MingfengWang
    在 中回复了 李东岳 最后由 编辑
    #4

    @李东岳 而且这种情况只出现在服务器上,不知道为什么!
    我在自己笔记本上测试时,snappyHexMesh单核和并行的结果都对。但是,把相同的设置放到服务器上时,snappyHexMesh并行就会有问题。

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

    @李东岳
    我测试了一下,在服务器上模拟时,当核心数为4、8时监控的内部面上的流量正常。但是,当核心数为16、32、64时监控的内部面上的流量出错,且核心数越多误差越大,最大误差在一个数量级。

    以上使用的监控方法为在controlDict文件中写入以下代码:

    flowRateFaceZone
    {
      type            surfaceFieldValue;
      libs            (fieldFunctionObjects);
      operation       sum;
      regionType      faceZone;
      name          middleFace;
      fields
        (
            phi
        );
      writeFields    false;
    }
    

    另外,我也尝试着使用另外一种方法,将flowRateFaceZone写入到controlDict中,具体如下:

    #includeFunc flowRateFaceZone(name=middleFace)

    结果还是不行,没有结果输出。

    最后,还使用了后处理命令 "postProcess -func "flowRateFaceZone(name=middleFace)",同样还是没有结果输出。

    求李老师指点,谢谢!

    1 条回复 最后回复

  • 登录

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