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

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

pointSync false;
patches
(
    {
        // Name of new patch
        name frontWallCyclic; 
        // Type of new patch
        patchInfo
        {
           type cyclicAMI;
           neighbourPatch backWallCyclic;
           transform translational;
           matchTolerance 0.0001;
           separationVector (-0.005 0. 0.);
           AMIMethod       nearestFaceAMI;
        }
        // How to construct: either from 'patches' or 'set'
        constructFrom patches;
        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (frontWall);
    }
    {
        // Name of new patch
        name backWallCyclic;
        // Type of new patch
        patchInfo
        {
           type cyclicAMI;
           neighbourPatch frontWallCyclic;
           transform translational;
           matchTolerance 0.0001;
           separationVector (0.005 0. 0.);
           AMIMethod       nearestFaceAMI;
        }
        // How to construct: either from 'patches' or 'set'
        constructFrom patches;
        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (backWall);
    }
    {
        // Name of new patch
        name bottomWallCyclic;
        // Type of new patch
        patchInfo
        {
           type cyclicAMI;
           neighbourPatch topWallCyclic;
           transform translational;
           matchTolerance 1;
           separationVector (0. 0. 0.005);
           AMIMethod       nearestFaceAMI;
        }
        // How to construct: either from 'patches' or 'set'
        constructFrom patches;
        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (bottomWall);
    }
    {
        // Name of new patch
        name topWallCyclic;
        // Type of new patch
        patchInfo
        {
           type cyclicAMI;
           neighbourPatch bottomWallCyclic;
           transform translational;
           matchTolerance 1;
           separationVector (0. 0. -0.005);
           AMIMethod       nearestFaceAMI;
        }
        // How to construct: either from 'patches' or 'set'
        constructFrom patches;
        // If constructFrom = patches : names of patches. Wildcards allowed.
        patches (topWall);
    }

);
