Calculates and applies the random OU (Ornstein-Uhlenbeck) process force to the momentum equation for direct numerical simulation of boxes of isotropic turbulence.
More...
|
| TypeName ("OUForce") |
| Runtime type information. More...
|
|
| OUForce (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) |
| Construct from explicit source name and mesh. More...
|
|
| OUForce (const OUForce &)=delete |
| Disallow default bitwise copy construction. More...
|
|
virtual wordList | addSupFields () const |
| Return the list of fields for which the fvModel adds source term. More...
|
|
virtual void | addSup (const volVectorField &field, fvMatrix< vector > &eqn) const |
| Add explicit contribution to incompressible momentum equation. More...
|
|
virtual bool | movePoints () |
| Update for mesh motion. 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 &dict) |
| Read source dictionary. More...
|
|
virtual bool | write (const bool write=true) const |
| Write energy spectrum. More...
|
|
void | operator= (const OUForce &)=delete |
| Disallow default bitwise assignment. More...
|
|
| TypeName ("fvModel") |
| Runtime type information. More...
|
|
| declareRunTimeSelectionTable (autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict),(name, modelType, mesh, dict)) |
|
| fvModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) |
| Construct from components. More...
|
|
autoPtr< fvModel > | clone () const |
| Return clone. More...
|
|
virtual | ~fvModel () |
| Destructor. More...
|
|
const word & | name () const |
| Return const access to the source name. More...
|
|
const fvMesh & | mesh () const |
| Return const access to the mesh database. More...
|
|
const dictionary & | coeffs () const |
| Return dictionary. More...
|
|
virtual bool | addsSupToField (const word &fieldName) const |
| Return true if the fvModel adds a source term to the given. More...
|
|
virtual scalar | maxDeltaT () const |
| Return the maximum time-step for stable operation. More...
|
|
virtual void | addSup (fvMatrix< scalar > &eqn) const |
| Add a source term to a field-less proxy equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
| Add a source term to an equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const VolField< Type > &field) const |
| Return source for an equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for an equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a compressible equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for a compressible equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for a phase equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More...
|
|
template<class Type > |
tmp< fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
| Return source for an equation with a second time derivative. More...
|
|
virtual void | preUpdateMesh () |
| Prepare for mesh update. More...
|
|
virtual void | correct () |
| Correct the fvModel. More...
|
|
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> |
Foam::dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
|
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
|
template<class AlphaRhoFieldType > |
const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
|
template<class Type , class ... AlphaRhoFieldTypes> |
Foam::tmp< Foam::fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
|
template<class Type > |
Foam::tmp< Foam::fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
|
|
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> |
static dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| Return the dimensions of the matrix of a source term. More...
|
|
static const dimensionSet & | sourceDims (const dimensionSet &ds) |
| Return the dimensions of the matrix of a source term (base. More...
|
|
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| Return the name of the field associated with a source term. More...
|
|
template<class AlphaRhoFieldType > |
static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
| Return the name of the field associated with a source term (base. More...
|
|
static const word & | fieldName () |
| Return the name of the field associated with a source term. Special. More...
|
|
static autoPtr< fvModel > | New (const word &name, const fvMesh &mesh, const dictionary &dict) |
| Return a reference to the selected fvModel. More...
|
|
template<class Type > |
void | addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to an equation. More...
|
|
template<class Type > |
void | addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to a compressible equation. More...
|
|
template<class Type > |
void | addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to a phase equation. More...
|
|
template<class Type , class ... AlphaRhoFieldTypes> |
tmp< fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
| Return a source for an equation. More...
|
|
Calculates and applies the random OU (Ornstein-Uhlenbeck) process force to the momentum equation for direct numerical simulation of boxes of isotropic turbulence.
The energy spectrum is calculated and written at write-times which is particularly useful to test and compare LES SGS models.
Note This random OU process force uses a FFT to generate the force field which is not currently parallelised. Also the mesh the FFT is applied to must be isotropic and have a power of 2 cells in each direction.
- Usage
- Example usage:
OUForce
{
type OUForce;
libs ("librandomProcesses.so");
sigma 0.090295;
alpha 0.81532;
kUpper 10;
kLower 7;
}
- Source files
-
Definition at line 78 of file OUForce.H.