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

// Name of region to create
region          liquidFilm;

// Specification of faces to extrude. Either faceZones (either exclusively
// internal faces or boundary faces) or faceSets (boundary faces only).

// FaceZones to extrude
faceZones       (f0 f1);
//faceZonesShadow (f0Shadow f1Shadow);

// faceSets to extrude
//faceSets       (f0 f1);
//faceSetsShadow (f0Shadow f1Shadow);

// Adapt the original mesh to have mapped patches at where the
// faceZones are?
// If true:
// - extruding internal faces: become baffles on mapped patches
// - extruding boundary faces: repatched to be on mapped patches
// If false: leave original mesh intact. Extruded mesh will still have
// mapped patch which might need to be adapted.
adaptMesh       true;

// Sample mode for inter-region communication
sampleMode      nearestPatchFace;


// 1 D extrusion
// ~~~~~~~~~~~~~

    // Extrude 1D-columns of cells? This by default duplicates points so can
    // have overlapping columns (i.e. non space filling)
    oneD            false;

    //- If oneD: specify which boundary is wanted between the layers
    //oneDPolyPatchType empty; //wedge

    //- If oneD: specify whether to duplicate points (i.e. disconnect 1D
    //  columns) or only on non-manifold extrusion areas. Default is false.
    //  nonManifold true;


//- Extrusion model to use. The only logical choice is linearNormal?

//- Linear extrusion in normal direction
extrudeModel    linearNormal;

//- Linear extrusion in specified direction
// extrudeModel   linearDirection;

//- Wedge extrusion. If nLayers is 1 assumes symmetry around plane.
// extrudeModel   wedge;

//- Extrudes into sphere around (0 0 0)
// extrudeModel   linearRadial;

//- Extrudes into sphere around (0 0 0) with specified radii
//extrudeModel        radial;

//- Extrudes into sphere with grading according to pressure (atmospherics)
// extrudeModel   sigmaRadial;

nLayers         10;

expansionRatio  0.9;

linearNormalCoeffs
{
    thickness       0.05;
}

sectorCoeffs    //<- Also used for wedge
{
    point       (0 0.1 -0.05);
    axis        (-1 0 0);
    angle       360;  // For nLayers=1 assume symmetry so angle/2 on each side
}

linearDirectionCoeffs
{
    direction       (0 1 0);
    thickness       0.05;
}

linearRadialCoeffs
{
    R               0.1;
    Rsurface        0.01;  // Optional inner radius
}

radialCoeffs
{
    // Radii specified through interpolation table
    R               table ((0 0.01)(3 0.03)(10 0.1));
}

sigmaRadialCoeffs
{
    RTbyg           1;
    pRef            1;
    pStrat          1;
}


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