Go to the documentation of this file.
38 #ifndef InflationInjection_H
39 #define InflationInjection_H
63 template<
class CloudType>
159 virtual scalar
volumeToInject(
const scalar time0,
const scalar time1);
168 const label nParcels,
180 const label nParcels,
word inflationSetName_
Name of cellSet for inflating new particles.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A class for handling words, derived from string.
InflationInjection(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
virtual label parcelsToInject(const scalar time0, const scalar time1)
Number of parcels to introduce relative to SOI.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
const autoPtr< distributionModels::distributionModel > sizeDistribution_
Parcel size distribution model.
Templated injection model class.
virtual autoPtr< InjectionModel< CloudType > > clone() const
Construct and return a clone.
const CloudType & owner() const
Return const access to the owner cloud.
TimeDataEntry< scalar > flowRateProfile_
Flow rate profile relative to SOI [m3/s].
virtual bool fullyDescribed() const
Flag to identify whether model fully describes the parcel.
const word & modelName() const
Return const access to the name of the sub-model.
Inflation injection - creates new particles by splitting existing particles within in a set of genera...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
labelList generationCells_
Set of cells to generate particles in.
const dictionary & dict() const
Return const access to the cloud dictionary.
virtual bool validInjection(const label parcelI)
Return flag to identify whether or not injection of parcelI is.
Templated base class for dsmc cloud.
virtual ~InflationInjection()
Destructor.
A list of keyword definitions, which are a keyword followed by any number of values (e....
TypeName("inflationInjection")
Runtime type information.
scalar duration_
Injection duration [s].
Switch selfSeed_
Switch to control whether or not the injector is allowed.
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, tetFace and tetPt.
scalar dSeed_
Diameter with which to create new seed particles.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
An ordered pair of two objects of type <T> with first() and second() elements.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
scalar volumeAccumulator_
Accumulation variable to carry over volume from one injection.
virtual void setProperties(const label parcelI, const label nParcels, const scalar time, typename CloudType::parcelType &parcel)
Set the parcel properties.
TimeDataEntry< scalar > growthRate_
Growth rate of particle diameters towards target [m/s].
word generationSetName_
Name of cellSet for generating new particles.
scalar timeEnd() const
Return the end-of-injection time.
scalar fraction_
Fraction of injection controlled by this processor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
DynamicList< vectorPairScalarPair > newParticles_
Positions, velocities, diameters and target diameters of.
A 2-tuple for storing two objects of different types.
labelList inflationCells_
Set of cells to inflate particles in, includes all.
Tuple2< Pair< vector >, Pair< scalar > > vectorPairScalarPair
virtual void updateMesh()
Set injector locations when mesh is updated.