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方法有什么不同,应该采用哪一个?

关于二维模型的计算,这两种snappyHexMesh方法有什么不同,应该采用哪一个?

已定时 已固定 已锁定 已移动 OpenFOAM
30 帖子 7 发布者 21.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 DY大世界 最后由 编辑
    #8

    @DY大世界 久闻snappyHexMesh大名,遗憾从来没用过,平时计算的季和模型都比较简单:mihu: 抱歉,估计忙不上你什么忙
    你在文中说网格和计算结果都会略有不同,有没有图可以展示一下他们的不同?

    让我们随波逐流

    DY大世界D 1 条回复 最后回复
  • X 在线
    X 在线
    xpqiu 超神
    在 中回复了 DY大世界 最后由 编辑
    #9

    @DY大世界
    extrudeMesh 之后,是否运行了 checkMesh 来检查网格质量?
    不确定你的流程是否对,可以参考一下 /tutorials/incompressible/pimpleFoam/RAS/wingMotion 这个算例。这个是用 snappyHexMesh 生成 2d 网格的例子。

    DY大世界D 2 条回复 最后回复
  • DY大世界D 离线
    DY大世界D 离线
    DY大世界
    在 中回复了 xpqiu 最后由 编辑
    #10

    @xpqiu 好的,谢谢老师的指点回复!

    1 条回复 最后回复
  • DY大世界D 离线
    DY大世界D 离线
    DY大世界
    在 中回复了 史浩 最后由 编辑
    #11

    @史浩 好的,很感谢大佬的回复,我对比看看结果!

    1 条回复 最后回复
  • DY大世界D 离线
    DY大世界D 离线
    DY大世界
    在 中回复了 xpqiu 最后由 编辑
    #12

    @xpqiu 你好大神,我想再问您一下,这两天我看了一些文献,有很多文章都是在使用snappyHexMesh后,没有再用extrudeMesh命令,而是直接把前后面的type设置成empty进行计算。但是仿真结果与试验的对比也挺好。

    我想问一下这种使用snappyHexMesh后通过直接设置front和back的type为empty的方法,能否表示二维模型,这种网格是算二维的还是三维的。因为他们的计算结果精度挺好,是否表明这种方法对于二维模型是可行的?

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

    把文章贴上来看看,这应该是错误的

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

    DY大世界D 1 条回复 最后回复
  • DY大世界D 离线
    DY大世界D 离线
    DY大世界
    在 中回复了 李东岳 最后由 编辑
    #14

    @东岳 感谢李老师回复!

    例如这篇文章没有提到extrudeMesh,说的是将三维转换成二维只需要将边界指定为empty。

    41957e73-5e1b-430b-b3b5-16e1a30804bf-image.png

    现在我的案例是关于波浪-固体耦合的,如果不用extrudeMesh还好,一使用计算就发散,不知道使用extrudeMesh后还有什么要求,比如setFields什么的。

    1 条回复 最后回复
  • X 在线
    X 在线
    xpqiu 超神
    在 中回复了 DY大世界 最后由 编辑
    #15

    @DY大世界 某个方向设置为 empty,那么这个方向的流场就不会再计算。以前的版本如果empty方向的网格不是固定层数,是无法计算的,checkMesh 也会报一个提示:

     ***Total number of faces on empty patches is not divisible by the number of cells in the mesh. Hence this mesh is not 1D or 2D.
    

    经测试,现在新的版本可以计算,但是结果我没有验证过。从计算的角度来讲,即使这样算出来结果是合理的,也增加了很多没必要的计算,因为这样处理,网格数量会比单层的2维网格多很多。
    另外,假设举个例子,一个方形计算区域,中心部分用snappyHexMesh进行了加密,然后x 方向设置为 empty ,那么你计算完的结果,在x 方向上不同位置的截面上流场可能是不一样的,因为网格数量可能不一样,这样显然跟二维计算的概念是不符合的。

    DY大世界D 1 条回复 最后回复
  • DY大世界D 离线
    DY大世界D 离线
    DY大世界
    在 中回复了 xpqiu 最后由 编辑
    #16

    @xpqiu 非常感谢大佬的回答,那不用extrudeMesh命令所得到的确实是不正确的二维网格。而且我对比了使用extrudeMesh与不使用extrudeMesh的计算案例,得到的结果也是不完全吻合。:xiexie:

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 Samuel-Tu 编辑
    #17

    @xpqiu @DY大世界
    我也遇到这个问题了。看网上说的是先createPatch,就是说把empty的一个面先提取出来,然后用extrudeMesh把这个patch沿着垂直方向推一个网格,形成三维的网格。但是我发现,沿着那个方向竟然不是一层网格。原因在于悬挂节点,因为shm的时候用了refine的设置,加密的交界面是悬挂节点,这导致在extrude的时候没法是一层网格,见下图
    首先是我按上述说法做出的沿厚度方向只有一层网格的图:
    jiami.png
    然后提取加密交接面的网格,外表看起来是一层网格
    xuangua.png
    然而细看,竟然是两层网格
    wangge.png
    我就是通过patch extrude出来的一层网格,但是有的地方(主要是加密变化造成的悬挂节点的地方)还是出现两层网格,很疑惑。。

    X 1 条回复 最后回复
  • C 离线
    C 离线
    cresendo
    写于 最后由 编辑
    #18

    @Samuel-Tu 你好,最近自己也刚好尝试过一个二维算例,网格划分参照的是OpenFOAM/OpenFOAM-8/tutorials/incompressible/pimpleFoam/RAS/wingMotion这个自带算例。里面包括如何先用snappy划分,再利用extrudeMesh和createPatch。会不是顺序有哪里出错了呢

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 cresendo 最后由 编辑
    #19

    @cresendo 顺序没有错,那个案例我看过,下午我再去检查一下那个wingMotion案例的网格是否是严格二维的。。因为按理说二维网格的厚度方向只能有一层网格,但是只要shm里用了refine加密,加密的截面上就有悬挂节点,加密截面的那里extrudeMesh生成网格在厚度方向就不止一层网格了

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

    为何不extrude之后再加密?

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

    S 1 条回复 最后回复
  • V 离线
    V 离线
    veen
    写于 最后由 编辑
    #21

    cfmesh好像能定义不同方向不同的加密

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 李东岳 最后由 编辑
    #22

    @李东岳 在shm里面加密的原因是第一步切割和第二步snap的时候能更好的拟合stl文件。。extrude之后加密对shm是没有影响,但是对拟合stl文件里的形状就没有作用了。。。我现在是现在gmsh里面画好渐变 网格,在shm里面就不refine了

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 veen 最后由 编辑
    #23

    @veen cfmesh试过,算的很快,但是遇到复杂的模型发现网格效果没有shm好。。。

    V 1 条回复 最后回复
  • V 离线
    V 离线
    veen
    在 中回复了 Samuel-Tu 最后由 编辑
    #24

    @Samuel-Tu 好滴,gmsh和salome哪个好一些呢?

    S 1 条回复 最后回复
  • X 在线
    X 在线
    xpqiu 超神
    在 中回复了 Samuel-Tu 最后由 李东岳 编辑
    #25

    @Samuel-Tu

    有可能是 paraview 显示的问题,你把 decompose polyhedra mesh 关掉再看看网格。
    snappyHexMesh 画二维网格的流程可以参考 tutorials 里面 incompressible/pimpleFoam/RAS/wingMotion 这个算例,前面也有人提到了。

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 veen 最后由 编辑
    #26

    @veen 我对gmsh熟一点,但是我感觉salome上限更高。。一般我只用salome画stl几何文件,不怎么用它画网格,没太搞明白如何精准设置网格类型和参数,如果有教程可以推给我看看。。

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 xpqiu 最后由 Samuel-Tu 编辑
    #27

    @xpqiu 我算了这个算例,结果如下:
    首先看全局的网格似乎确实只有一层:
    11111.png
    提取一下加密界面的网格发现:
    22222.png
    还是有这种两层的网格。

    @xpqiu 在 关于二维模型的计算,这两种snappyHexMesh方法有什么不同,应该采用哪一个? 中说:

    有可能是 paraview 显示的问题,你把 decompose polyhedra mesh 关掉再看看网格

    我没有找到这个按钮,但是后来我打开了VTK Polyhedra按钮,发现确实是显示的问题,双层网格不见了,加密界面都是单层的多面体了。
    ffefef.png

    X 1 条回复 最后回复

  • 登录

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