From 9dcb92086156a3bafc1da5fde0e302b14559b93c Mon Sep 17 00:00:00 2001 From: laurence Date: Mon, 12 Aug 2013 16:40:22 +0100 Subject: [PATCH] ENH: foamyHexMesh: enable point randomisation for point file insertion --- .../initialPointsMethod/pointFile/pointFile.C | 16 ++++++++++++++-- .../initialPointsMethod/pointFile/pointFile.H | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C index b77cd19e7d..b1dafb74c4 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C @@ -59,7 +59,12 @@ pointFile::pointFile decomposition ), pointFileName_(detailsDict().lookup("pointFile")), - insideOutsideCheck_(detailsDict().lookup("insideOutsideCheck")) + insideOutsideCheck_(detailsDict().lookup("insideOutsideCheck")), + randomiseInitialGrid_(detailsDict().lookup("randomiseInitialGrid")), + randomPerturbationCoeff_ + ( + readScalar(detailsDict().lookup("randomPerturbationCoeff")) + ) { Info<< " Inside/Outside check is " << insideOutsideCheck_.asText() << endl; @@ -161,7 +166,14 @@ List pointFile::initialPoints() const { if (insidePoints[i]) { - const point& p(points[i]); + point& p = points[i]; + + if (randomiseInitialGrid_) + { + p.x() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + p.y() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + p.z() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + } initialPoints.append(Vb::Point(p.x(), p.y(), p.z())); } diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H index 66fb2a0bd2..621e7ad78f 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.H @@ -65,6 +65,12 @@ private: //- Check if inserted points are inside or outside Switch insideOutsideCheck_; + //- Should the initial positions be randomised + Switch randomiseInitialGrid_; + + //- Randomise the initial positions by fraction of the initialCellSize_ + scalar randomPerturbationCoeff_; + public: