All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Stochastic< CloudType > Class Template Reference

Stochastic return-to-isotropy model. More...

Inheritance diagram for Stochastic< CloudType >:
Collaboration diagram for Stochastic< CloudType >:

Public Member Functions

 TypeName ("stochastic")
 Runtime type information. More...
 
 Stochastic (const dictionary &dict, CloudType &owner)
 Construct from components. More...
 
 Stochastic (const Stochastic< CloudType > &cm)
 Construct copy. More...
 
virtual autoPtr< IsotropyModel< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~Stochastic ()
 Destructor. More...
 
virtual void calculate ()
 Member Functions. More...
 
- Public Member Functions inherited from IsotropyModel< CloudType >
 TypeName ("isotropyModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, IsotropyModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 IsotropyModel (CloudType &owner)
 Construct null from owner. More...
 
 IsotropyModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
 IsotropyModel (const IsotropyModel< CloudType > &cm)
 Construct a copy. More...
 
virtual ~IsotropyModel ()
 Destructor. More...
 
- Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud. More...
 
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name. More...
 
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name. More...
 
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Copy constructor. More...
 
virtual ~CloudSubModelBase ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the owner cloud. More...
 
virtual bool writeTime () const
 Flag to indicate when to write a property. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null. More...
 
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name. More...
 
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name. More...
 
 subModelBase (const subModelBase &smb)
 Copy constructor. More...
 
virtual ~subModelBase ()
 Destructor. More...
 
const wordmodelName () const
 Return const access to the name of the sub-model. More...
 
const dictionarydict () const
 Return const access to the cloud dictionary. More...
 
const wordbaseName () const
 Return const access to the base name of the sub-model. More...
 
const wordmodelType () const
 Return const access to the sub-model type. More...
 
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary. More...
 
const dictionaryproperties () const
 Return const access to the properties dictionary. More...
 
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg. More...
 
virtual bool active () const
 Return the model 'active' status - default active = true. More...
 
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model. More...
 
template<class Type >
void getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
Type getModelProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model. More...
 
void operator= (const subModelBase &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 
- Static Public Member Functions inherited from IsotropyModel< CloudType >
static autoPtr< IsotropyModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 
- Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. More...
 
- Protected Attributes inherited from IsotropyModel< CloudType >
autoPtr< TimeScaleModeltimeScaleModel_
 Time scale model. More...
 
- Protected Attributes inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud. More...
 
- Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model. More...
 
dictionaryproperties_
 Reference to properties dictionary e.g. for restart. More...
 
const dictionary dict_
 Copy of dictionary used during construction. More...
 
const word baseName_
 Name of the sub-model base class. More...
 
const word modelType_
 Type of the sub-model. More...
 
const dictionary coeffDict_
 Coefficients dictionary. More...
 

Detailed Description

template<class CloudType>
class Foam::IsotropyModels::Stochastic< CloudType >

Stochastic return-to-isotropy model.

Particle velocities are modified by sampling a gaussian-plus-delta distribution, which depends on a time-scale. This randomises some particle velocities whilst leaving others unchanged. The lower the value of the time-scale, the greater the proportion of particle velocities affected.

A correction step is performed at the end to ensure that the model conserves both momentum and granular temperature.

Reference:

    "Inclusion of collisional return-to-isotropy in the MP-PIC method"
    P O'Rourke and D Snider
    Chemical Engineering Science
    Volume 80, Issue 0, Pages 39-54, December 2012
Source files

Definition at line 67 of file Stochastic.H.

Constructor & Destructor Documentation

◆ Stochastic() [1/2]

Stochastic ( const dictionary dict,
CloudType owner 
)

Construct from components.

Definition at line 32 of file Stochastic.C.

◆ Stochastic() [2/2]

Stochastic ( const Stochastic< CloudType > &  cm)

Construct copy.

Definition at line 43 of file Stochastic.C.

◆ ~Stochastic()

~Stochastic ( )
virtual

Destructor.

Definition at line 54 of file Stochastic.C.

References f(), Foam::log(), rndGen(), Random::sample01(), Foam::sqrt(), x, and y.

Referenced by Stochastic< CloudType >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "stochastic"  )

Runtime type information.

◆ clone()

virtual autoPtr<IsotropyModel<CloudType> > clone ( ) const
inlinevirtual

Construct and return a clone.

Implements IsotropyModel< CloudType >.

Definition at line 91 of file Stochastic.H.

References Stochastic< CloudType >::calculate(), and Stochastic< CloudType >::~Stochastic().

Here is the call graph for this function:

◆ calculate()

void calculate ( )
virtual

Member Functions.

Calculate velocities

Implements IsotropyModel< CloudType >.

Definition at line 97 of file Stochastic.C.

References AveragingMethod< Type >::add(), AveragingMethod< Type >::average(), dict, Foam::exp(), forAllIter, AveragingMethod< Type >::interpolate(), objectRegistry::lookupObject(), Foam::magSqr(), Foam::max(), mesh, Foam::name(), p, rndGen(), Random::sample01(), Foam::sqrt(), timeName, and x.

Referenced by Stochastic< CloudType >::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

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