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.
112 lines
3.1 KiB
C++
112 lines
3.1 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 snappyRefineMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
// Surface to keep to
|
|
surface "plexi.obj";
|
|
|
|
// What is outside. These points have to be inside a cell (so not on a face!)
|
|
outsidePoints ((-0.99001 -0.99001 -0.99001));
|
|
|
|
//
|
|
// Selection of cells to refine
|
|
//
|
|
|
|
// If smallest edge of mesh > maxEdgeLen select all cut cells for refinement.
|
|
// If < maxEdgeLen select only those cut cells which are closer than
|
|
// curvatureDistance to surface
|
|
// and with cos of angle between normals on surface < curvature.
|
|
maxEdgeLen 0.1;
|
|
curvatureDistance 1.0;
|
|
curvature 0.9;
|
|
|
|
// if > 0: Remove inside cells at every step. Inside is given by number of
|
|
// layers separating outside from inside.
|
|
// (note that we cannot remove outside
|
|
// cells since these contain the outsidePoints)
|
|
// Do not use this option if you want mesh to spill through a hole which is
|
|
// not visible on the coarsest level but only becomes visible after refinement
|
|
nCutLayers 2;
|
|
|
|
// Refine until smallest edge of mesh < minEdgeLen
|
|
minEdgeLen 0.1;
|
|
|
|
// Or until the number of cells would become more than (stops one level before
|
|
// this)
|
|
cellLimit 2500000;
|
|
|
|
//
|
|
// Selection of final set
|
|
//
|
|
|
|
// Select based on side of surface. Usually select inside cells and project
|
|
// outwards or select outside cells and project inwards.
|
|
selectCut false;
|
|
selectInside false;
|
|
selectOutside true;
|
|
// Leave out cell closer than nearDistance to the surface. Usually
|
|
// 0.5*minEdgeLen. Set to -1 to disable.
|
|
nearDistance -1;
|
|
|
|
// Some cells on the surface of the selected cells might have all their
|
|
// points on the 'outside'. These would get flattened when projecting so
|
|
// are either kept and refined (selectHanging) or removed from the set
|
|
selectHanging false;
|
|
|
|
//
|
|
// Refinement parameters
|
|
//
|
|
|
|
// Type of coordinate system
|
|
coordinateSystem global;
|
|
//coordinateSystem patchLocal;
|
|
|
|
// .. and its coefficients. x,y in this case. (normal e3 = e1^e2)
|
|
globalCoeffs
|
|
{
|
|
e1 (1 0 0);
|
|
e2 (0 1 0);
|
|
}
|
|
|
|
patchLocalCoeffs
|
|
{
|
|
patch outside; // Normal direction is normal of zero'th face of patch
|
|
e1 (1 0 0);
|
|
|
|
}
|
|
|
|
// List of directions to refine
|
|
directions
|
|
(
|
|
e1
|
|
e2
|
|
e3
|
|
);
|
|
|
|
// refinement level difference between neighbouring cells. Set to large if
|
|
// there is no need for a limit.
|
|
splitLevel 2;
|
|
|
|
// Cut purely geometric (will cut hexes through vertices) or take topology
|
|
// into account.
|
|
geometricCut false;
|
|
|
|
// Whether to use hex topology. This will never cut hex through vertices.
|
|
useHexTopology yes;
|
|
|
|
// Write meshes from intermediate steps
|
|
writeMesh true;
|
|
|
|
// ************************************************************************* //
|