Go to the documentation of this file.
57 #ifndef InjectedParticleInjection_H
58 #define InjectedParticleInjection_H
69 class injectedParticleCloud;
75 template<
class CloudType>
130 TypeName(
"injectedParticleInjection");
175 virtual scalar
volumeToInject(
const scalar time0,
const scalar time1);
184 const label nParcels,
196 const label nParcels,
vector positionOffset_
Position offset to apply to input positions.
virtual scalar volumeToInject(const scalar time0, const scalar time1)
Volume of parcels to introduce relative to SOI.
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 Foam::string.
scalarList volume_
List of volume per particle [m3].
label currentParticlei_
Index of current particle.
virtual bool fullyDescribed() const
Flag to identify whether model fully describes the parcel.
labelList injectorCells_
List of cell label per injector.
labelList injectorTetPts_
List of tetPt label per injector.
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.
TypeName("injectedParticleInjection")
Runtime type information.
Templated injection model class.
Replays an set of particle data based on an injectedParticleCloud, using the assumption of one partic...
virtual autoPtr< InjectionModel< CloudType > > clone() const
Construct and return a clone.
const word & modelName() const
Return const access to the name of the sub-model.
vectorList U_
List of velocity per particle [m/s].
virtual void setProperties(const label parceli, const label nParcels, const scalar time, typename CloudType::parcelType &parcel)
Set the parcel properties.
virtual bool validInjection(const label parceli)
Return flag to identify whether or not injection of parcelI is.
const dictionary & dict() const
Return const access to the cloud dictionary.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
scalarList diameter_
List of diameter per particle [m].
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
scalar timeEnd() const
Return the end-of-injection time.
OBJstream os(runTime.globalPath()/outputName)
vectorList position_
List of position per particle [m].
void initialise()
Initialise injectors.
void info(Ostream &os)
Write injection info to stream.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
InjectedParticleInjection(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.
const word cloudName_
Name of cloud used to seed the new particles.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual ~InjectedParticleInjection()=default
Destructor.
Switch ignoreOutOfBounds_
Flag to suppress errors if particle injection site is out-of-bounds.
virtual void updateMesh()
Set injector locations when mesh is updated.
scalarList time_
List of injection time per particle [s].
labelList injectorTetFaces_
List of tetFace label per injector.