InflationInjection< CloudType > Class Template Reference

Inflation injection - creates new particles by splitting existing particles within in a set of generation cells, then inflating them to a target diameter within the generation cells and an additional set of inflation cells. More...

Inheritance diagram for InflationInjection< CloudType >:
Collaboration diagram for InflationInjection< CloudType >:

Public Member Functions

 TypeName ("inflationInjection")
 Runtime type information. More...
 
 InflationInjection (const dictionary &dict, CloudType &owner, const word &modelName)
 Construct from dictionary. More...
 
 InflationInjection (const InflationInjection< CloudType > &im)
 Construct copy. More...
 
virtual autoPtr
< InjectionModel< CloudType > > 
clone () const
 Construct and return a clone. More...
 
virtual ~InflationInjection ()
 Destructor. More...
 
virtual void updateMesh ()
 Set injector locations when mesh is updated. More...
 
scalar timeEnd () const
 Return the end-of-injection time. More...
 
virtual label parcelsToInject (const scalar time0, const scalar time1)
 Number of parcels to introduce relative to SOI. More...
 
virtual scalar volumeToInject (const scalar time0, const scalar time1)
 Volume of parcels to introduce relative to SOI. More...
 
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, tetFace and tetPt. More...
 
virtual void setProperties (const label parcelI, const label nParcels, const scalar time, typename CloudType::parcelType &parcel)
 Set the parcel properties. More...
 
virtual bool fullyDescribed () const
 Flag to identify whether model fully describes the parcel. More...
 
virtual bool validInjection (const label parcelI)
 Return flag to identify whether or not injection of parcelI is. More...
 
