CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[blockMesh] 2:1 refined 2D blockMeshDict with mergePatchPairs?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 2, 2014, 00:52
Default 2:1 refined 2D blockMeshDict with mergePatchPairs?
  #1
Member
 
Christian Butcher
Join Date: Jul 2013
Location: Japan
Posts: 85
Rep Power: 13
chrisb2244 is on a distinguished road
I can generate a mesh if I omit the 'mergePatchPairs' section, but in that case, 'checkMesh' informs me I have x-many regions that are not connected by any faces.

If I remove duplicate vertices, I get errors relating to 'inconsistent number of faces' when running blockMesh.

When I add a 'mergePatchPairs' section, blockMesh fails. In this case, the error is given as

Code:
--> FOAM FATAL ERROR: 
Face 16384 reduced to less than 3 points.  Topological/cutting error A.
Old face: 2(20622 23184) new face: 2(20622 23184)

    From function void slidingInterface::coupleInterface(polyTopoChange& ref) const
    in file slidingInterface/coupleSlidingInterface.C at line 1481.

FOAM aborting
however I have also (for similar blockMeshDict) had a error relating to a 'slicing error'.

My intention is to provide a 2:1 refined initial mesh so as to bypass difficulties with 2D AMR (since the region of interest is very simple - just the middle)

Does anyone know what I'm doing wrong? (and if there is a solution more trivial than "Go back to coding a modified fvRefineHexMesh class"?)

My blockMeshDict is as follows:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version        2.0;
    format        ascii;
    class        dictionary;
    object        blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

vertices
(
    (0 0.0 0)
    (160.0 0.0 0)
    (160.0 11.0 0)
    (0 11.0 0)
    (0 0.0 10.0)
    (160.0 0.0 10.0)
    (160.0 11.0 10.0)
    (0 11.0 10.0)
    (0 11.0 0)
    (160.0 11.0 0)
    (160.0 11.5 0)
    (0 11.5 0)
    (0 11.0 10.0)
    (160.0 11.0 10.0)
    (160.0 11.5 10.0)
    (0 11.5 10.0)
    (0 11.5 0)
    (160.0 11.5 0)
    (160.0 11.625 0)
    (0 11.625 0)
    (0 11.5 10.0)
    (160.0 11.5 10.0)
    (160.0 11.625 10.0)
    (0 11.625 10.0)
    (0 11.625 0)
    (160.0 11.625 0)
    (160.0 16.0 0)
    (0 16.0 0)
    (0 11.625 10.0)
    (160.0 11.625 10.0)
    (160.0 16.0 10.0)
    (0 16.0 10.0)
    (0 16.0 0)
    (160.0 16.0 0)
    (160.0 24.0 0)
    (0 24.0 0)
    (0 16.0 10.0)
    (160.0 16.0 10.0)
    (160.0 24.0 10.0)
    (0 24.0 10.0)
    (0 24.0 0)
    (160.0 24.0 0)
    (160.0 28.375 0)
    (0 28.375 0)
    (0 24.0 10.0)
    (160.0 24.0 10.0)
    (160.0 28.375 10.0)
    (0 28.375 10.0)
    (0 28.375 0)
    (160.0 28.375 0)
    (160.0 28.5 0)
    (0 28.5 0)
    (0 28.375 10.0)
    (160.0 28.375 10.0)
    (160.0 28.5 10.0)
    (0 28.5 10.0)
    (0 28.5 0)
    (160.0 28.5 0)
    (160.0 29.0 0)
    (0 29.0 0)
    (0 28.5 10.0)
    (160.0 28.5 10.0)
    (160.0 29.0 10.0)
    (0 29.0 10.0)
    (0 29.0 0)
    (160.0 29.0 0)
    (160.0 40.0 0)
    (0 40.0 0)
    (0 29.0 10.0)
    (160.0 29.0 10.0)
    (160.0 40.0 10.0)
    (0 40.0 10.0)
);

