/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM Extend Project: Open source CFD | | \\ / O peration | Version: 1.6-ext | | \\ / A nd | Web: www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // This application/dictionary controls: // - optional: create new patches from boundary faces (either given as // a set of patches or as a faceSet) // - always: order faces on coupled patches such that they are opposite. This // is done for all coupled faces, not just for any patches created. // - optional: synchronise points on coupled patches. // 1. Create cyclic: // - specify where the faces should come from // - specify the type of cyclic. If a rotational specify the rotationAxis // and centre to make matching easier // - pointSync true to guarantee points to line up. // 2. Correct incorrect cyclic: // This will usually fail upon loading: // "face 0 area does not match neighbour 2 by 0.0100005%" // " -- possible face ordering problem." // - change patch type from 'cyclic' to 'patch' in the polyMesh/boundary file. // - loosen match tolerance to get case to load // - regenerate cyclic as above // Tolerance used in matching faces. Absolute tolerance is span of // face times this factor. To load incorrectly matches meshes set this // to a higher value. matchTolerance 1E-3; // Do a synchronisation of coupled points after creation of any patches. // Note: this does not work with points that are on multiple coupled patches // with transformations. pointSync false; // Patches to create. patchInfo ( { // Name of new patch name cyclicDomA; // Type of new patch dictionary { type cyclic; // Optional: explicitly set transformation tensor. // Used when matching and synchronising points. //transform translational; //separationVector (-2289 0 0); transform rotational; rotationAngle 6.0; rotationAxis (0 0 1); rotationCentre (0 0 0); } // How to construct: either from 'patches' or 'set' constructFrom patches; // If constructFrom = patches : names of patches. Wildcards allowed. patches (per1DomA per2DomA); // If constructFrom = set : name of faceSet set f0; } { // Name of new patch name cyclicDomB; // Type of new patch dictionary { type cyclic; // Optional: explicitly set transformation tensor. // Used when matching and synchronising points. //transform translational; //separationVector (-2289 0 0); transform rotational; rotationAngle 6.0; rotationAxis (0 0 1); rotationCentre (0 0 0); } // How to construct: either from 'patches' or 'set' constructFrom patches; // If constructFrom = patches : names of patches. Wildcards allowed. patches (per1DomB per2DomB); // If constructFrom = set : name of faceSet set f0; } ); // ************************************************************************* //