diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C index e1d3bd6d3d..df22357873 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C @@ -26,7 +26,6 @@ License #include "InflationInjection.H" #include "mathematicalConstants.H" #include "PackedBoolList.H" -#include "Switch.H" #include "cellSet.H" #include "ListListOps.H" @@ -127,7 +126,7 @@ Foam::label Foam::InflationInjection::parcelsToInject if (cellOccupancy[cI].empty()) { - if (!cellCentresUsed.found(cI)) + if (selfSeed_ && !cellCentresUsed.found(cI)) { scalar dNew = parcelPDF_().sample(); @@ -136,7 +135,7 @@ Foam::label Foam::InflationInjection::parcelsToInject vectorPairScalarPair ( Pair(mesh.cellCentres()[cI], vector::zero), - Pair(dNew, dNew) + Pair(dSeed_, dNew) ) ); @@ -340,6 +339,8 @@ Foam::InflationInjection::InflationInjection newParticles_(), volumeAccumulator_(0.0), fraction_(1.0), + selfSeed_(this->coeffDict().lookupOrDefault("selfSeed", false)), + dSeed_(SMALL), parcelPDF_ ( pdfs::pdf::New @@ -349,6 +350,11 @@ Foam::InflationInjection::InflationInjection ) ) { + if (selfSeed_) + { + dSeed_ = readScalar(this->coeffDict().lookup("dSeed")); + } + cellSet generationCells(this->owner().mesh(), generationSetName_); generationCells_ = generationCells.toc(); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.H index 7072412430..53f90b45b3 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.H @@ -40,6 +40,7 @@ SourceFiles #include "InjectionModel.H" #include "pdf.H" +#include "Switch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -99,6 +100,13 @@ class InflationInjection //- Fraction of injection controlled by this processor scalar fraction_; + //- Switch to control whether or not the injector is allowed + // to create new particles in empty cells + Switch selfSeed_; + + //- Diameter with which to create new seed particles + scalar dSeed_; + //- Parcel size PDF model const autoPtr parcelPDF_;