diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C index ed9dde3a813a119ecd2a1c848e0364cad05abb4e..49125589a3e8b9dcbb8950ec98255c29cbba794e 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.C @@ -48,12 +48,9 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio return 1.0; } - //scalar totalOverFirst = totalThickness/firstLayerThickess; - - const label maxIters = 10; + const label maxIters = 20; const scalar tol = 1e-8; - if (mag(n-totalOverFirst) < tol) { return 1.0; @@ -74,8 +71,6 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio maxR = totalOverFirst/(n - 1); } - //Info<< "Solution bounds = (" << minR << ", " << maxR << ")" << nl << endl; - // Starting guess scalar r = 0.5*(minR + maxR); @@ -85,14 +80,9 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio const scalar fx = pow(r, n) - totalOverFirst*r - (1 - totalOverFirst); const scalar dfx = n*pow(r, n - 1) - totalOverFirst; - r -= fx/dfx; - const scalar error = mag(r - prevr); - - //Info<< i << " " << r << " Error = " << error << endl; - - if (error < tol) + if (mag(r - prevr) < tol) { break; } @@ -103,7 +93,6 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -// Construct from dictionary Foam::layerParameters::layerParameters ( const dictionary& dict, @@ -406,9 +395,9 @@ Foam::scalar Foam::layerParameters::layerThickness } else { - return firstLayerThickess * - (1.0 - pow(expansionRatio, nLayers)) - / (1.0 - expansionRatio); + return firstLayerThickess + *(1.0 - pow(expansionRatio, nLayers)) + /(1.0 - expansionRatio); } } break; @@ -422,9 +411,9 @@ Foam::scalar Foam::layerParameters::layerThickness else { scalar invExpansion = 1.0 / expansionRatio; - return finalLayerThickess * - (1.0 - pow(invExpansion, nLayers)) - / (1.0 - invExpansion); + return finalLayerThickess + *(1.0 - pow(invExpansion, nLayers)) + /(1.0 - invExpansion); } } break; @@ -472,7 +461,7 @@ Foam::scalar Foam::layerParameters::layerExpansionRatio { return 1.0 - / layerExpansionRatio + /layerExpansionRatio ( nLayers, totalThickness/finalLayerThickess @@ -565,8 +554,8 @@ Foam::scalar Foam::layerParameters::finalLayerThicknessRatio { return pow(expansionRatio, nLayers - 1) - * (1.0 - expansionRatio) - / (1.0 - pow(expansionRatio, nLayers)); + *(1.0 - expansionRatio) + /(1.0 - pow(expansionRatio, nLayers)); } } else diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H index 21d52fdd6924a75e88f251107a990630d4b052e1..52b4855ae26f059f35744bc5597227d81daa8d31 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/layerParameters.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -326,7 +326,6 @@ public: const label nLayers, const scalar expansionRatio ) const; - };