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

Patch injection. More...

#include <lagrangianIntermediate/PatchInjection.H>


Detailed Description

template<class CloudType>
class Foam::PatchInjection< CloudType >

Patch injection.

- User specifies

  • Total mass to inject
  • Name of patch
  • Injection duration
  • Initial parcel velocity
  • Injection volume flow rate

Parcel diameters obtained by PDF model

  • Parcels injected at cell centres adjacent to patch
Source files

Definition at line 64 of file PatchInjection.H.

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

List of all members.

Public Member Functions

 TypeName ("PatchInjection")
 Runtime type information.
 PatchInjection (const dictionary &dict, CloudType &owner)
 Construct from dictionary.
virtual ~PatchInjection ()
 Destructor.
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

PatchInjection ( const dictionary dict,
CloudType &  owner 
)

Construct from dictionary.

Definition at line 72 of file PatchInjection.C.

References Foam::exit(), polyPatch::faceCells(), Foam::FatalError, FatalErrorIn, Foam::nl, reduce(), and UList< T >::size().

~PatchInjection ( )
virtual

Destructor.

Definition at line 138 of file PatchInjection.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 PatchInjection.C.

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 PatchInjection.C.

TypeName ( "PatchInjection< CloudType >"  )

Runtime type information.

bool active ( ) const
virtual

Flag to indicate whether model activates injection model.

Implements InjectionModel< CloudType >.

Definition at line 145 of file PatchInjection.C.

Foam::scalar timeEnd ( ) const
virtual

Return the end-of-injection time.

Implements InjectionModel< CloudType >.

Definition at line 152 of file PatchInjection.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 160 of file PatchInjection.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 186 of file PatchInjection.C.

bool fullyDescribed ( ) const
virtual

Flag to identify whether model fully describes the parcel.

Implements InjectionModel< CloudType >.

Definition at line 202 of file PatchInjection.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 209 of file PatchInjection.C.


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