- Public Member Functions inherited from InjectionModel< CloudType >
 TypeName ("injectionModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, InjectionModel, dictionary,(const dictionary &dict, CloudType &owner, const word &modelType),(dict, owner, modelType))
 Declare runtime constructor selection table. More...
 
 InjectionModel (CloudType &owner)
 Construct null from owner. More...
 
 InjectionModel (const dictionary &dict, CloudType &owner, const word &modelName, const word &modelType)
 Construct from dictionary. More...
 
 InjectionModel (const InjectionModel< CloudType > &im)
 Construct copy. More...
 
virtual ~InjectionModel ()
 Destructor. More...
 
scalar timeStart () const
 Return the start-of-injection time. More...
 
scalar volumeTotal () const
 Return the total volume to be injected across the event. More...
 
scalar massTotal () const
 Return mass of particles to introduce. More...
 
scalar massInjected () const
 Return mass of particles injected (cumulative) More...
 
virtual scalar averageParcelMass ()
 Return the average parcel mass over the injection period. More...
 
label nInjections () const
 Return the number of injections. More...
 
label parcelsAddedTotal () const
 Return the total number parcels added. More...
 
template<class TrackData >
void inject (TrackData &td)
 Main injection loop. More...
 
template<class TrackData >
void injectSteadyState (TrackData &td, const scalar trackTime)
 Main injection loop - steady-state. More...
 
virtual void info (Ostream &os)
 Write injection info to stream. More...
 
- Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud. More...
 
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name. More...
 
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name. More...
 
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Construct as copy. More...
 
virtual ~CloudSubModelBase ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the owner cloud. More...
 
virtual bool outputTime () const
 Flag to indicate when to write a property. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null. More...
 
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name. More...
 
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name. More...
 
 subModelBase (const subModelBase &smb)
 Construct as copy. More...
 
virtual ~subModelBase ()
 Destructor. More...
 
const wordmodelName () const
 Return const access to the name of the sub-model. More...
 
const dictionarydict () const
 Return const access to the cloud dictionary. More...
 
const wordbaseName () const
 Return const access to the base name of the sub-model. More...
 
const wordmodelType () const
 Return const access to the sub-model type. More...
 
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary. More...
 
const dictionaryproperties () const
 Return const access to the properties dictionary. More...
 
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg. More...
 
virtual bool active () const
 Return the model 'active' status - default active = true. More...
 
virtual void cacheFields (const bool store)
 Cache dependant sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model. More...
 
template<class Type >
Type getModelProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model. More...
 

Additional Inherited Members

- Public Types inherited from InjectionModel< CloudType >
enum  parcelBasis { pbNumber, pbMass, pbFixed }
 Parcel basis representation options. More...
 
typedef CloudType::parcelType parcelType
 Convenience typedef for parcelType. More...
 
- Static Public Member Functions inherited from InjectionModel< CloudType >
static autoPtr< InjectionModel
< CloudType > > 
New (const dictionary &dict, CloudType &owner)
 Selector with lookup from dictionary. More...
 
static autoPtr< InjectionModel
< CloudType > > 
New (const dictionary &dict, const word &modelName, const word &modelType, CloudType &owner)
 Selector with name and type. More...
 
- 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. More...
 
virtual bool findCellAtPosition (label &cellI, label &tetFaceI, label &tetPtI, vector &position, bool errorOnNotFound=true)
 Find the cell that contains the supplied position. More...
 
virtual scalar setNumberOfParticles (const label parcels, const scalar volumeFraction, const scalar diameter, const scalar rho)
 Set number of particles to inject given parcel properties. More...
 
virtual void postInjectCheck (const label parcelsAdded, const scalar massAdded)
 Post injection checks. More...
 
- Protected Attributes inherited from InjectionModel< CloudType >
scalar SOI_
 Start of injection [s]. More...
 
scalar volumeTotal_
 Total volume of particles introduced by this injector [m^3]. More...
 
scalar massTotal_
 Total mass to inject [kg]. More...
 
TimeDataEntry< scalar > massFlowRate_
 Mass flow rate profile for steady calculations. More...
 
scalar massInjected_
 Total mass injected to date [kg]. More...
 
label nInjections_
 Number of injections counter. More...
 
label parcelsAddedTotal_
 Running counter of total number of parcels added. More...
 
parcelBasis parcelBasis_
 Parcel basis enumeration. More...
 
scalar nParticleFixed_
 nParticle to assign to parcels when the 'fixed' basis More...
 
scalar time0_
 Continuous phase time at start of injection time step [s]. More...
 
scalar timeStep0_
 Time at start of injection time step [s]. More...
 
scalar delayedVolume_
 Volume that should have been injected, but would lead to. More...
 

Detailed Description

template<class CloudType>
class Foam::InflationInjection< CloudType >

Inflation injection - creates new particles by splitting existing particles within in a set of generation cells, then inflating them to a target diameter within the generation cells and an additional set of inflation cells.

Source files

Definition at line 64 of file InflationInjection.H.

Constructor & Destructor Documentation

InflationInjection ( const dictionary dict,
CloudType owner,
const word modelName 
)

Construct from dictionary.

Definition at line 38 of file InflationInjection.C.

References forAll, mesh, Foam::readScalar(), and Foam::reduce().

Here is the call graph for this function:

Construct copy.

Definition at line 126 of file InflationInjection.C.

~InflationInjection ( )
virtual

Destructor.

Definition at line 150 of file InflationInjection.C.

Member Function Documentation

TypeName ( "inflationInjection"  )

Runtime type information.

virtual autoPtr<InjectionModel<CloudType> > clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from InjectionModel< CloudType >.

Definition at line 134 of file InflationInjection.H.

References InflationInjection< CloudType >::clone().

Referenced by InflationInjection< CloudType >::clone().

Here is the call graph for this function:

Here is the caller graph for this function:

void updateMesh ( )
virtual

Set injector locations when mesh is updated.

Reimplemented from InjectionModel< CloudType >.

Definition at line 157 of file InflationInjection.C.

Foam::scalar timeEnd ( ) const
virtual

Return the end-of-injection time.

Reimplemented from InjectionModel< CloudType >.

Definition at line 164 of file InflationInjection.C.

Foam::label parcelsToInject ( const scalar  time0,
const scalar  time1 
)
virtual

Number of parcels to introduce relative to SOI.

Reimplemented from InjectionModel< CloudType >.

Definition at line 172 of file InflationInjection.C.

References primitiveMesh::cellCentres(), cellOccupancy, Foam::ListListOps::combine(), d(), Foam::endl(), forAll, Foam::max(), mesh, Foam::min(), minValue, cachedRandom::position(), R, cachedRandom::sample01(), Foam::sqrt(), WarningIn, and x.

Here is the call graph for this function:

Foam::scalar volumeToInject ( const scalar  time0,
const scalar  time1 
)
virtual

Volume of parcels to introduce relative to SOI.

Reimplemented from InjectionModel< CloudType >.

Definition at line 432 of file InflationInjection.C.

void setPositionAndCell ( const label  parcelI,
const label  nParcels,
const scalar  time,
vector position,
label &  cellOwner,
label &  tetFaceI,
label &  tetPtI 
)
virtual

Set the injection position and owner cell, tetFace and tetPt.

Reimplemented from InjectionModel< CloudType >.

Definition at line 450 of file InflationInjection.C.

void setProperties ( const label  parcelI,
const label  nParcels,
const scalar  time,
typename CloudType::parcelType &  parcel 
)
virtual

Set the parcel properties.

Reimplemented from InjectionModel< CloudType >.

Definition at line 475 of file InflationInjection.C.

bool fullyDescribed ( ) const
virtual

Flag to identify whether model fully describes the parcel.

Reimplemented from InjectionModel< CloudType >.

Definition at line 491 of file InflationInjection.C.

bool validInjection ( const label  parcelI)
virtual

Return flag to identify whether or not injection of parcelI is.

permitted

Reimplemented from InjectionModel< CloudType >.

Definition at line 498 of file InflationInjection.C.


The documentation for this class was generated from the following files:
  • src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.H
  • src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InflationInjection/InflationInjection.C