/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; root ""; case ""; instance ""; local ""; class dictionary; object cvMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Any scalar with a name Coeff specifies a value that will be implemented // as a faction of the local target cell size geometry { blob.stl { type triSurfaceMesh; } refinementBox { type searchableBox; min (-0.2 -0.6 -0.2); max ( 0.4 0.2 0.35); } } backgroundMeshDecomposition { minLevels 0; sampleResolution 4; spanScale 20; maxCellWeightCoeff 20; } initialPoints { minimumSurfaceDistanceCoeff 0.55; initialPointsMethod autoDensity; // initialPointsMethod pointFile; autoDensityCoeffs { minCellSizeLimit 0.04; minLevels 0; maxSizeRatio 5.0; sampleResolution 5; surfaceSampleResolution 5; } pointFileCoeffs { pointFile "constant/internalDelaunayVertices"; } } surfaceConformation { locationInMesh (0.1 0.1 0.2); pointPairDistanceCoeff 0.1; mixedFeaturePointPPDistanceCoeff 5.0; featurePointExclusionDistanceCoeff 0.4; featureEdgeExclusionDistanceCoeff 0.2; surfaceSearchDistanceCoeff 2.5; maxSurfaceProtrusionCoeff 0.1; maxQuadAngle 125; surfaceConformationRebuildFrequency 10; conformationControls { initial { edgeSearchDistCoeff 2; surfacePtReplaceDistCoeff 0.5; surfacePtExclusionDistanceCoeff 0.5; } iteration { edgeSearchDistCoeff 1.5; surfacePtReplaceDistCoeff 0.7; } maxIterations 15; iterationToInitialHitRatioLimit 0.0001; } coarseConformationControls { $conformationControls; } fineConformationControls { $conformationControls; } geometryToConformTo { blob.stl { featureMethod none; } } additionalFeatures { } } motionControl { defaultCellSize 0.04; // Assign a priority to all requests for cell sizes, the highest overrules. defaultPriority 0; cellSizeControlGeometry { blob.stl { priority 1; mode bothSides; cellSizeFunction uniformDistance; uniformDistanceCoeffs { cellSize 0.02; distance 0.1; } } } relaxationModel adaptiveLinear; adaptiveLinearCoeffs { relaxationStart 1.0; relaxationEnd 0.0; } objOutput no; timeChecks no; maxLoadUnbalance 0.05; alignmentSearchSpokes 24; alignmentAcceptanceAngle 48; sizeAndAlignmentRebuildFrequency 40; pointInsertionCriteria { cellCentreDistCoeff 1.75; faceAreaRatioCoeff 0.0025; acceptanceAngle 21.5; } pointRemovalCriteria { cellCentreDistCoeff 0.65; } faceAreaWeightModel piecewiseLinearRamp; piecewiseLinearRampCoeffs { lowerAreaFraction 0.5; upperAreaFraction 1.0; } } polyMeshFiltering { writeTetDualMesh false; filterSizeCoeff 0.2; mergeClosenessCoeff 1e-9; continueFilteringOnBadInitialPolyMesh true; filterErrorReductionCoeff 0.5; filterCountSkipThreshold 4; surfaceStepFaceAngle 80; maxCollapseIterations 25; maxConsecutiveEqualFaceSets 5; edgeCollapseGuardFraction 0.3; maxCollapseFaceToPointSideLengthCoeff 0.35; } meshQualityControls { maxNonOrtho 65; maxBoundarySkewness 50; maxInternalSkewness 10; maxConcave 80; minVol 1e-20; minTetQuality 1e-30; minArea -1; minTwist 0.0; minDeterminant 0.001; minFaceWeight 0.02; minVolRatio 0.01; minTriangleTwist -1; } // ************************************************************************* //