FreeFOAM The Cross-Platform CFD Toolkit
FieldActivatedInjection< CloudType > Class Template Reference

Injection at specified positions, with the conditions: More...

#include <lagrangianIntermediate/FieldActivatedInjection.H>


Detailed Description

template<class CloudType>
class Foam::FieldActivatedInjection< CloudType >

Injection at specified positions, with the conditions:

- for injection to be allowed

factor*referenceField[cellI] >= thresholdField[cellI]

where:

  • referenceField is the field used to supply the look-up values
  • thresholdField supplies the values beyond which the injection is permitted
  • limited to a user-supllied number of injections per injector location
Source files

Definition at line 63 of file FieldActivatedInjection.H.

+ Inheritance diagram for FieldActivatedInjection< CloudType >:
+ Collaboration diagram for FieldActivatedInjection< CloudType >:

List of all members.

Public Member Functions

 TypeName ("FieldActivatedInjection")
 Runtime type information.
 FieldActivatedInjection (const dictionary &dict, CloudType &owner)
 Construct from dictionary.
virtual ~FieldActivatedInjection ()
bool active () const
 Flag to indicate whether model activates injection model.
scalar timeEnd () const
 Return the end-of-injection time.
virtual void setPositionAndCell (const label parcelI, const label nParcels, const scalar time, vector &position, label &cellOwner)
 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.
- Public Member Functions inherited from InjectionModel< CloudType >
 TypeName ("InjectionModel")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, InjectionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table.
 InjectionModel (CloudType &owner)
 Construct null from owner.
 InjectionModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from dictionary.
virtual ~InjectionModel ()
 Destructor.
const dictionarydict () const
 Return the owner cloud dictionary.
const CloudType & owner () const
 Return const access the owner cloud object.
CloudType & owner ()
 Return non-const access the owner cloud object for manipulation.
const dictionarycoeffDict () const
 Return the coefficients dictionary.
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 nInjections () const
 Return the number of injections.
label parcelsAddedTotal () const
 Return the total number parcels added.
template<class TrackData >
void inject (TrackData &td)
 Main injection loop.

Protected Member Functions

label parcelsToInject (const scalar time0, const scalar time1) const
 Number of parcels to introduce over the time step relative to SOI.
scalar volumeToInject (const scalar time0, const scalar time1) const
 Volume of parcels to introduce over the time step relative to SOI.
- Protected Member Functions inherited from InjectionModel< CloudType >
virtual void prepareForNextTimeStep (const scalar time, label &newParcels, scalar &newVolume)
 Determine properties for next time step/injection interval.
virtual void findCellAtPosition (label &cellI, vector &position)
 Find the cell that contains the supplied position.
virtual scalar setNumberOfParticles (const label parcels, const scalar volume, 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.

Additional Inherited Members

- Public Types inherited from InjectionModel< CloudType >
enum  parcelBasis { pbNumber, pbMass }
 Parcel basis representation options. More...
- Static Public Member Functions inherited from InjectionModel< CloudType >
static autoPtr< InjectionModel
< CloudType > > 
New (const dictionary &dict, CloudType &owner)
 Selector.
- Protected Types inherited from InjectionModel< CloudType >
typedef CloudType::parcelType parcelType
 Convenience typedef for parcel type.
- Protected Attributes inherited from InjectionModel< CloudType >
const scalar SOI_
 Start of injection [s].
scalar volumeTotal_
 Total volume of particles introduced by this injector [m^3].
scalar massTotal_
 Total mass to inject [kg].
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 time0_
 Continuous phase time at start of injection time step [s].
scalar timeStep0_
 Time at start of injection time step [s].

Constructor & Destructor Documentation

FieldActivatedInjection ( const dictionary dict,
CloudType &  owner 
)

Construct from dictionary.

Definition at line 72 of file FieldActivatedInjection.C.

References forAll, Foam::mathematicalConstant::pi(), pow3(), and Foam::sum().

Definition at line 147 of file FieldActivatedInjection.C.


Member Function Documentation

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

Number of parcels to introduce over the time step relative to SOI.

Implements InjectionModel< CloudType >.

Definition at line 34 of file FieldActivatedInjection.C.

References Foam::sum().

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

Volume of parcels to introduce over the time step relative to SOI.

Implements InjectionModel< CloudType >.

Definition at line 52 of file FieldActivatedInjection.C.

References Foam::sum().

TypeName ( "FieldActivatedInjection< CloudType >"  )

Runtime type information.

bool active ( ) const
virtual

Flag to indicate whether model activates injection model.

Implements InjectionModel< CloudType >.

Definition at line 154 of file FieldActivatedInjection.C.

Foam::scalar timeEnd ( ) const
virtual

Return the end-of-injection time.

Implements InjectionModel< CloudType >.

Definition at line 161 of file FieldActivatedInjection.C.

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

Set the injection position and owner cell.

Implements InjectionModel< CloudType >.

Definition at line 169 of file FieldActivatedInjection.C.

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

Set the parcel properties.

Implements InjectionModel< CloudType >.

Definition at line 184 of file FieldActivatedInjection.C.

bool fullyDescribed ( ) const
virtual

Flag to identify whether model fully describes the parcel.

Implements InjectionModel< CloudType >.

Definition at line 200 of file FieldActivatedInjection.C.

bool validInjection ( const label  parcelI)
virtual

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

permitted

Implements InjectionModel< CloudType >.

Definition at line 208 of file FieldActivatedInjection.C.


The documentation for this class was generated from the following files: