turbulentDispersion Class Reference

Model for turbulent dispersion. This model creates a random turbulent velocity fluctuation based on the carrier's turbulent properties. It then uses the drag model to construct a corresponding force which it applies for a duration equal to the carrier's turbulent time scale. More...

Inheritance diagram for turbulentDispersion:
Collaboration diagram for turbulentDispersion:

Public Member Functions

 TypeName ("turbulentDispersion")
 Runtime type information. More...
 
 turbulentDispersion (const word &name, const LagrangianMesh &mesh, const dictionary &modelDict, const dictionary &stateDict)
 Construct from components. More...
 
virtual wordList addSupFields () const
 Return the name of the velocity field. More...
 
virtual bool addsSupToField (const word &fieldName, const word &eqnFieldName) const
 Return true for the velocity or carrier velocity field. More...
 
virtual void postConstruct ()
 Do post construction steps which require access to other models. More...
 
virtual void preAddSup (const LagrangianSubScalarField &deltaT, const bool final)
 Hook before source evaluation. More...
 
virtual void addSup (const LagrangianSubScalarField &deltaT, const LagrangianSubVectorSubField &U, LagrangianEqn< vector > &eqn) const
 Add a source term to the velocity equation. More...
 
virtual void addSup (const LagrangianSubScalarField &deltaT, const LagrangianSubScalarSubField &vOrM, const LagrangianSubVectorSubField &U, LagrangianEqn< vector > &eqn) const
 Add a source term to the momentum equation. More...
 
virtual void postAddSup (const LagrangianSubScalarField &deltaT, const bool final)
 Hook after source evaluation. More...
 
virtual void writeProcessorState (Ostream &os) const
 Write state. More...
 
template<class Type >
Foam::tmp< Foam::LagrangianDynamicField< Type > > initialiseTurbField (const word &name, const dimensionSet &dims, const Type &value)
 
- 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...
 
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 correct ()
 Correct the LagrangianModel. More...
 
virtual void preModify (const LagrangianMesh &mesh, DynamicList< elementModification > &elementModifications) const
 Identify elements in the Lagrangian mesh which are to be. More...
 
virtual LagrangianSubMesh modify (LagrangianMesh &mesh, const LagrangianSubMesh &modifiedMesh) const
 Instantaneously modify and/or create and remove elements in the. More...
 
virtual void calculate (const LagrangianSubScalarField &deltaT, const bool final)
 Solve equations and/or update continually changing properties. More...
 
virtual void addSup (const LagrangianSubScalarField &deltaT, LagrangianEqn< scalar > &eqn) const
 Add a fractional source term. 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 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 writeState (Ostream &os) const
 Write 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 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...
 

Detailed Description

Model for turbulent dispersion. This model creates a random turbulent velocity fluctuation based on the carrier's turbulent properties. It then uses the drag model to construct a corresponding force which it applies for a duration equal to the carrier's turbulent time scale.

Usage
Example specification:
<LagrangianModelName>
{
    type        turbulentDispersion;
    Cmu         0.09;
}
Source files

Definition at line 67 of file turbulentDispersion.H.

Constructor & Destructor Documentation

◆ turbulentDispersion()

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

Construct from components.

Definition at line 113 of file turbulentDispersion.C.

References momentumTransportModel::k().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "turbulentDispersion"  )

Runtime type information.

◆ addSupFields()

Foam::wordList addSupFields ( ) const
virtual

Return the name of the velocity field.

Reimplemented from LagrangianModel.

Definition at line 168 of file turbulentDispersion.C.

References cloud::U.

◆ addsSupToField()

bool addsSupToField ( const word fieldName,
const word eqnFieldName 
) const
virtual

Return true for the velocity or carrier velocity field.

Implements LagrangianModel.

Definition at line 174 of file turbulentDispersion.C.

References IOobject::name(), and cloud::U.

Here is the call graph for this function:

◆ postConstruct()

void postConstruct ( )
virtual

Do post construction steps which require access to other models.

Reimplemented from LagrangianModel.

Definition at line 189 of file turbulentDispersion.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, and cloud::LagrangianModels().

Here is the call graph for this function:

◆ preAddSup()

◆ addSup() [1/2]

void addSup ( const LagrangianSubScalarField deltaT,
const LagrangianSubVectorSubField U,
LagrangianEqn< vector > &  eqn 
) const
virtual

Add a source term to the velocity equation.

Definition at line 383 of file turbulentDispersion.C.

References DimensionedField< Type, GeoMesh, PrimitiveField >::mesh(), and LagrangianEqn< Type >::Su.

Here is the call graph for this function:

◆ addSup() [2/2]

void addSup ( const LagrangianSubScalarField deltaT,
const LagrangianSubScalarSubField vOrM,
const LagrangianSubVectorSubField U,
LagrangianEqn< vector > &  eqn 
) const
virtual

Add a source term to the momentum equation.

Definition at line 396 of file turbulentDispersion.C.

References DimensionedField< Type, GeoMesh, PrimitiveField >::mesh(), and LagrangianEqn< Type >::Su.

Here is the call graph for this function:

◆ postAddSup()

void postAddSup ( const LagrangianSubScalarField deltaT,
const bool  final 
)
virtual

Hook after source evaluation.

Reimplemented from LagrangianModel.

Definition at line 414 of file turbulentDispersion.C.

◆ writeProcessorState()

void writeProcessorState ( Ostream os) const
virtual

Write state.

Reimplemented from stateModel.

Definition at line 424 of file turbulentDispersion.C.

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

Here is the call graph for this function:

◆ initialiseTurbField()

Foam::tmp<Foam::LagrangianDynamicField<Type> > initialiseTurbField ( const word name,
const dimensionSet dims,
const Type &  value 
)

Definition at line 56 of file turbulentDispersion.C.

References IOobject::AUTO_WRITE, LagrangianModel::mesh(), LagrangianModel::name(), IOobject::READ_IF_PRESENT, and LagrangianModel::time().

Here is the call graph for this function:

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