/*--------------------------------*- 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;
    location    "system/solid";
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#include "../../constant/include/CaseSetupValue";

vertices
(
	($r3a	$r3a 	$zMin)
	($nr3a	$r3a	$zMin) 
	($nr3a	$nr3a	$zMin)
	($r3a	$nr3a	$zMin)
	($ra	$ra	$zMin)
       	($nra	$ra	$zMin)
	($nra	$nra	$zMin)
	($ra	$nra	$zMin)
 

	($r3a	$r3a 	$zMax)
	($nr3a	$r3a	$zMax) 
	($nr3a	$nr3a	$zMax)
	($r3a	$nr3a	$zMax)
	($ra	$ra	$zMax)
       	($nra	$ra	$zMax)
	($nra	$nra	$zMax)
	($ra	$nra	$zMax)
);

Pna2	#calc "1-$Ppa2";
Nna2	#calc "1-$Npa2";

blocks
(
    hex (2 6 5 1 10 14 13 9) ($cellsr2 $cellst 1) simpleGrading ((($Ppa2 $Npa2 $ratior2)($Pna2 $Nna2 $ratior2a)) 1 1)
    hex (1 5 4 0 9 13 12 8) ($cellsr2 $cellst 1) simpleGrading ((($Ppa2 $Npa2 $ratior2)($Pna2 $Nna2 $ratior2a)) 1 1)
    hex (0 4 7 3 8 12 15 11) ($cellsr2 $cellst 1) simpleGrading ((($Ppa2 $Npa2 $ratior2)($Pna2 $Nna2 $ratior2a)) 1 1)
    hex (3 7 6 2 11 15 14 10) ($cellsr2 $cellst 1) simpleGrading ((($Ppa2 $Npa2 $ratior2)($Pna2 $Nna2 $ratior2a)) 1 1)
);

edges
(
    arc	0 1 (0 	$r3	$zMin)
    arc	1 2 ($nr3 	0 	$zMin)
    arc	2 3 (0 	$nr3 	$zMin)
    arc	3 0 ($r3 	0 	$zMin)
    arc	4 5 (0 	$r	$zMin)
    arc	5 6 ($nr 	0 	$zMin)
    arc	6 7 (0 	$nr 	$zMin)
    arc	7 4 ($r 	0 	$zMin)

    arc	8 9 (0 	$r3	$zMax)
    arc	9 10 ($nr3 	0 	$zMax)
    arc	10 11 (0 	$nr3 	$zMax)
    arc	11 8 ($r3 	0 	$zMax)
    arc	12 13 (0 	$r	$zMax)
    arc	13 14 ($nr 	0 	$zMax)
    arc	14 15 (0 	$nr 	$zMax)
    arc	15 12 ($r 	0 	$zMax)
);

boundary
(
 InterfaceSolid
 {
 	type wall;
        faces
        (
            (6 5 13 14)
            (5 4 12 13)
	    (4 7 15 12)
	    (7 6 14 15)
        );
 }
 FrontBack
 {
        type empty;
        faces
        (
            (2 6 5 1)
            (1 5 4 0)
	    (0 4 7 3)
	    (3 7 6 2)

            (10 14 13 9)
            (9 13 12 8)
	    (8 12 15 11)
	    (11 15 14 10)
        );
 }
 Free
 {
        type patch;
        faces
        (
            (0 1 9 8)
            (1 2 10 9)
	    (2 3 11 10)
	    (3 0 8 11)
        );
 }
);

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