Cone injection. More...
#include <ConeNozzleInjection.H>


Public Types | |
| enum class | injectionMethod { imPoint , imDisc , imDiscSegments } |
| Injection method enumeration. More... | |
| enum class | flowType { ftConstantVelocity , ftPressureDrivenVelocity , ftFlowRateAndDischarge } |
| Flow type enumeration. More... | |
| Public Types inherited from InjectionModel< CloudType > | |
| enum | parcelBasis { pbNumber , pbMass , pbFixed } |
| Parcel basis representation options i.e constant number of particles OR constant mass per parcel. More... | |
| typedef CloudType::parcelType | parcelType |
| Convenience typedef for parcelType. | |
| Public Types inherited from CloudSubModelBase< CloudType > | |
| typedef CloudType | cloudType |
| Type of cloud this model was instantiated for. | |
Public Member Functions | |
| TypeName ("coneNozzleInjection") | |
| Runtime type information. | |
| ConeNozzleInjection (const dictionary &dict, CloudType &owner, const word &modelName) | |
| Construct from dictionary. | |
| ConeNozzleInjection (const ConeNozzleInjection< CloudType > &im) | |
| Construct copy. | |
| virtual autoPtr< InjectionModel< CloudType > > | clone () const |
| Construct and return a clone. | |
| virtual | ~ConeNozzleInjection ()=default |
| Destructor. | |
| virtual void | updateMesh () |
| Set injector locations when mesh is updated. | |
| scalar | timeEnd () const |
| Return the end-of-injection time. | |
| virtual label | parcelsToInject (const scalar time0, const scalar time1) |
| Number of parcels to introduce relative to SOI. | |
| virtual scalar | volumeToInject (const scalar time0, const scalar time1) |
| Volume of parcels to introduce relative to SOI. | |
| virtual void | setPositionAndCell (const label parcelI, const label nParcels, const scalar time, vector &position, label &cellOwner, label &tetFacei, label &tetPti) |
| Set the injection position and owner cell. | |
| virtual void | setProperties (const label parcelI, const label nParcels, const scalar time, typename CloudType::parcelType &parcel) |
| Set the parcel properties. | |
| virtual bool | fullyDescribed () const |
| Flag to identify whether model fully describes the parcel. | |
| virtual bool | validInjection (const label parcelI) |
| Return flag to identify whether or not injection of parcelI is. | |
| virtual void | info () |
| Write injection info. | |
| Public Member Functions inherited from InjectionModel< CloudType > | |
| TypeName ("injectionModel") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, InjectionModel, dictionary,(const dictionary &dict, CloudType &owner, const word &modelType),(dict, owner, modelType)) | |
| Declare runtime constructor selection table. | |
| InjectionModel (CloudType &owner) | |
| Construct null from owner. | |
| InjectionModel (const dictionary &dict, CloudType &owner, const word &modelName, const word &modelType) | |
| Construct from dictionary. | |
| InjectionModel (const InjectionModel< CloudType > &im) | |
| Construct copy. | |
| virtual | ~InjectionModel ()=default |
| Destructor. | |
| scalar | timeStart () const |
| Return the start-of-injection time. | |
| scalar | volumeTotal () const |
| Return the total volume to be injected across the event. | |
| scalar | massTotal () const |
| Return mass of particles to introduce. | |
| scalar | massInjected () const |
| Return mass of particles injected (cumulative). | |
| label | injectorID () const |
| Return injectorID. | |
| virtual scalar | averageParcelMass () |
| Return the average parcel mass over the injection period. | |
| label | nInjections () const |
| Return the number of injections. | |
| label | parcelsAddedTotal () const |
| Return the total number parcels added. | |
| template<class TrackCloudType> | |
| void | inject (TrackCloudType &cloud, typename CloudType::parcelType::trackingData &td) |
| Main injection loop. | |
| template<class TrackCloudType> | |
| void | injectSteadyState (TrackCloudType &cloud, typename CloudType::parcelType::trackingData &td, const scalar trackTime) |
| Main injection loop - steady-state. | |
| Public Member Functions inherited from CloudSubModelBase< CloudType > | |
| CloudSubModelBase (CloudType &owner) | |
| Construct null from owner cloud. | |
| CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs") | |
| Construct from owner cloud without name. | |
| CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType) | |
| Construct from owner cloud with name. | |
| CloudSubModelBase (const CloudSubModelBase< CloudType > &smb) | |
| Construct as copy. | |
| virtual | ~CloudSubModelBase ()=default |
| Destructor. | |
| const CloudType & | owner () const |
| Return const access to the owner cloud. | |
| virtual bool | writeTime () const |
| Flag to indicate when to write a property. | |
| virtual fileName | localPath () const |
| Output directory. | |
| CloudType & | owner () |
| Return non-const access to the owner cloud for manipulation. | |
| virtual void | write (Ostream &os) const |
| Write to os. | |
| Public Member Functions inherited from subModelBase | |
| subModelBase (dictionary &properties) | |
| Construct null. | |
| subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs") | |
| Construct from components without name. | |
| subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType) | |
| Construct from components with name. | |
| subModelBase (const subModelBase &smb) | |
| Construct as copy. | |
| virtual | ~subModelBase ()=default |
| Destructor. | |
| const word & | modelName () const |
| Return const access to the name of the sub-model. | |
| const dictionary & | dict () const |
| Return const access to the cloud dictionary. | |
| const word & | baseName () const |
| Return const access to the base name of the sub-model. | |
| const word & | modelType () const |
| Return const access to the sub-model type. | |
| const dictionary & | coeffDict () const |
| Return const access to the coefficients dictionary. | |
| const dictionary & | properties () const |
| Return const access to the properties dictionary. | |
| virtual bool | defaultCoeffs (const bool printMsg) const |
| Returns true if defaultCoeffs is true and outputs on printMsg. | |
| virtual bool | active () const |
| Return the model 'active' status - default active = true. | |
| virtual void | cacheFields (const bool store) |
| Cache dependent sub-model fields. | |
| template<class Type> | |
| Type | getBaseProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from the base model. | |
| template<class Type> | |
| void | getBaseProperty (const word &entryName, Type &value) const |
| Retrieve generic property from the base model. | |
| template<class Type> | |
| void | setBaseProperty (const word &entryName, const Type &value) |
| Add generic property to the base model. | |
| bool | getModelDict (const word &entryName, dictionary &dict) const |
| Retrieve dictionary, return true if set. | |
| template<class Type> | |
| bool | getModelProperty (const word &entryName, Type &value) const |
| Retrieve generic property from the sub-model. | |
| template<class Type> | |
| Type | getModelProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from the sub-model. | |
| template<class Type> | |
| void | setModelProperty (const word &entryName, const Type &value) |
| Add generic property to the sub-model. | |
Static Public Attributes | |
| static const Enum< injectionMethod > | injectionMethodNames |
| static const Enum< flowType > | flowTypeNames |
Additional Inherited Members | |
| Static Public Member Functions inherited from InjectionModel< CloudType > | |
| static autoPtr< InjectionModel< CloudType > > | New (const dictionary &dict, CloudType &owner) |
| Selector with lookup from dictionary. | |
| static autoPtr< InjectionModel< CloudType > > | New (const dictionary &dict, const word &modelName, const word &modelType, CloudType &owner) |
| Selector with name and type. | |
| Public Attributes inherited from subModelBase | |
| bool | log |
| Flag to write log into Info. | |
| Protected Member Functions inherited from InjectionModel< CloudType > | |
| virtual bool | prepareForNextTimeStep (const scalar time, label &newParcels, scalar &newVolumeFraction) |
| Determine properties for next time step/injection interval. | |
| virtual bool | findCellAtPosition (label &celli, label &tetFacei, label &tetPti, vector &position, bool errorOnNotFound=true) |
| Find the cell that contains the supplied position. | |
| virtual scalar | setNumberOfParticles (const label parcels, const scalar volumeFraction, const scalar diameter, const scalar rho) |
| Set number of particles to inject given parcel properties. | |
| virtual void | postInjectCheck (const label parcelsAdded, const scalar massAdded) |
| Post injection checks. | |
| Protected Member Functions inherited from subModelBase | |
| bool | inLine () const |
| Flag to indicate whether data is/was read in-line. | |
| Protected Attributes inherited from InjectionModel< CloudType > | |
| scalar | SOI_ |
| Start of injection [s]. | |
| scalar | volumeTotal_ |
| Total volume of particles introduced by this injector [m^3] Note: scaled to ensure massTotal is achieved. | |
| scalar | massTotal_ |
| Total mass to inject [kg]. | |
| autoPtr< Function1< scalar > > | massFlowRate_ |
| Mass flow rate profile for steady calculations. | |
| scalar | massInjected_ |
| Total mass injected to date [kg]. | |
| label | nInjections_ |
| Number of injections counter. | |
| label | parcelsAddedTotal_ |
| Running counter of total number of parcels added. | |
| parcelBasis | parcelBasis_ |
| Parcel basis enumeration. | |
| scalar | nParticleFixed_ |
| nParticle to assign to parcels when the 'fixed' basis is selected | |
| scalar | time0_ |
| Continuous phase time at start of injection time step [s]. | |
| scalar | timeStep0_ |
| Time at start of injection time step [s]. | |
| scalar | minParticlesPerParcel_ |
| Minimum number of particles used to represent each parcel default = 1. | |
| scalar | delayedVolume_ |
| Volume that should have been injected, but would lead to less than minParticlesPerParcel_ particle per parcel. | |
| label | injectorID_ |
| Optional injector ID. | |
| bool | ignoreOutOfBounds_ |
| Optional flag to indicate that injections attempted outside the mesh should be ignored. | |
| Protected Attributes inherited from CloudSubModelBase< CloudType > | |
| CloudType & | owner_ |
| Reference to the cloud. | |
| Protected Attributes inherited from subModelBase | |
| const word | modelName_ |
| Name of the sub-model. | |
| dictionary & | properties_ |
| Reference to properties dictionary e.g. for restart. | |
| const dictionary | dict_ |
| Copy of dictionary used during construction. | |
| const word | baseName_ |
| Name of the sub-model base class. | |
| const word | modelType_ |
| Type of the sub-model. | |
| const dictionary | coeffDict_ |
| Coefficients dictionary. | |
Cone injection.
User specifies:
Properties:
U = \<specified by user\>
U = sqrt(2*(Pinj - Pamb)/rho)
U = V_dot/(A*Cd)
Definition at line 85 of file ConeNozzleInjection.H.
|
strong |
Injection method enumeration.
| Enumerator | |
|---|---|
| imPoint | |
| imDisc | |
| imDiscSegments | |
Definition at line 94 of file ConeNozzleInjection.H.
Flow type enumeration.
| Enumerator | |
|---|---|
| ftConstantVelocity | |
| ftPressureDrivenVelocity | |
| ftFlowRateAndDischarge | |
Definition at line 106 of file ConeNozzleInjection.H.
| ConeNozzleInjection | ( | const dictionary & | dict, |
| CloudType & | owner, | ||
| const word & | modelName ) |
Construct from dictionary.
Definition at line 162 of file ConeNozzleInjection.C.
References subModelBase::coeffDict(), subModelBase::dict(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::FatalIOError, FatalIOErrorInFunction, flowTypeNames, subModelBase::getModelProperty(), Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, injectionMethodNames, InjectionModel< CloudType >::InjectionModel(), mesh, subModelBase::modelName(), InjectionModel< CloudType >::New(), Foam::nl, CloudSubModelBase< CloudType >::owner(), rndGen, updateMesh(), TimeState::userTimeToTime(), InjectionModel< CloudType >::volumeTotal_, and Foam::Zero.
Referenced by clone(), ConeNozzleInjection(), and TypeName().


Construct copy.
Definition at line 295 of file ConeNozzleInjection.C.
References clone(), ConeNozzleInjection(), and InjectionModel< CloudType >::InjectionModel().

|
virtualdefault |
Destructor.
| TypeName | ( | "coneNozzleInjection" | ) |
Runtime type information.
References ConeNozzleInjection(), subModelBase::dict(), subModelBase::modelName(), and CloudSubModelBase< CloudType >::owner().

|
inlinevirtual |
Construct and return a clone.
Implements InjectionModel< CloudType >.
Definition at line 308 of file ConeNozzleInjection.H.
References ConeNozzleInjection().
Referenced by ConeNozzleInjection().


|
virtual |
Set injector locations when mesh is updated.
Reimplemented from InjectionModel< CloudType >.
Definition at line 335 of file ConeNozzleInjection.C.
References InjectionModel< CloudType >::findCellAtPosition().
Referenced by ConeNozzleInjection().


|
virtual |
Return the end-of-injection time.
Implements InjectionModel< CloudType >.
Definition at line 354 of file ConeNozzleInjection.C.
References InjectionModel< CloudType >::SOI_.
|
virtual |
Number of parcels to introduce relative to SOI.
Implements InjectionModel< CloudType >.
Definition at line 361 of file ConeNozzleInjection.C.
|
virtual |
Volume of parcels to introduce relative to SOI.
Implements InjectionModel< CloudType >.
Definition at line 377 of file ConeNozzleInjection.C.
|
virtual |
Set the injection position and owner cell.
Implements InjectionModel< CloudType >.
Definition at line 393 of file ConeNozzleInjection.C.
References beta(), Foam::cos(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, InjectionModel< CloudType >::findCellAtPosition(), imDisc, imDiscSegments, imPoint, injectionMethodNames, Foam::mag(), CloudSubModelBase< CloudType >::owner(), R, rndGen, axisAngle::rotation(), Foam::sin(), InjectionModel< CloudType >::SOI_, Foam::constant::mathematical::twoPi(), and Foam::Zero.

|
virtual |
Set the parcel properties.
Implements InjectionModel< CloudType >.
Definition at line 560 of file ConeNozzleInjection.C.
References alpha, Foam::cos(), Foam::degToRad(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, flowTypeNames, ftConstantVelocity, ftFlowRateAndDischarge, ftPressureDrivenVelocity, Foam::mag(), InjectionModel< CloudType >::massTotal(), Vector< Cmpt >::normalise(), Foam::normalised(), CloudSubModelBase< CloudType >::owner(), p0, Foam::constant::mathematical::pi(), particle< Type >::position(), rho, rndGen, Foam::sin(), InjectionModel< CloudType >::SOI_, Foam::sqrt(), DSMCParcel< ParcelType >::U(), and InjectionModel< CloudType >::volumeTotal().

|
virtual |
Flag to identify whether model fully describes the parcel.
Implements InjectionModel< CloudType >.
Definition at line 641 of file ConeNozzleInjection.C.
|
virtual |
Return flag to identify whether or not injection of parcelI is.
permitted
Implements InjectionModel< CloudType >.
Definition at line 648 of file ConeNozzleInjection.C.
|
virtual |
Write injection info.
Reimplemented from InjectionModel< CloudType >.
Definition at line 655 of file ConeNozzleInjection.C.
References InjectionModel< CloudType >::info(), subModelBase::setModelProperty(), and CloudSubModelBase< CloudType >::writeTime().

|
static |
Definition at line 101 of file ConeNozzleInjection.H.
Referenced by ConeNozzleInjection(), and setPositionAndCell().
|
static |
Definition at line 113 of file ConeNozzleInjection.H.
Referenced by ConeNozzleInjection(), and setProperties().