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

// What to extrude:
//      patch   : from patch of another case ('sourceCase')
//      mesh    : as above but with original case included
//      surface : from externally read surface

constructFrom patch;
sourceCase "./";
// this patch is kept, and all others removed from the mesh
// it is then extruded in the normal direction (inward towards the original block, set below)
sourcePatches (blockmesh_front);

// If construct from patch: patch to use for back (can be same as sourcePatch)
// this patch is replaces the original (extruded) patch after extrusion
// NOTE* the name must appear in the original block, so easiest to use the patch removed in the first step
// the result is these two patches swap position
exposedPatchName blockmesh_back;

// Flip surface normals before usage. Valid only for extrude from surface or
// patch.
flipNormals true;  // flipping points it inward

//- Linear extrusion in point-normal direction
extrudeModel        linearNormal;

nLayers             1;

expansionRatio      1.0;

linearNormalCoeffs
{
  // thickness       0.2;  // needs to match 2D thickness
  thickness    $thickness;
}

// Do front and back need to be merged? Usually only makes sense for 360
// degree wedges.
mergeFaces false;   //true;

// Merge small edges. Fraction of bounding box.
mergeTol 0;


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