/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
piValue #calc "constant::mathematical::pi";
L 0.25;
h  0.02;
Negh -0.1;
Zlength #calc "$L*1*$piValue/180."; //1 degree X pi/180*L
NegZlength  #calc "-$Zlength"; //1 degree X pi/180*L

margin 0.005;
R 0.05;
e 0.002;
R_plus #calc "$R+$margin";
y_pos  #calc "$e/2.+$margin";
y_neg  #calc "-$e/2.-$margin";
ZlengthPiston #calc "$R_plus*1*$piValue/180."; //1 degree X pi/180*L
NegZlengthPiston  #calc "-$ZlengthPiston"; //1 degree X pi/180*L


scale 1;
 
vertices
(
(0 $Negh 0) //0
($L $Negh $Zlength) //1
($L $h $Zlength)  //2
(0 $h 0) //3
($L $Negh $NegZlength)  //4
($L $h $NegZlength) //5
 

(0 $y_neg 0) //6
($R_plus $y_neg $ZlengthPiston) //7
($R_plus $y_pos $ZlengthPiston)  //8
(0 $y_pos 0) //9
($R_plus $y_neg $NegZlengthPiston)  //10
($R_plus $y_pos $NegZlengthPiston) //11
);
 
 
blocks
(
hex (0 1 4 0 3 2 5 3) (250  1 240) simpleGrading (1 1 1)
hex (6 7 10 6 9 8 11 9) movingZone (120  1 44) simpleGrading (1 1 1)
);
 
edges
(
);
 
boundary
(
    // Populated by subsetMesh
    hole
    {
        type wall;
        faces ();
    }
    overset2
    {
        type        overset;
        faces
        (
            (6 10 7 6)
            (9 8 11 9)
            (7 10 11 8)
        );
    }
     front
     { 
           type wedge;
           faces  
           (
               (0 1 2 3)
               (6 7 8 9)
           );
      }
     back
     { 
           type wedge;
           faces  
           (
               (0 3 5 4)
               (6 9 11 10)
           );
      }
     OuterWall
     { 
           type wall;
           faces  
           (
               (1 4 5 2)
           );
      }
     bottom
     { 
           type patch;
           faces  
           (
               (0 4 1 0)
           );
      }
     top
     { 
           type patch;
           faces  
           (
               (3 5 2 3)
           );
      }
     axis
     { 
           type empty;
           faces  
           (
               (0 3 3 0)
               (6 9 9 6)
           );
      }
);
 
mergePatchPairs
(
);




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