pointInjection Class Reference

Point injection model. This injects particles continuously at a point with a given number rate. The point and the number rate are both Function1-s and can both vary with time. More...

Inheritance diagram for pointInjection:
Collaboration diagram for pointInjection:

Public Member Functions

 TypeName ("pointInjection")
 Runtime type information. More...
 
 pointInjection (const word &name, const LagrangianMesh &mesh, const dictionary &modelDict, const dictionary &stateDict)
 Construct from components. More...
 
virtual void correct ()
 Correct the LagrangianModel. More...
 
LagrangianSubMesh modify (LagrangianMesh &mesh, const LagrangianSubMesh &) const
 Create new elements in the Lagrangian mesh. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
virtual bool read (const dictionary &modelDict)
 Read dictionary. More...
 
virtual void writeState (Ostream &os) const
 Write state. More...
 
- Public Member Functions inherited from LagrangianInjection
 TypeName ("LagrangianInjection")
 Runtime type information. More...
 
 LagrangianInjection (const word &name, const LagrangianMesh &mesh)
 Construct from components. More...
 
virtual ~LagrangianInjection ()
 Destructor. More...
 
virtual bool addsSupToField (const word &fieldName, const word &eqnFieldName) const
 Return true if the LagrangianModel adds a source term to the. More...
 
