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. blockmesh生成网格总报错没有相邻面

blockmesh生成网格总报错没有相邻面

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

    blockmesh生成网格总报错没有相邻面,改来改去总有这个问题,还是不同的面报错,这是为什么呢?哭QvQ

    --> FOAM FATAL ERROR: 
    face 0 in patch 0 does not have neighbour cell face: 4(12 13 31 30)
    
        From function Foam::labelList Foam::polyMesh::facePatchFaceCells(const faceList&, const labelListList&, const faceListList&, Foam::label) const
        in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 118.
    ![e1752f4f83bfed1f6e8b47f61921b5a.jpg](/assets/uploads/files/1700296198954-e1752f4f83bfed1f6e8b47f61921b5a.jpg) 
    blockmeshdict
    convertToMeters 1;
    
    vertices
    (
        (0 1 0)
        (3 1 0)
        (3 0 0)
        (9 0 0)
        (9 1 0)
        (11 1 0)
        (11 2 0)
        (9 2 0)
        (9 3 0)
        (3 3 0)
        (3 2 0)
        (2 2 0)
        (2 3 0)
        (1 3 0)
        (1 2 0)
        (0 2 0)
        (1 1 0)
        (2 1 0)
        (0 1 0.1)
        (3 1 0.1)
        (3 0 0.1)
        (9 0 0.1)
        (9 1 0.1)
        (11 1 0.1)
        (11 2 0.1)
        (9 2 0.1)
        (9 3 0.1)
        (3 3 0.1)
        (3 2 0.1)
        (2 2 0.1)
        (2 3 0.1)
        (1 3 0.1)
        (1 2 0.1)
        (0 2 0.1)
        (1 1 0.1)
        (2 1 0.1)
    );
    
    blocks
    (
        hex (0 16 14 15 18 34 32 33)   (10 10 1) simpleGrading (1 1 1) //1
        hex (16 17 11 14 34 35 29 32)  (10 10 1) simpleGrading (1 1 1) //2
        hex (14 11 12 13 29 30 31 32)  (10 10 1) simpleGrading (1 1 1) //3
        hex (17 11 29 35 1 10 28 19)   (10 10 1) simpleGrading (1 1 1) //4
        hex (10 9 27 28 7 8 26 25)     (60 10 1) simpleGrading (1 1 1) //5
        hex (1 4 7 10 19 22 25 28)     (60 10 1) simpleGrading (1 1 1) //6
        hex (2 1 19 20 3 4 22 21)      (60 10 1) simpleGrading (1 1 1) //7
        hex (4 7 25 22 5 6 24 23)      (20 10 1) simpleGrading (1 1 1) //8
    );
    
    boundary
    (
        inletair
        {
            type patch;
            faces
            (
                (12 13 31 30)
            );
        }
        inletwater
        {
            type patch;
            faces
            (
                (0 18 33 15)
            );    
        }
        outlet
        {
            type patch;
            faces
            (
                (5 6 24 23)
            );
        }
        wall
        {
            type wall;
            faces
            (
                (0 16 34 18) //FRONT
                (16 17 35 34)
                (35 17 1 19)
                (20 19 1 2)
                (20 2 3 21)
                (3 4 22 21)
                (4 5 23 22)
                (33 18 34 32) //UP
                (32 34 35 29)
                (35 19 28 29)
                (31 32 29 30)
                (26 27 28 25)
                (25 28 19 22)
                (22 19 20 21)
                (23 24 25 22)
                (14 15 33 32) //BACK
                (32 31 13 14)
                (12 30 29 11)
                (29 28 10 11)
                (10 28 27 9)
                (9 27 26 8)
                (7 8 26 25)
                (6 7 25 24)
                (0 15 14 16) //DOWN
                (16 14 11 17)
                (14 13 12 11)
                (1 17 11 10)
                (10 9 8 7)
                (1 10 7 4)
                (2 1 4 3)
                (5 4 7 6)
             );
        }
    );
    
    xiezhuoyuX 1 条回复 最后回复
  • xiezhuoyuX 离线
    xiezhuoyuX 离线
    xiezhuoyu
    在 中回复了 chapaofan 最后由 编辑
    #2

    @chapaofan 在 blockmesh生成网格总报错没有相邻面 中说:

    hex (14 11 12 13 29 30 31 32) (10 10 1) simpleGrading (1 1 1) //3

    上面的顺序错了。
    可能是下面这个:
    hex (14 11 12 13 32 29 30 31) (10 10 1) simpleGrading (1 1 1) //3

    C 1 条回复 最后回复
  • C 离线
    C 离线
    chapaofan
    在 中回复了 xiezhuoyu 最后由 编辑
    #3

    @xiezhuoyu 修改过后这样报错是为什么呢?我之前修改也会这样报错
    --> FOAM FATAL ERROR:
    Inconsistent number of faces between block pair 1 and 3

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

    @chapaofan
    7abf1c13-6840-41f5-84bf-b9bd6be20adc-image.png
    这里面有矛盾的设置。
    每条边上的单元数改为10试试(下图),再慢慢调整。
    5506eeba-6589-4fdf-8f0d-c046a9e60e16-image.png

    C 1 条回复 最后回复
  • C 离线
    C 离线
    chapaofan
    在 中回复了 xiezhuoyu 最后由 编辑
    #5

    @xiezhuoyu oh!非常感谢!我再慢慢调整一下

    1 条回复 最后回复
  • C 离线
    C 离线
    chapaofan
    写于 最后由 编辑
    #6

    Snipaste_2023-11-20_16-34-31.png
    找到问题所在了。大家一定要从离原点最近的坐标开始定义block,要不然划分网格就会乱掉QvQ

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

    用blockMesh来画这个也是个狠人! :threaten:

    @xiezhuoyu 大神能debug出来更狠! :threaten: :threaten:

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

    1 条回复 最后回复
  • L 离线
    L 离线
    liurui
    写于 最后由 编辑
    #8

    截图.png 我也遇到了这个问题,我是这样命名block的但还是不行。麻烦您看看

    C 1 条回复 最后回复
  • C 离线
    C 离线
    chapaofan
    在 中回复了 liurui 最后由 编辑
    #9

    @liurui 面的编号要用右手定则指向计算域外侧,所以就比如第一个hex应该是(0 7 6 1 8 9 14 15)

    1 条回复 最后回复

  • 登录

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