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

scale 1;

d 0.0015;
D #calc "$d*3.3/2"; //this is the radius!
h #calc "$D*5.785*2+1";
L #calc "$d*55";
NegL #calc "-$d*30";
H #calc "$d*120";

factor_Detp #calc "1";

NegH #calc "2*$factor_Detp -$h";
NegD #calc "-$d*3.3/2.";
NegDY #calc "-$d*3.3/2.+$factor_Detp";

factorCylZone 6.;

D2  #calc "$D*$factorCylZone";
DY #calc "$d*3.3/2+$factor_Detp"; //this is the radius!
D2Y  #calc "$D*$factorCylZone+$factor_Detp";

D45  #calc "$D*$factorCylZone*0.707107";
D45Y  #calc "$D*$factorCylZone*0.707107+$factor_Detp";
D225  #calc "$D*2*0.353553";
D225Y  #calc "$D*2*0.353553+$factor_Detp";

d20x  #calc "$D*::cos(20)";
d20z  #calc "$D*::sin(20)+$factor_Detp";

d70x  #calc "$D*::cos(70)";
d70z  #calc "$D*::sin(70)+$factor_Detp";

Negd20x  #calc "-$D*::cos(20)";
Negd20z  #calc "-$D*::sin(20)+$factor_Detp";

Negd70x  #calc "-$D*::cos(70)";
Negd70z  #calc "-$D*::sin(70)+$factor_Detp";


d20x2  #calc "$D*$factorCylZone*::cos(20)";
d20z2  #calc "$D*$factorCylZone*::sin(20)+$factor_Detp";

d70x2  #calc "$D*$factorCylZone*::cos(70)";
d70z2  #calc "$D*$factorCylZone*::sin(70)+$factor_Detp";

Neg2d20x  #calc "-$D*$factorCylZone*::cos(20)";
Neg2d20z  #calc "-$D*$factorCylZone*::sin(20)+$factor_Detp";

Neg2d70x  #calc "-$D*$factorCylZone*::cos(70)";
Neg2d70z  #calc "-$D*$factorCylZone*::sin(70)+$factor_Detp";

NegD2  #calc "-$D*$factorCylZone";
NegD2Y  #calc "-$D*$factorCylZone+$factor_Detp";

NegD45  #calc "-$D*$factorCylZone*0.707107";
NegD45Y  #calc "-$D*$factorCylZone*0.707107+$factor_Detp";

NegD225  #calc "-$D*2*0.353553";
NegD225Y  #calc "-$D*2*0.353553+$factor_Detp";
vertices
(
($D $factor_Detp -0.005) //0
($D2 $factor_Detp -0.005) //1
 ($L $factor_Detp -0.005) //2
($L $D45Y -0.005) //3
($D45 $D45Y -0.005) //4
($D225 $D225Y -0.005) //5
($L $h -0.005) //6
($D45  $h -0.005) //7
(0 $h -0.005) //8
(0 $D2Y -0.005) //9
(0 $DY -0.005) //10
($NegD $factor_Detp -0.005) //11
($NegD2 $factor_Detp -0.005) //12
($NegL $factor_Detp -0.005) //13
($NegL $D45Y -0.005) //14
($NegD45 $D45Y -0.005) //15
($NegD225 $D225Y -0.005) //16
($NegL $h -0.005) //17
($NegD45 $h -0.005) //18
($D $factor_Detp 0.005) //19
($D2 $factor_Detp 0.005) //20
($L $factor_Detp 0.005) //21
($L $D45Y 0.005) //22
($D45 $D45Y 0.005) //23
($D225 $D225Y 0.005) //24
($L $h 0.005) //25
($D45 $h 0.005) //26
(0 $h 0.005) //27
(0 $D2Y 0.005) //28
(0 $DY 0.005) //29
($NegD $factor_Detp 0.005) //30
($NegD2 $factor_Detp 0.005) // 31
($NegL $factor_Detp 0.005) //32
($NegL $D45Y 0.005) //33
($NegD45 $D45Y 0.005) //34
($NegD225 $D225Y 0.005) //35
($NegL $h  0.005) //36
($NegD45 $h 0.005) //37
($L $NegD45Y -0.005) //38
($D45 $NegD45Y -0.005) //39
($D225 $NegD225Y -0.005) //40
($L $NegH -0.005) //41
($D45 $NegH -0.005) //42
(0 $NegH -0.005) //43
(0 $NegD2Y -0.005) //44
(0 $NegDY -0.005) //45
($NegL $NegD45Y -0.005) // 46
($NegD45 $NegD45Y -0.005) // 47
($NegD225 $NegD225Y -0.005)// 48
($NegL $NegH -0.005)// // 49
($NegD45 $NegH -0.005)// 50
($L $NegD45Y 0.005)// 51
($D45 $NegD45Y 0.005)// 52
($D225 $NegD225Y 0.005)// 53
($L $NegH 0.005)// 54
($D45 $NegH 0.005)// 55
(0 $NegH 0.005)// 56
(0 $NegD2Y 0.005)// 57
(0 $NegDY 0.005)// 58
($NegL $NegD45Y 0.005)//59 
($NegD45 $NegD45Y 0.005)// 60
($NegD225 $NegD225Y 0.005)// 61
($NegL $NegH 0.005)// 62
($NegD45 $NegH 0.005)// 63
 ) ;
 