- Public Member Functions inherited from LagrangianModel
 TypeName ("LagrangianModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, LagrangianModel, dictionary,(const word &name, const LagrangianMesh &mesh, const dictionary &modelDict, const dictionary &stateDict),(name, mesh, modelDict, stateDict))
 Declare run-time constructor selection table. More...
 
 LagrangianModel (const word &name, const LagrangianMesh &mesh)
 Construct from components. More...
 
 LagrangianModel (const LagrangianModel &)=delete
 Disallow default bitwise copy construction. More...
 
autoPtr< LagrangianModelclone () const
 Clone. More...
 
virtual ~LagrangianModel ()
 Destructor. More...
 
const wordname () const
 The source name. More...
 
const objectRegistrydb () const
 The database. More...
 
const Timetime () const
 Return time. More...
 
const LagrangianMeshmesh () const
 The mesh. More...
 
virtual wordList addSupFields () const
 Return the list of fields for which the LagrangianModel adds. More...
 
template<class Type , template< class > class PrimitiveField, template< class > class PrimitiveEqnField>
bool addsSupToField (const LagrangianSubField< Type, PrimitiveField > &field, const LagrangianSubField< Type, PrimitiveEqnField > &eqnfield) const
 Return true if the LagrangianModels adds a source term to the. More...
 
virtual void postConstruct ()
 Do post construction steps which require access to other models. More...
 
virtual void preModify (const LagrangianMesh &mesh, DynamicList< elementModification > &elementModifications) const
 Identify elements in the Lagrangian mesh which are to be. More...
 
virtual void calculate (const LagrangianSubScalarField &deltaT, const bool final)
 Solve equations and/or update continually changing properties. More...
 
virtual void preAddSup (const LagrangianSubScalarField &deltaT, const bool final)
 Hook before source evaluation. More...
 
virtual void addSup (const LagrangianSubScalarField &deltaT, LagrangianEqn< scalar > &eqn) const
 Add a fractional source term. More...
 
virtual void postAddSup (const LagrangianSubScalarField &deltaT, const bool final)
 Add a source term to an equation. More...
 
virtual bool write (const bool write) const
 Write data. More...
 
void operator= (const LagrangianModel &)=delete
 Disallow default bitwise assignment. More...
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
Foam::word fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 
template<class Type , class GeoMesh , template< class > class PrimitiveField>
const Foam::wordfieldName (const GeometricField< Type, GeoMesh, PrimitiveField > &field)
 
template<class Type , class GeoMesh , template< class > class PrimitiveField>
const Foam::wordfieldName (const DimensionedField< Type, GeoMesh, PrimitiveField > &field)
 
template<class Type , template< class > class PrimitiveField>
Foam::word fieldName (const DimensionedField< Type, LagrangianSubMesh, PrimitiveField > &field)
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
Foam::word fieldsName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 
template<class AlphaRhoFieldType >
Foam::word fieldsName (const AlphaRhoFieldType &alphaRhoField)
 
- Public Member Functions inherited from stateModel
 stateModel ()
 Construct null. More...
 
 stateModel (const stateModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~stateModel ()
 Destructor. More...
 
bool writeState (const bool write) const
 Write state. More...
 
virtual void writeProcessorState (Ostream &os) const
 Write processor state. More...
 
void operator= (const stateModel &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Public Types inherited from LagrangianModel
enum class  modification : label { change = 0 , remove = 1 }
 Enumeration of the types of instantaneous modification. More...
 
typedef LagrangianMesh::elementGroup< modificationelementModification
 Class containing an element-index and a modification-enumeration. More...
 
- Static Public Member Functions inherited from LagrangianModel
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
static word fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 Return the name of the field associated with a source term. More...
 
template<class Type , class GeoMesh , template< class > class PrimitiveField>
static const wordfieldName (const GeometricField< Type, GeoMesh, PrimitiveField > &)
 Return the name of the field associated with a source term (base. More...
 
template<class Type , class GeoMesh , template< class > class PrimitiveField>
static const wordfieldName (const DimensionedField< Type, GeoMesh, PrimitiveField > &)
 Return the name of the field associated with a source term (base. More...
 
template<class Type , template< class > class PrimitiveField>
static word fieldName (const DimensionedField< Type, LagrangianSubMesh, PrimitiveField > &)
 Return the name of the field associated with a source term (base. More...
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
static word fieldsName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 Return the name of the product of the fields associated with a. More...
 
template<class AlphaRhoFieldType >
static word fieldsName (const AlphaRhoFieldType &alphaRhoField)
 Return the name of the product of the fields associated with a. More...
 
static autoPtr< LagrangianModelNew (const word &name, const LagrangianMesh &mesh, const dictionary &modelDict)
 Selector. More...
 
- Static Public Member Functions inherited from stateModel
static dictionary stateDict (const word &name, const objectRegistry &db)
 Construct and return the state dictionary for reading. More...
 
- Protected Member Functions inherited from LagrangianInjection
void checkLocation (const LagrangianMesh::location, const point &) const
 Check the location and error or warn as appropriate. More...
 
void checkLocation (const List< LagrangianMesh::location > &, const List< point > &) const
 Check the locations and error or warn as appropriate. More...
 
- Protected Member Functions inherited from LagrangianModel
template<class Type >
void addSupType (const LagrangianSubScalarField &deltaT, const LagrangianSubSubField< Type > &field, LagrangianEqn< Type > &eqn) const
 Add a source term to an equation. More...
 
template<class Type >
void addSupType (const LagrangianSubScalarField &deltaT, const LagrangianSubScalarSubField &vOrM, const LagrangianSubSubField< Type > &field, LagrangianEqn< Type > &eqn) const
 Add a source term to a volume or mass-weighted equation. More...
 
- Static Protected Member Functions inherited from LagrangianInjection
template<class ... OtherFields>
static void filter (barycentricField &coordinates, labelField &celli, labelField &facei, labelField &faceTrii, OtherFields &... otherFields)
 Filter out injected elements that are on other processes. These. More...
 

Detailed Description

Point injection model. This injects particles continuously at a point with a given number rate. The point and the number rate are both Function1-s and can both vary with time.

Note that this model only controls the number and position of injected Lagrangian particles. All physical properties are specified by corresponding source conditions. So the velocity/direction/angle/etc..., is controlled by the velocity source condition, the size distribution by the diameter source condition, and the flow rate by the number source condition.

Usage
Property Description Required? Default
point The position at which to inject yes
numberRate The number of particles to inject per unit time yes

Example specification:

    <LagrangianModelName>
    {
        type        pointInjection;
        point       (1 2 3) [cm];
        numberRate  10000;
    }
See also
Foam::Function1s
Source files

Definition at line 96 of file pointInjection.H.

Constructor & Destructor Documentation

◆ pointInjection()

pointInjection ( const word name,
const LagrangianMesh mesh,
const dictionary modelDict,
const dictionary stateDict 
)

Construct from components.

Definition at line 76 of file pointInjection.C.

Member Function Documentation

◆ TypeName()

TypeName ( "pointInjection"  )

Runtime type information.

◆ correct()

void correct ( )
virtual

Correct the LagrangianModel.

Reimplemented from LagrangianModel.

Definition at line 102 of file pointInjection.C.

References TimeState::deltaT(), mesh, p, fvMesh::time(), and dimensioned< Type >::value().

Here is the call graph for this function:

◆ modify()

Foam::LagrangianSubMesh modify ( LagrangianMesh mesh,
const LagrangianSubMesh  
) const
virtual

◆ topoChange()

void topoChange ( const polyTopoChangeMap )
virtual

Update topology using the given map.

Reimplemented from LagrangianModel.

Definition at line 251 of file pointInjection.C.

◆ mapMesh()

void mapMesh ( const polyMeshMap )
virtual

Update from another mesh using the given map.

Reimplemented from LagrangianModel.

Definition at line 257 of file pointInjection.C.

◆ distribute()

void distribute ( const polyDistributionMap )
virtual

Redistribute or update using the given distribution map.

Reimplemented from LagrangianModel.

Definition at line 263 of file pointInjection.C.

◆ read()

bool read ( const dictionary modelDict)
virtual

Read dictionary.

Reimplemented from LagrangianModel.

Definition at line 269 of file pointInjection.C.

References LagrangianModel::read().

Here is the call graph for this function:

◆ writeState()

void writeState ( Ostream os) const
virtual

Write state.

Reimplemented from stateModel.

Definition at line 283 of file pointInjection.C.

References Foam::writeEntry(), and stateModel::writeState().

Here is the call graph for this function:

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