/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; root ""; case ""; instance ""; local ""; class dictionary; 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 $initialFaceLengthFactor; // 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; } // ************************************************************************* //