rhoA 68;// radial
rhoB 20; // arc
rhoC 105; // right length
rhoD 39; //up
rhoE 45; //left side
rhoF 39; //down

blocks
(
hex (5 4 9 10 24 23 28 29) ($rhoA $rhoB 1) simpleGrading (10.5 1 1) //0 
hex (0 1 4 5 19 20 23 24) ($rhoA $rhoB 1) simpleGrading (10.5 1 1) //1 
hex (1 2 3 4 20 21 22 23) ($rhoC $rhoB 1) simpleGrading (2 1 1)// 2
 hex (4 3 6 7 23 22 25 26) ($rhoC $rhoD 1) simpleGrading (2 1.1 1) //3 
 hex (9 4 7 8 28 23 26 27) ($rhoB $rhoD 1) simpleGrading (1 1.1 1) //4 
 hex (16 10 9 15 35 29 28 34) ($rhoB $rhoA  1) simpleGrading (1 10.5 1)  //5
 hex (11 16 15 12 30 35 34 31) ($rhoB $rhoA  1) simpleGrading (1 10.5 1) // 6 
 hex (12 15 14 13 31 34 33 32) ($rhoB $rhoE 1) simpleGrading (1 2 1) //7
 hex (15 18 17 14 34 37 36 33) ($rhoD $rhoE 1) simpleGrading (1.1 2 1)  //8
 hex (9 8 18 15 28 27 37 34) ($rhoD $rhoB 1) simpleGrading (1.1 1 1) //9

 hex (40 45 44 39 53 58 57 52) ($rhoB $rhoA  1) simpleGrading (1 10.5 1)  //10 //
 hex (0 40 39 1 19 53 52 20) ($rhoB $rhoA 1) simpleGrading (1 10.5 1) //11
 hex (1 39 38 2 20 52 51 21) ($rhoB $rhoC 1) simpleGrading (1 2 1) //12
 hex (39 42 41 38 52 55 54 51) ($rhoF $rhoC 1) simpleGrading (1.1 2 1) // 13
 hex (44 43 42 39 57 56 55 52) ($rhoF $rhoB 1) simpleGrading (1.1 1 1) //14
 hex (48 47 44 45 61 60 57 58) ($rhoA $rhoB 1) simpleGrading (10.5 1 1) //15
 hex (11 12 47 48 30 31 60 61) ($rhoA $rhoB 1) simpleGrading (10.5 1 1) //16 
 hex (12 13 46 47 31 32 59 60) ($rhoE $rhoB 1) simpleGrading (2 1 1) //17
 hex (47 46 49 50 60 59 62 63) ($rhoE $rhoF 1) simpleGrading (2 1.1 1) //18/
 hex (44 47 50 43 57 60 63 56) ($rhoB $rhoF 1) simpleGrading (1 1.1 1) //19
 ) ;

 edges
 (
 arc 0 5 ($d20x $d20z -0.005)
 arc 5 10 ($d70x $d70z -0.005)
 arc 1 4 ($d20x2 $d20z2 -0.005)
 arc 4 9 ($d70x2 $d70z2 -0.005)
 arc 19 24 ($d20x $d20z  0.005)
 arc 24 29 ($d70x $d70z 0.005)
 arc 20 23 ($d20x2 $d20z2 0.005)
 arc 23 28 ($d70x2 $d70z2 0.005)
 arc 11 16 ($Negd20x $d20z -0.005)
 arc 16 10 ($Negd70x $d70z -0.005)
 arc 12 15 ($Neg2d20x  $d20z2 -0.005)
 arc 15 9 ($Neg2d70x $d70z2 -0.005)
 arc 30 35 ($Negd20x $d20z 0.005)
 arc 35 29 ($Negd70x $d70z 0.005)
 arc 31 34 ($Neg2d20x $d20z2 0.005)
 arc 34 28 ($Neg2d70x $d70z2 0.005)

 arc 0 40 ($d20x $Negd20z -0.005)
 arc 40 45 ($d70x $Negd70z -0.005)
 arc 1 39 ($d20x2 $Neg2d20z -0.005)

 arc 39 44 ($d70x2  $Neg2d70z  -0.005)
 arc 19 53 ($d20x  $Negd20z 0.005)
 arc 53 58 ($d70x  $Negd70z 0.005)
 arc 20 52 ($d20x2  $Neg2d20z 0.005)
 arc 52 57 ($d70x2  $Neg2d70z 0.005)
 arc 11 48 ( $Negd20x  $Negd20z  -0.005)
 arc 48 45 ( $Negd70x  $Negd70z -0.005)
 arc 12 47 ( $Neg2d20x  $Neg2d20z  -0.005)
 arc 47 44 ( $Neg2d70x  $Neg2d70z  -0.005)
 arc 30 61 ( $Negd20x $Negd20z 0.005)
 arc 61 58 ( $Negd70x $Negd70z 0.005)
 arc 31 60 ( $Neg2d20x $Neg2d20z 0.005)
 arc 60 57 ( $Neg2d70x $Neg2d70z 0.005)
 
 ) ;
 

 boundary
 (

 top
 {
 type patch ;
faces
 (
 (7 8 27 26)
 (6 7 26 25)
 (8 18 37 27)
 (18 17 36 37)
 ) ;
 }

 bottom
 {
 type patch ;
faces
 (
 (49 50 63 62)
 (50 43 56 63)
 (43 42 55 56)
 (42 41 54 55)
 ) ;
 }

 inlet
 {
     type   cyclic;
     neighbourPatch outlet;
 faces
 (
 (14 13 32 33)
 (17 14 33 36)

 (46 13 32 59)
 (46 49 62 59)
 ) ;
 }

 outlet
 {
     type   cyclic;
     neighbourPatch inlet;
 faces
 (
 (2 3 22 21)
 (3 6 25 22)

 (38 51 21 2)
 (41 54 51 38)
 ) ;
 }
 
 cylinder
 {
 type wall ;
 faces
 (
 (10 5 24 29)
 (5 0 19 24)
 (16 10 29 35)
 (11 16 35 30)

 (48 11 30 61)
 (45 48 61 58)
 (40 45 58 53)
 (0 40 53 19)
 ) ;
 }

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

 mergePatchPairs
 (
 ) ;
	
	
	
	
	


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