91 lines
3.2 KiB
C++
91 lines
3.2 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v1806 |
|
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
location "system";
|
|
object collapseDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
// If on, after collapsing check the quality of the mesh. If bad faces are
|
|
// generated then redo the collapsing with stricter filtering.
|
|
controlMeshQuality on;
|
|
|
|
|
|
collapseEdgesCoeffs
|
|
{
|
|
// Edges shorter than this absolute value will be merged
|
|
minimumEdgeLength 1e-6;
|
|
|
|
// The maximum angle between two edges that share a point attached to
|
|
// no other edges
|
|
maximumMergeAngle 30;
|
|
}
|
|
|
|
|
|
collapseFacesCoeffs
|
|
{
|
|
// The initial face length factor
|
|
initialFaceLengthFactor 0.5;
|
|
|
|
// If the face can't be collapsed to an edge, and it has a span less than
|
|
// the target face length multiplied by this coefficient, collapse it
|
|
// to a point.
|
|
maxCollapseFaceToPointSideLengthCoeff 0.3;
|
|
|
|
// Allow early collapse of edges to a point
|
|
allowEarlyCollapseToPoint on;
|
|
|
|
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
|
|
// allowEarlyCollapseToPoint is enabled
|
|
allowEarlyCollapseCoeff 0.2;
|
|
|
|
// Defining how close to the midpoint (M) of the projected
|
|
// vertices line a projected vertex (X) can be before making this
|
|
// an invalid edge collapse
|
|
//
|
|
// X---X-g----------------M----X-----------g----X--X
|
|
//
|
|
// Only allow a collapse if all projected vertices are outwith
|
|
// guardFraction (g) of the distance form the face centre to the
|
|
// furthest vertex in the considered direction
|
|
guardFraction 0.1;
|
|
}
|
|
|
|
|
|
controlMeshQualityCoeffs
|
|
{
|
|
// Name of the dictionary that has the mesh quality coefficients used
|
|
// by motionSmoother::checkMesh
|
|
#include "meshQualityDict";
|
|
|
|
// The amount that minimumEdgeLength will be reduced by for each
|
|
// edge if that edge's collapse generates a poor quality face
|
|
edgeReductionFactor 0.5;
|
|
|
|
// The amount that initialFaceLengthFactor will be reduced by for each
|
|
// face if its collapse generates a poor quality face
|
|
faceReductionFactor 0.5;
|
|
|
|
// Maximum number of smoothing iterations for the reductionFactors
|
|
maximumSmoothingIterations 2;
|
|
|
|
// Maximum number of outer iterations is mesh quality checking is enabled
|
|
maximumIterations 10;
|
|
|
|
// Maximum number of iterations deletion of a point can cause a bad face
|
|
// to be constructed before it is forced to not be deleted
|
|
maxPointErrorCount 5;
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|