From bf8157e444e63a407a2de2fc4e3fe1e14ea05f9f Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 17 Feb 2014 16:50:32 +0000 Subject: [PATCH] ENH: partilceCollector cloud function object - added polygonWithNormal option --- .../ParticleCollector/ParticleCollector.C | 59 ++++++++++++++----- .../ParticleCollector/ParticleCollector.H | 6 +- 2 files changed, 48 insertions(+), 17 deletions(-) diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C index bc2c559aa7..696942626e 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C @@ -106,11 +106,13 @@ void Foam::ParticleCollector::makeLogFile template -void Foam::ParticleCollector::initPolygons() +void Foam::ParticleCollector::initPolygons +( + const List >& polygons +) { mode_ = mtPolygon; - List > polygons(this->coeffDict().lookup("polygons")); label nPoints = 0; forAll(polygons, polyI) { @@ -168,7 +170,7 @@ void Foam::ParticleCollector::initConcentricCircles() if (nSector_ > 1) { refDir = this->coeffDict().lookup("refDir"); - refDir -= normal_*(normal_ & refDir); + refDir -= normal_[0]*(normal_[0] & refDir); refDir /= mag(refDir); } else @@ -184,7 +186,7 @@ void Foam::ParticleCollector::initConcentricCircles() { vector v = rnd.vector01(); - tangent = v - (v & normal_)*normal_; + tangent = v - (v & normal_[0])*normal_[0]; magTangent = mag(tangent); } @@ -209,7 +211,7 @@ void Foam::ParticleCollector::initConcentricCircles() faces_.setSize(nFace); area_.setSize(nFace); - coordSys_ = cylindricalCS("coordSys", origin, normal_, refDir, false); + coordSys_ = cylindricalCS("coordSys", origin, normal_[0], refDir, false); List