diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C index ca6eea491e..272ea3e06d 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C @@ -28,7 +28,7 @@ License #include "KinematicCloud.H" #include "ConeInjection.H" -#include "EntrainmentInjection.H" +#include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" @@ -47,7 +47,7 @@ namespace Foam ); makeInjectionModelType ( - EntrainmentInjection, + FieldActivatedInjection, KinematicCloud, basicKinematicParcel ); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C index 38b738d924..6b427ae7c2 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C @@ -28,7 +28,7 @@ License #include "ReactingCloud.H" #include "ConeInjection.H" -#include "EntrainmentInjection.H" +#include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" @@ -47,7 +47,7 @@ namespace Foam ); makeInjectionModelType ( - EntrainmentInjection, + FieldActivatedInjection, KinematicCloud, basicReactingMultiphaseParcel ); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C index b5a7e83610..4ed4e7894a 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C @@ -28,7 +28,7 @@ License #include "ReactingCloud.H" #include "ConeInjection.H" -#include "EntrainmentInjection.H" +#include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" @@ -47,7 +47,7 @@ namespace Foam ); makeInjectionModelType ( - EntrainmentInjection, + FieldActivatedInjection, KinematicCloud, basicReactingParcel ); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C index feb948d66c..2bf6f2e1b3 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C @@ -28,7 +28,7 @@ License #include "ThermoCloud.H" #include "ConeInjection.H" -#include "EntrainmentInjection.H" +#include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" @@ -48,7 +48,7 @@ namespace Foam ); makeInjectionModelType ( - EntrainmentInjection, + FieldActivatedInjection, KinematicCloud, basicThermoParcel ); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C old mode 100755 new mode 100644 similarity index 81% rename from src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.C rename to src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C index 758a14ee33..b6662e0c92 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C @@ -24,13 +24,13 @@ License \*---------------------------------------------------------------------------*/ -#include "EntrainmentInjection.H" +#include "FieldActivatedInjection.H" #include "volFields.H" // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template -Foam::label Foam::EntrainmentInjection::parcelsToInject +Foam::label Foam::FieldActivatedInjection::parcelsToInject ( const scalar time0, const scalar time1 @@ -48,7 +48,7 @@ Foam::label Foam::EntrainmentInjection::parcelsToInject template -Foam::scalar Foam::EntrainmentInjection::volumeToInject +Foam::scalar Foam::FieldActivatedInjection::volumeToInject ( const scalar time0, const scalar time1 @@ -68,33 +68,25 @@ Foam::scalar Foam::EntrainmentInjection::volumeToInject // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template -Foam::EntrainmentInjection::EntrainmentInjection +Foam::FieldActivatedInjection::FieldActivatedInjection ( const dictionary& dict, CloudType& owner ) : InjectionModel(dict, owner, typeName), - c_(readScalar(this->coeffDict().lookup("c"))), - rhoc_ + referenceField_ ( owner.db().objectRegistry::lookupObject ( - this->coeffDict().lookup("rhoc") + this->coeffDict().lookup("referenceField") ) ), - rhol_ + thresholdField_ ( owner.db().objectRegistry::lookupObject ( - this->coeffDict().lookup("rhol") - ) - ), - Uc_ - ( - owner.db().objectRegistry::lookupObject - ( - this->coeffDict().lookup("Uc") + this->coeffDict().lookup("thresholdField") ) ), positionsFile_(this->coeffDict().lookup("positionsFile")), @@ -153,28 +145,28 @@ Foam::EntrainmentInjection::EntrainmentInjection // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // template -Foam::EntrainmentInjection::~EntrainmentInjection() +Foam::FieldActivatedInjection::~FieldActivatedInjection() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -bool Foam::EntrainmentInjection::active() const +bool Foam::FieldActivatedInjection::active() const { return true; } template -Foam::scalar Foam::EntrainmentInjection::timeEnd() const +Foam::scalar Foam::FieldActivatedInjection::timeEnd() const { return GREAT; } template -void Foam::EntrainmentInjection::setPositionAndCell +void Foam::FieldActivatedInjection::setPositionAndCell ( const label parcelI, const scalar, @@ -188,7 +180,7 @@ void Foam::EntrainmentInjection::setPositionAndCell template -Foam::vector Foam::EntrainmentInjection::velocity +Foam::vector Foam::FieldActivatedInjection::velocity ( const label, const scalar @@ -199,7 +191,7 @@ Foam::vector Foam::EntrainmentInjection::velocity template -Foam::scalar Foam::EntrainmentInjection::d0 +Foam::scalar Foam::FieldActivatedInjection::d0 ( const label parcelI, const scalar @@ -210,14 +202,17 @@ Foam::scalar Foam::EntrainmentInjection::d0 template -bool Foam::EntrainmentInjection::validInjection(const label parcelI) +bool Foam::FieldActivatedInjection::validInjection +( + const label parcelI +) { - const label cellI = injectorCells_[parcelI]; + if ( nParcelsInjected_[parcelI] < nParcelsPerInjector_ - && rhol_[cellI] < c_*0.5*rhoc_[cellI]*magSqr(Uc_[cellI]) + && referenceField_[cellI] > thresholdField_[cellI] ) { nParcelsInjected_[parcelI]++; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H old mode 100755 new mode 100644 similarity index 83% rename from src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.H rename to src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H index 9a82c46aaa..e82074bc6b --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/EntrainmentInjection/EntrainmentInjection.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H @@ -23,27 +23,26 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Class - Foam::EntrainmentInjection + Foam::FieldActivatedInjection Description Injection at specified positions, with the condition that for injection to be allowed - rhol <= c_*0.5*rhoc*|Uc|^2 + referenceField[cellI] >= thresholdField[cellI] where: - - rhol is the effective density (of all clouds) - - c_ is a modelling constant [s2/m2] - - rhoc is the carrier phase density - - Uc is the carrier phase velocity + - referenceField is the field used to supply the look-up values + - thresholdField supplies the values beyond which the injection is + permitted SourceFiles - EntrainmentInjection.C + FieldActivatedInjection.C \*---------------------------------------------------------------------------*/ -#ifndef EntrainmentInjection_H -#define EntrainmentInjection_H +#ifndef FieldActivatedInjection_H +#define FieldActivatedInjection_H #include "InjectionModel.H" #include "pdf.H" @@ -55,11 +54,11 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class EntrainmentInjection Declaration + Class FieldActivatedInjection Declaration \*---------------------------------------------------------------------------*/ template -class EntrainmentInjection +class FieldActivatedInjection : public InjectionModel { @@ -67,17 +66,11 @@ class EntrainmentInjection // Model parameters - //- Modelling constant - const scalar c_; + //- Reference field + const volScalarField& referenceField_; - //- Carrier phase density field - const volScalarField& rhoc_; - - //- Lagrangian phase density field - const scalarField& rhol_; - - //- Carrier phase velocity field - const vectorField& Uc_; + //- Threshold field + const volScalarField& thresholdField_; // Injector properties @@ -91,7 +84,7 @@ class EntrainmentInjection //- Field of cell labels corresoponding to injector positions labelField injectorCells_; - //- nParcels per injector + //- Number of parcels per injector const label nParcelsPerInjector_; //- Field of number of parcels injected for each injector @@ -132,13 +125,13 @@ protected: public: //- Runtime type information - TypeName("EntrainmentInjection"); + TypeName("FieldActivatedInjection"); // Constructors //- Construct from dictionary - EntrainmentInjection + FieldActivatedInjection ( const dictionary& dict, CloudType& owner @@ -146,7 +139,7 @@ public: // Destructor - virtual ~EntrainmentInjection(); + virtual ~FieldActivatedInjection(); // Member Functions @@ -196,7 +189,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository -# include "EntrainmentInjection.C" +# include "FieldActivatedInjection.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //