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

[blockMesh] wedge of annular channel

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By dplamp

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 19, 2020, 04:02
Default wedge of annular channel
  #1
New Member
 
Join Date: Jul 2017
Posts: 10
Rep Power: 8
dplamp is on a distinguished road
Hi,

I successfully made a wedge for a cylindrical channel (tube). Now, I'm trying to make one for an annular channel.

By annular channel I mean a tube with a rod along the center line, so the air flows between the rod and the tube wall. The geometry is axis-symmetric.

PROBLEM
I set up the following blockMeshDict, but I get this error :
Code:
--> FOAM FATAL ERROR: 
face 0 in patch 6 does not have neighbour cell face: 4(0 4 4 0)
Patch 6 is the "axis" patch. Vertices 0 and 4 are supposed to define the axis of symmetry.


Any idea ?





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

//convertToMeters 0.001;    // mm
convertToMeters 1;        // m

radiusInt    5.5e-3;
radiusExt    8.5e-3;
length    80e-3;
halfWedgeAngle    2.5;    // degrees

// wedge coordinates :
//hAR        #calc "$halfWedgeAngle*Foam::constant::mathematical::pi/180.0";    // half angle in rad
hAR        #calc "degToRad($halfWedgeAngle)";    // half angle in rad
wIx        #calc "$radiusInt*cos($hAR)";       // internal wall x
wIyp    #calc "$radiusInt*sin($hAR)";       // internal wall y pos
wIyn    #calc "-1.0*$wIyp";                 // internal wall y neg
wEx        #calc "$radiusExt*cos($hAR)";       // external wall x
wEyp    #calc "$radiusExt*sin($hAR)";       // external wall y pos
wEyn    #calc "-1.0*$wEyp";                 // external wall y neg
cs        #calc "cos($hAR)";                  // cosine of the half angle

//#calc "Info<< $halfWedgeAngle << $cs << $wIx << $wIyp << $wIyn";
//#calc "Info<< $halfWedgeAngle << $cs << $wEx << $wEyp << $wEyn";

vertices
(
    (0 0 0) // 0
    (1 0 0)
    (0 1 0)
    (0 0 1)
    (0 0 $length)   // 4
    ($wIx $wIyp 0)    // 5
    ($wIx $wIyn 0)
    ($wEx $wEyn 0)
    ($wEx $wEyp 0)
    ($wIx $wIyp $length)    // 9
    ($wIx $wIyn $length)
    ($wEx $wEyn $length)
    ($wEx $wEyp $length)
);

blocks
(
    hex (5 6 7 8 9 10 11 12) (50 1 200) simpleGrading (0.5 1 1)
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (8 7 6 5)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (9 10 11 12)
        );
    }
    wallPipeInt
    {
        type wall;
        faces
        (
            (5 6 10 9)
        );
    }
    wallPipeExt
    {
        type wall;
        faces
        (
            (8 12 11 7)
        );
    }
    front
    {
        type wedge;
        faces
        (
            (6 7 11 10)
        );
    }
    back
    {
        type wedge;
        faces
        (
            (5 9 12 8)
        );
    }
    axis
    {
        type symmetry;
        faces
        (
            (0 4 4 0)
        );
    }
);

mergePatchPairs
(
);


 // ************************************************************************* //
dplamp is offline   Reply With Quote

Old   August 20, 2020, 07:56
Default
  #2
Senior Member
 
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 14
simrego is on a distinguished road
Hi!


You don't have anything at the "axis". There is no mesh. You don't even need this patch.
You have only one block of mesh defined by the (5 6 7 8 9 10 11 12) vertices.
In this case you don't need the axis patch since you don't have mesh there. Just remove the axis entry from the boundary definition and you are done.
simrego is offline   Reply With Quote

Old   August 21, 2020, 03:29
Default [SOLVED] wedge of annular channel
  #3
New Member
 
Join Date: Jul 2017
Posts: 10
Rep Power: 8
dplamp is on a distinguished road
Hello,

Removing the axis did it, thanks ! I'm posting the new setup, should it be helpful to anyone.

I had to reorganize the vertices a little bit. I added some finer cell grading close to the walls too.





blockMeshDict :

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

//convertToMeters 0.001;    // mm
convertToMeters 1;        // m

radiusInt    5.5e-3;
radiusExt    8.5e-3;
length    80e-3;
halfWedgeAngle    2.5;    // degrees

// wedge coordinates :
hAR        #calc "degToRad($halfWedgeAngle)";    // half angle in rad
wIx        #calc "$radiusInt*cos($hAR)";       // internal wall x
wIyp    #calc "$radiusInt*sin($hAR)";       // internal wall y pos
wIyn    #calc "-1.0*$wIyp";                 // internal wall y neg
wEx        #calc "$radiusExt*cos($hAR)";       // external wall x
wEyp    #calc "$radiusExt*sin($hAR)";       // external wall y pos
wEyn    #calc "-1.0*$wEyp";                 // external wall y neg
cs        #calc "cos($hAR)";                  // cosine of the half angle

//#calc "Info<< $halfWedgeAngle << $cs << $wIx << $wIyp << $wIyn";
//#calc "Info<< $halfWedgeAngle << $cs << $wEx << $wEyp << $wEyn";

vertices
(
    (0 0 0) // 0
    (1 0 0)
    (0 1 0)
    (0 0 1)
    ($wIx $wIyn 0)           // 4
    ($wIx $wIyn $length)
    ($wEx $wEyn $length)
    ($wEx $wEyn 0)
    ($wIx $wIyp 0)          // 8
    ($wIx $wIyp $length)
    ($wEx $wEyp $length)
    ($wEx $wEyp 0)
);

blocks
(
    hex (4 7 11 8 5 6 10 9) (50 1 200)
    simpleGrading 
    (
        (
            (0.2 0.3 4)     // 20% x-dir, 30% cells, expansion = 4
            (0.6 0.4 1)     // 60% x-dir, 40% cells, expansion = 1
            (0.2 0.3 0.25)  // 20% x-dir, 30% cells, expansion = 0.25 (1/4)
        )
        1                   // y-direction expansion ratio
        1                   // z-direction expansion ratio
    )
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (4 8 11 7)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (5 6 10 9)
        );
    }
    wallPipeInt
    {
        type wall;
        faces
        (
            (4 5 9 8)
        );
    }
    wallPipeExt
    {
        type wall;
        faces
        (
            (11 10 6 7)
        );
    }
    front
    {
        type wedge;
        faces
        (
            (7 6 5 4)
        );
    }
    back
    {
        type wedge;
        faces
        (
            (8 9 10 11)
        );
    }
);

mergePatchPairs
(
);


// ************************************************************************* //
Nomis likes this.

Last edited by dplamp; August 21, 2020 at 03:31. Reason: typo
dplamp is offline   Reply With Quote

Reply


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
[Other] Wedge patch '*' is not planar LilumDaru OpenFOAM Meshing & Mesh Conversion 6 January 12, 2021 05:55
Inaccurate results for some turbulent annular flows using K-Omega SST donree4 OpenFOAM Running, Solving & CFD 1 March 19, 2019 18:15
Axisymmetric Whirl BCs; Wedge or Cyclic? c_dowd OpenFOAM Pre-Processing 4 December 5, 2012 10:38
Wedge and morpher Henry Arrigo STAR-CCM+ 5 July 6, 2012 18:34
Wall boundary is ignored when using wedge Wedge OpenFOAM 1 February 7, 2011 06:20


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