The FOAM file format has not changed from version 2.0 in many years and so there is no longer a need for the 'version' entry in the FoamFile header to be required and to reduce unnecessary clutter it is now optional, defaulting to the current file format 2.0.
115 lines
3.8 KiB
C++
115 lines
3.8 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
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.
|
|
// - always: remove zero-sized (non-coupled) patches (that were not added)
|
|
|
|
// 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
|
|
// - always create both halves in one invocation with correct 'neighbourPatch'
|
|
// setting.
|
|
// - optionally 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."
|
|
// - in polyMesh/boundary file:
|
|
// - loosen matchTolerance of all cyclics to get case to load
|
|
// - or change patch type from 'cyclic' to 'patch'
|
|
// and regenerate cyclic as above
|
|
|
|
// 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 (i.e. cyclics).
|
|
pointSync false;
|
|
|
|
// Optional: Write cyclic matches into .obj format; defaults to false.
|
|
writeCyclicMatch false;
|
|
|
|
// Patches to create.
|
|
patches
|
|
(
|
|
{
|
|
// Name of new patch
|
|
name cyc_half0;
|
|
|
|
// Dictionary to construct new patch from
|
|
patchInfo
|
|
{
|
|
type cyclic;
|
|
neighbourPatch cyc_half1;
|
|
|
|
// Optional: explicitly set transformation tensor.
|
|
// Used when matching and synchronising points.
|
|
transformType rotational;
|
|
rotationAxis (1 0 0);
|
|
rotationCentre (0 0 0);
|
|
// transformType translational;
|
|
// separation (1 0 0);
|
|
|
|
// Optional non-default tolerance to be able to define cyclics
|
|
// on bad meshes
|
|
// matchTolerance 1e-2;
|
|
}
|
|
|
|
// How to construct: either from 'patches' or 'set'
|
|
constructFrom patches;
|
|
|
|
// If constructFrom = patches : names of patches. Wildcards allowed.
|
|
patches (periodic1);
|
|
|
|
// If constructFrom = set : name of faceSet
|
|
set f0;
|
|
}
|
|
{
|
|
// Name of new patch
|
|
name cyc_half1;
|
|
|
|
// Dictionary to construct new patch from
|
|
patchInfo
|
|
{
|
|
type cyclic;
|
|
neighbourPatch cyc_half0;
|
|
|
|
// Optional: explicitly set transformation tensor.
|
|
// Used when matching and synchronising points.
|
|
transformType rotational;
|
|
rotationAxis (1 0 0);
|
|
rotationCentre (0 0 0);
|
|
// transformType translational;
|
|
// separation (1 0 0);
|
|
}
|
|
|
|
// How to construct: either from 'patches' or 'set'
|
|
constructFrom patches;
|
|
|
|
// If constructFrom = patches : names of patches. Wildcards allowed.
|
|
patches (periodic2);
|
|
|
|
// If constructFrom = set : name of faceSet
|
|
set f0;
|
|
}
|
|
);
|
|
|
|
// ************************************************************************* //
|