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.
127 lines
3.3 KiB
C++
127 lines
3.3 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 surfaceFeaturesDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
surface1
|
|
{
|
|
surfaces
|
|
(
|
|
"surface1.stl"
|
|
);
|
|
|
|
// Identify a feature when angle between faces < includedAngle
|
|
includedAngle 120;
|
|
|
|
// Do not mark region edges
|
|
geometricTestOnly yes;
|
|
|
|
// Write options
|
|
|
|
// Write features to obj format for postprocessing
|
|
writeObj yes;
|
|
verboseObj no;
|
|
}
|
|
|
|
|
|
surface2
|
|
{
|
|
surfaces
|
|
(
|
|
"surface2.nas"
|
|
);
|
|
|
|
// Load from an existing feature edge file
|
|
files
|
|
(
|
|
"surface2.nas" "constant/geometry/featureEdges.nas";
|
|
);
|
|
|
|
trimFeatures
|
|
{
|
|
// Remove features with fewer than the specified number of edges
|
|
minElem 0;
|
|
|
|
// Remove features shorter than the specified cumulative length
|
|
minLen 0.0;
|
|
}
|
|
|
|
subsetFeatures
|
|
{
|
|
// Keep only edges that intersect the plane
|
|
plane
|
|
{
|
|
planeType pointAndNormal;
|
|
point (0 0 0);
|
|
normal (1 0 0);
|
|
}
|
|
|
|
// Keep only edges inside the box
|
|
insideBox (0 0 0) (1 1 1);
|
|
|
|
// Keep only edges outside the box
|
|
outsideBox (0 0 0) (1 1 1);
|
|
|
|
// Keep nonManifold edges (edges with >2 connected faces where
|
|
// the faces form more than two different normal planes)
|
|
nonManifoldEdges yes;
|
|
|
|
// Keep open edges (edges with 1 connected face)
|
|
openEdges yes;
|
|
}
|
|
|
|
addFeatures
|
|
{
|
|
// Add (without merging) another extendedFeatureEdgeMesh
|
|
name axZ.extendedFeatureEdgeMesh;
|
|
|
|
// Optionally flip features (invert all normals, making
|
|
// convex<->concave etc)
|
|
// flip false;
|
|
}
|
|
|
|
// Output the curvature of the surface
|
|
curvature no;
|
|
|
|
// Output the proximity of feature points and edges to each other
|
|
featureProximity no;
|
|
|
|
// The maximum search distance to use when looking for other feature
|
|
// points and edges
|
|
maxFeatureProximity 1;
|
|
|
|
closeness
|
|
{
|
|
// Output the closeness of surface elements to other surface elements.
|
|
faceCloseness no;
|
|
|
|
// Output the closeness of surface points to other surface elements.
|
|
pointCloseness no;
|
|
|
|
// Optional maximum angle between opposite points considered close
|
|
internalAngleTolerance 80;
|
|
externalAngleTolerance 80;
|
|
}
|
|
|
|
// Write features to obj format for postprocessing
|
|
writeObj yes;
|
|
verboseObj no;
|
|
|
|
// Write surface proximity and curvature fields to vtk format
|
|
// for postprocessing
|
|
writeVTK no;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|