51 #ifndef FieldActivatedInjection_H 52 #define FieldActivatedInjection_H 68 template<
class CloudType>
90 const word positionsFile_;
105 const label nParcelsPerInjector_;
127 TypeName(
"fieldActivatedInjection");
169 virtual scalar
volumeToInject(
const scalar time0,
const scalar time1);
178 const label nParcels,
190 const label nParcels,
scalar timeEnd() const
Return the end-of-injection time.
Forwards and collection of common volume field types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Templated injection model class.
virtual void updateMesh()
Set injector locations when mesh is updated.
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.
virtual scalar volumeToInject(const scalar time0, const scalar time1)
Volume of parcels to introduce relative to SOI.
const CloudType & owner() const
Return const access to the owner cloud.
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.
virtual bool validInjection(const label parcelI)
Return flag to identify whether or not injection of parcelI is.
A class for handling words, derived from Foam::string.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Conditional injection at specified positions.
virtual bool fullyDescribed() const
Flag to identify whether model fully describes the parcel.
virtual ~FieldActivatedInjection()=default
Destructor.
virtual autoPtr< InjectionModel< CloudType > > clone() const
Construct and return a clone.
virtual void setProperties(const label parcelI, const label nParcels, const scalar time, typename CloudType::parcelType &parcel)
Set the parcel properties.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
FieldActivatedInjection(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
TypeName("fieldActivatedInjection")
Runtime type information.
Templated base class for dsmc cloud.
virtual label parcelsToInject(const scalar time0, const scalar time1)
Number of parcels to introduce relative to SOI.