From 885016236e3027b608e7f637ce7e5fb3fd45c650 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 5 Jun 2009 18:52:54 +0100 Subject: [PATCH] caching injector cell --- .../Kinematic/InjectionModel/ConeInjection/ConeInjection.C | 6 +++++- .../Kinematic/InjectionModel/ConeInjection/ConeInjection.H | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C index 3ff17ef600..d5c0cc8e6b 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C @@ -77,6 +77,7 @@ Foam::ConeInjection::ConeInjection InjectionModel(dict, owner, typeName), duration_(readScalar(this->coeffDict().lookup("duration"))), position_(this->coeffDict().lookup("position")), + injectorCell_(-1), direction_(this->coeffDict().lookup("direction")), parcelsPerSecond_ ( @@ -145,6 +146,9 @@ Foam::ConeInjection::ConeInjection // Set total volume to inject this->volumeTotal_ = volumeFlowRate_().integrate(0.0, duration_); + + // Set/cache the injector cell + this->findCellAtPosition(injectorCell_, position_); } @@ -182,7 +186,7 @@ void Foam::ConeInjection::setPositionAndCell ) { position = position_; - this->findCellAtPosition(cellOwner, position); + cellOwner = injectorCell_; } diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H index e3cd2fccbb..4ea512ff87 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H @@ -53,6 +53,8 @@ SourceFiles namespace Foam { +// Forward declaration of classes + template class DataEntry; @@ -71,7 +73,10 @@ class ConeInjection const scalar duration_; //- Injector position [m] - const vector position_; + vector position_; + + //- Cell containing injector position [] + label injectorCell_; //- Injector direction [] vector direction_;