diff --git a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C index c19e0163d4..0859e37d33 100644 --- a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C +++ b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C @@ -2474,8 +2474,8 @@ void Foam::autoLayerDriver::mergePatchFacesUndo << " (cos:" << minCos << ')' << nl << " - as long as the resulting face doesn't become concave" << " by more than " - << layerParams.concaveAngle() - << " degrees (0=straight, 180=fully concave)" << nl + << layerParams.concaveAngle() << " degrees" << nl + << " (0=straight, 180=fully concave)" << nl << endl; label nChanged = mergePatchFacesUndo(minCos, concaveCos, motionDict); @@ -2709,8 +2709,12 @@ void Foam::autoLayerDriver::addLayers boolList flaggedCells; boolList flaggedFaces; - for (label iter = 0; iter < layerParams.nLayerIter(); iter++) + for (label iteration = 0; iteration < layerParams.nLayerIter(); iteration++) { + Info<< nl + << "Layer addition iteration " << iteration << nl + << "--------------------------" << endl; + // Make sure displacement is equal on both sides of coupled patches. syncPatchDisplacement ( @@ -2953,11 +2957,17 @@ void Foam::autoLayerDriver::addLayers // Unset the extrusion at the pp. const dictionary& meshQualityDict = ( - iter < layerParams.nRelaxedIter() + iteration < layerParams.nRelaxedIter() ? motionDict : motionDict.subDict("relaxed") ); + if (iteration >= layerParams.nRelaxedIter()) + { + Info<< "Switched to relaxed meshQuality constraints." << endl; + } + + label nTotChanged = checkAndUnmark ( addLayer, @@ -2983,6 +2993,8 @@ void Foam::autoLayerDriver::addLayers // Reset mesh points and start again meshMover.movePoints(oldPoints); meshMover.correct(); + + Info<< endl; } diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict index 3f0ff0417e..0d84177d8b 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict @@ -160,7 +160,7 @@ snapControls //- Relative distance for points to be attracted by surface feature point // or edge. True distance is this factor times local // maximum edge length. - tolerance 4; + tolerance 4.0; //- Number of mesh displacement relaxation iterations. nSolveIter 30; @@ -182,344 +182,14 @@ addLayersControls nSurfaceLayers 1; } - motorBike_frt-fairing:001%1 - { - nSurfaceLayers 1; - } - - motorBike_windshield:002%2 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-rim:005%5 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-rim:010%10 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-rim:011%11 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-brake-disk:012%12 - { - nSurfaceLayers 1; - } - - motorBike_frame:016-shadow%13 - { - nSurfaceLayers 1; - } - - motorBike_rear-susp:014%14 - { - nSurfaceLayers 1; - } - - motorBike_rear-susp:014-shadow%15 - { - nSurfaceLayers 1; - } - - motorBike_frame:016%16 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-rim:005-shadow%17 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-chain-hub:022%22 - { - nSurfaceLayers 1; - } - - motorBike_rearseat%24 - { - nSurfaceLayers 1; - } - - motorBike_frt-fairing%25 - { - nSurfaceLayers 1; - } - - motorBike_windshield%26 - { - nSurfaceLayers 1; - } - - motorBike_headlights%27 - { - nSurfaceLayers 1; - } - - motorBike_driversseat%28 - { - nSurfaceLayers 1; - } - - motorBike_rear-body%29 - { - nSurfaceLayers 1; - } - - motorBike_fuel-tank%30 - { - nSurfaceLayers 1; - } - - motorBike_exhaust%31 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-rim%32 - { - nSurfaceLayers 1; - } - - motorBike_fr-mud-guard%33 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-rim%34 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-brake-disk%35 - { - nSurfaceLayers 1; - } - - motorBike_fr-brake-caliper%36 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-tyre%37 - { - nSurfaceLayers 1; - } - - motorBike_hbars%38 - { - nSurfaceLayers 1; - } - - motorBike_fr-forks%39 - { - nSurfaceLayers 1; - } - - motorBike_chain%40 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-tyre%41 - { - nSurfaceLayers 1; - } - - motorBike_square-dial%42 - { - nSurfaceLayers 1; - } - - motorBike_round-dial%43 - { - nSurfaceLayers 1; - } - - motorBike_dial-holder%44 - { - nSurfaceLayers 1; - } - - motorBike_rear-susp%45 - { - nSurfaceLayers 1; - } - - motorBike_rear-brake-lights%46 - { - nSurfaceLayers 1; - } - - motorBike_rear-light-bracket%47 - { - nSurfaceLayers 1; - } - - motorBike_frame%48 - { - nSurfaceLayers 1; - } - - motorBike_rear-mud-guard%49 - { - nSurfaceLayers 1; - } - - motorBike_rear-susp-spring-damp%50 - { - nSurfaceLayers 1; - } - - motorBike_fairing-inner-plate%51 - { - nSurfaceLayers 1; - } - - motorBike_clutch-housing%52 - { - nSurfaceLayers 1; - } - - motorBike_radiator%53 - { - nSurfaceLayers 1; - } - - motorBike_water-pipe%54 - { - nSurfaceLayers 1; - } - - motorBike_water-pump%55 - { - nSurfaceLayers 1; - } - - motorBike_engine%56 - { - nSurfaceLayers 1; - } - - motorBike_rear-shock-link%57 - { - nSurfaceLayers 1; - } - - motorBike_rear-brake-fluid-pot-bracket%58 - { - nSurfaceLayers 1; - } - - motorBike_rear-brake-fluid-pot%59 - { - nSurfaceLayers 1; - } - - motorBike_footpeg%60 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-chain-hub%61 - { - nSurfaceLayers 1; - } - - motorBike_rear-brake-caliper%62 - { - nSurfaceLayers 1; - } - - motorBike_rider-helmet%65 - { - nSurfaceLayers 1; - } - - motorBike_rider-visor%66 - { - nSurfaceLayers 1; - } - - motorBike_rider-boots%67 - { - nSurfaceLayers 1; - } - - motorBike_rider-gloves%68 - { - nSurfaceLayers 1; - } - - motorBike_rider-body%69 - { - nSurfaceLayers 1; - } - - motorBike_frame:0%70 - { - nSurfaceLayers 1; - } - - motorBike_frt-fairing:001-shadow%74 - { - nSurfaceLayers 1; - } - - motorBike_windshield-shadow%75 - { - nSurfaceLayers 1; - } - - motorBike_fr-mud-guard-shadow%81 - { - nSurfaceLayers 1; - } - - motorBike_fr-wh-brake-disk-shadow%83 - { - nSurfaceLayers 1; - } - - motorBike_rear-mud-guard-shadow%84 - { - nSurfaceLayers 1; - } - - motorBike_rear-susp-spring-damp-shadow%85 - { - nSurfaceLayers 1; - } - - motorBike_radiator-shadow%86 - { - nSurfaceLayers 1; - } - - motorBike_rear-shock-link-shadow%87 - { - nSurfaceLayers 1; - } - - motorBike_rear-brake-fluid-pot-bracket-shadow%88 - { - nSurfaceLayers 1; - } - - motorBike_rr-wh-chain-hub-shadow%89 + "motorBike_.*" { nSurfaceLayers 1; } } // Expansion factor for layer mesh - expansionRatio 1; + expansionRatio 1.0; //- Wanted thickness of final added cell layer. If multiple layers // is the @@ -569,6 +239,10 @@ addLayersControls // Create buffer region for new layer terminations nBufferCellsNoExtrude 0; + + + // Overall max number of layer addition iterations + nLayerIter 50; }