blocks
(
    hex (0 1 2 3 4 5 6 7)    (320 22 1) simpleGrading (1 1 1)
    hex (8 9 10 11 12 13 14 15)    (640 2 1) simpleGrading (1 1 1)
    hex (16 17 18 19 20 21 22 23)    (1280 1 1) simpleGrading (1 1 1)
    hex (24 25 26 27 28 29 30 31)    (2560 70 1) simpleGrading (1 1 1)
    hex (32 33 34 35 36 37 38 39)    (5120 256 1) simpleGrading (1 1 1)
    hex (40 41 42 43 44 45 46 47)    (2560 70 1) simpleGrading (1 1 1)
    hex (48 49 50 51 52 53 54 55)    (1280 1 1) simpleGrading (1 1 1)
    hex (56 57 58 59 60 61 62 63)    (640 2 1) simpleGrading (1 1 1)
    hex (64 65 66 67 68 69 70 71)    (320 22 1) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    side_left
    {
        type patch;
        faces
        (
            (0 3 7 4)
            (8 11 15 12)
            (16 19 23 20)
            (24 27 31 28)
            (32 35 39 36)
            (40 43 47 44)
            (48 51 55 52)
            (56 59 63 60)
            (64 67 71 68)
        );
    }

    side_right
    {
        type patch;
        faces
        (
            (1 5 6 2)
            (9 13 14 10)
            (17 21 22 18)
            (25 29 30 26)
            (33 37 38 34)
            (41 45 46 42)
            (49 53 54 50)
            (57 61 62 58)
            (65 69 70 66)
        );
    }

    bottom
    {
        type wall;
        faces
        (
            (0 4 5 1)
        );
    }

    top
    {
        type wall;
        faces
        (
            (67 66 70 71)
        );
    }

    frontAndBack
    {
        type empty;
        faces
        (
            (1 0 3 2)
            (5 4 7 6)
            (9 8 11 10)
            (13 12 15 14)
            (17 16 19 18)
            (21 20 23 22)
            (25 24 27 26)
            (29 28 31 30)
            (33 32 35 34)
            (37 36 39 38)
            (41 40 43 42)
            (45 44 47 46)
            (49 48 51 50)
            (53 52 55 54)
            (57 56 59 58)
            (61 60 63 62)
            (65 64 67 66)
            (69 68 71 70)
        );
    }

    pm0
    {
        type ;
        faces
        (
            (2 6 7 3)
        );
    }

    ps0
    {
        type ;
        faces
        (
            (9 8 12 13)
        );
    }

    pm1
    {
        type ;
        faces
        (
            (10 14 15 11)
        );
    }

    ps1
    {
        type ;
        faces
        (
            (17 16 20 21)
        );
    }

    pm2
    {
        type ;
        faces
        (
            (18 22 23 19)
        );
    }

    ps2
    {
        type ;
        faces
        (
            (25 24 28 29)
        );
    }

    pm3
    {
        type ;
        faces
        (
            (26 30 31 27)
        );
    }

    ps3
    {
        type ;
        faces
        (
            (33 32 36 37)
        );
    }

    pm4
    {
        type ;
        faces
        (
            (34 38 39 35)
        );
    }

    ps4
    {
        type ;
        faces
        (
            (41 40 44 45)
        );
    }

    pm5
    {
        type ;
        faces
        (
            (42 46 47 43)
        );
    }

    ps5
    {
        type ;
        faces
        (
            (49 48 52 53)
        );
    }

    pm6
    {
        type ;
        faces
        (
            (50 54 55 51)
        );
    }

    ps6
    {
        type ;
        faces
        (
            (57 56 60 61)
        );
    }

    pm7
    {
        type ;
        faces
        (
            (58 62 63 59)
        );
    }

    ps7
    {
        type ;
        faces
        (
            (65 64 68 69)
        );
    }

);

mergePatchPairs
(
    ( pm0 ps0 )
    ( pm1 ps1 )
    ( pm2 ps2 )
    ( pm3 ps3 )
    ( pm4 ps4 )
    ( pm5 ps5 )
    ( pm6 ps6 )
    ( pm7 ps7 )
);

// ******************************************************************************* //
The blockMeshDict is generated by a python3 script.
chrisb2244 is offline   Reply With Quote

Reply

Tags
blockmesh, blockmeshdict, openfoam, openfoam-2.3


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[blockMesh] mergePatchPairs problem when migrating from OFext1.6 to OFext3.1 ma-tri-x OpenFOAM Meshing & Mesh Conversion 2 January 12, 2021 05:23
[blockMesh] mergePatchPairs reducing a face to less than 3 points aow OpenFOAM Meshing & Mesh Conversion 2 June 1, 2018 18:37
2D AMR - matching faces that are not refined with refined faces chrisb2244 OpenFOAM Programming & Development 9 June 22, 2016 01:56
[blockMesh] BlockMeshDict with multiple hex blocks mergePatchPairs prousa OpenFOAM Meshing & Mesh Conversion 1 May 15, 2009 00:42
[blockMesh] MergePatchPairs in blockMeshDict lord_kossity OpenFOAM Meshing & Mesh Conversion 0 April 15, 2008 03:28


All times are GMT -4. The time now is 14:53.