CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Native Meshers: blockMesh

2:1 refined 2D blockMeshDict with mergePatchPairs?

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools 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: 5
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

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
2D AMR - matching faces that are not refined with refined faces chrisb2244 OpenFOAM Programming & Development 9 June 22, 2016 00:56
mergePatchPairs for a meshing with fixed interface Cyp OpenFOAM Meshing & Mesh Conversion 17 May 22, 2014 09:34
PLease somebody help:problem while changing blockMeshDict file vivek070176 OpenFOAM Installation 1 June 11, 2010 17:51
BlockMeshDict with multiple hex blocks mergePatchPairs prousa OpenFOAM Native Meshers: blockMesh 1 May 14, 2009 23:42
MergePatchPairs in blockMeshDict lord_kossity OpenFOAM Native Meshers: blockMesh 0 April 15, 2008 02:28


All times are GMT -4. The time now is 20:16.