/*--------------------------------*- 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          foamyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeEtc "caseDicts/foamyHexMeshDict"

geometry
{
    #include "meshDict.geometry"
}


initialPoints
{
    //initialPointsMethod         pointFile;
    initialPointsMethod         autoDensity;

    autoDensityCoeffs
    {
        minLevels               2;
        maxSizeRatio            2.0;
        sampleResolution        5;
        surfaceSampleResolution 5;
    }

    pointFileCoeffs
    {
        insideOutsideCheck off;
        randomiseInitialGrid off;
        randomPerturbationCoeff 1e-3;
        pointFile "0/internalDelaunayVertices";
    }
}


surfaceConformation
{
    locationInMesh                      (0 0.1 1.0);

    #include "meshDict.conformationSurfaces"

    featurePointExclusionDistanceCoeff  0.65;
    featureEdgeExclusionDistanceCoeff   0.5;
    maxSurfaceProtrusionCoeff           0.1;

    conformationControls
    {
        edgeSearchDistCoeff             5;
        surfacePtReplaceDistCoeff       0.5;
        surfacePtExclusionDistanceCoeff 0.5;
        maxIterations                   15;
        iterationToInitialHitRatioLimit 0.0001;
    }
}


motionControl
{
    defaultCellSize             6e-3;

    minimumCellSizeCoeff        0.1;

    maxRefinementIterations     1;

    maxSmoothingIterations      100;

    shapeControlFunctions
    {
        #include "meshDict.cellShapeControl"
    }

    objOutput                   no;

    timeChecks                  no;
}


backgroundMeshDecomposition
{
    minLevels           1;
    sampleResolution    4;
    spanScale           20;
    maxCellWeightCoeff  20;
}


polyMeshFiltering
{
    writeBackgroundMeshDecomposition    true;
    writeCellShapeControlMesh           true;
    writeTetDualMesh                    false;
    filterEdges                         on;
    filterFaces                         off;
}


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