/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2312                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    arch        "LSB;label=32;scalar=64";
    class       dictionary;
    location    "system";
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


scale 1;

   a 0.041;
   b 0.02899;
   c 0.017;
   d 0.01202;
   e 0.00646;

   
   
vertices
(
    (0 0 0)		// vertex 0
    ($d $d 0)	// vertex 1
    (-$d $d 0)	// vertex 2
    (-$d -$d 0)	// vertex 3
    ($d -$d 0)	// vertex 4
    ($b $b 0)	// vertex 5
    (-$b $b 0)	// vertex 6
    (-$b -$b 0)	// vertex 7
    ($b -$b 0)	// vertex 8
    ($d $d $e)	// vertex 9
    (-$d $d $e)	// vertex 10
    (-$d -$d $e)	// vertex 11
    ($d -$d $e)	// vertex 12
    ($b $b $e)	// vertex 13
    (-$b $b $e)	// vertex 14
    (-$b -$b $e)// vertex 15
    ($b -$b $e)	// vertex 16
    (0 0 $e)		// vertex 17

);

blocks
(
    hex (1 2 3 4 9 10 11 12) (18 18 25) simpleGrading (1 1 1)	// block 1
    hex (1 5 6 2 9 13 14 10) (18 18 25) simpleGrading (1 1 1)	// block 2
    hex (2 6 7 3 10 14 15 11) (18 18 25) simpleGrading (1 1 1)	// block 3
    hex (3 7 8 4 11 15 16 12) (18 18 25) simpleGrading (1 1 1)	// block 4
    hex (8 5 1 4 16 13 9 12) (18 18 25) simpleGrading (1 1 1)	// block 5
);

edges
(
    arc 5 6 (0 $a 0)		// edge 1
    arc 6 7 (-$a 0 0)		// edge 2
    arc 7 8 (0 -$a 0)		// edge 3
    arc 8 5 ($a 0 0)		// edge 4
    arc 1 2 (0 $c 0)	// edge 5
    arc 2 3 (-$c 0 0)	// edge 6
    arc 3 4 (0 -$c 0)	// edge 7
    arc 4 1 ($c 0 0)	// edge 8

    arc 13 14 (0 $a $e)	// edge 9
    arc 14 15 (-$a 0 $e)	// edge 10
    arc 15 16 (0 -$a $e)	// edge 11
    arc 16 13 ($a 0 $e)	// edge 12
    arc 9 10 (0 $c $e)	// edge 13
    arc 10 11 (-$c 0 $e)	// edge 14
    arc 11 12 (0 -$c $e)	// edge 15
    arc 12 9 ($c 0 $e)	// edge 16

);

boundary
(
    topWall   //fixed bottom wall
    {
        type wall;
        faces
        (
            (1 2 3 4)
            (1 5 6 2)
            (2 6 7 3)
            (3 7 8 4)
            (4 8 5 1)
        );
    }
    piston  // moving body
    {
        type wall;
        faces
        (
            (9 10 11 12)
            (9 10 14 13)
            (10 11 15 14)
            (11 12 16 15)
            (12 9 13 16)
        );
    }
    cylinderWall //lateral surface of the domain
    {
        type wall;
        faces
        (
            (13 14 6 5)
            (14 15 7 6)
            (15 16 8 7)
            (16 13 5 8)
        );
    }
    
);

mergePatchPairs
(  
    
);




// ************************************************************************* //