Applies sources on either epsilon
or omega
to correct mixing-length scale estimations for atmospheric boundary layer modelling.
More...
Public Member Functions | |
TypeName ("atmLengthScaleTurbSource") | |
atmLengthScaleTurbSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
atmLengthScaleTurbSource (const atmLengthScaleTurbSource &)=delete | |
void | operator= (const atmLengthScaleTurbSource &)=delete |
virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
virtual bool | read (const dictionary &dict) |
![]() | |
TypeName ("cellSetOption") | |
cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
virtual | ~cellSetOption ()=default |
scalar | timeStart () const noexcept |
scalar | duration () const noexcept |
bool | inTimeLimits (const scalar timeValue) const |
selectionModeType | selectionMode () const noexcept |
bool | useSubMesh () const noexcept |
const word & | cellSetName () const noexcept |
scalar | V () const noexcept |
const labelList & | cells () const noexcept |
scalar | timeStart (scalar val) noexcept |
scalar | duration (scalar val) noexcept |
virtual bool | isActive () |
![]() | |
TypeName ("option") | |
declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
autoPtr< option > | clone () const |
virtual | ~option ()=default |
const word & | name () const noexcept |
const fvMesh & | mesh () const noexcept |
const dictionary & | coeffs () const noexcept |
bool | active () const noexcept |
void | setApplied (const label fieldi) |
bool | active (const bool on) noexcept |
virtual label | applyToField (const word &fieldName) const |
virtual void | checkApplied () const |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< scalar > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< symmTensor > &eqn, const label fieldi) |
virtual void | constrain (fvMatrix< tensor > &eqn, const label fieldi) |
virtual void | correct (volScalarField &field) |
virtual void | correct (volVectorField &field) |
virtual void | correct (volSphericalTensorField &field) |
virtual void | correct (volSymmTensorField &field) |
virtual void | correct (volTensorField &field) |
virtual void | postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
virtual void | writeHeader (Ostream &) const |
virtual void | writeFooter (Ostream &) const |
virtual void | writeData (Ostream &) const |
Additional Inherited Members | |
![]() | |
enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints } |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
![]() | |
bool | log |
![]() | |
static const Enum< selectionModeType > | selectionModeTypeNames_ |
![]() | |
void | setSelection (const dictionary &dict) |
void | setCellSelection () |
void | setVol () |
![]() | |
void | resetApplied () |
![]() | |
scalar | timeStart_ |
scalar | duration_ |
selectionModeType | selectionMode_ |
word | cellSetName_ |
List< point > | points_ |
labelList | cells_ |
scalar | V_ |
![]() | |
const word | name_ |
const word | modelType_ |
const fvMesh & | mesh_ |
dictionary | dict_ |
dictionary | coeffs_ |
wordList | fieldNames_ |
List< bool > | applied_ |
bool | active_ |
Applies sources on either epsilon
or omega
to correct mixing-length scale estimations for atmospheric boundary layer modelling.
Corrections applied to either of the below, if exist:
epsilon | Turbulent kinetic energy dissipation rate [m2/s3] omega | Specific dissipation rate [1/s]
Required fields, either of the below:
epsilon | Turbulent kinetic energy dissipation rate [m2/s3] omega | Specific dissipation rate [1/s]
References:
Mixing-length scale limiter for epsilon (tag:AC): Apsley, D. D., & Castro, I. P. (1997). A limited-length-scale k-ε model for the neutral and stably-stratified atmospheric boundary layer. Boundary-layer meteorology, 83(1), 75-98. DOI:10.1023/A:1000252210512 Mixing-length scale limiter for omega (tag:L): Langner, J. (2016). Implementierung und validierung von RANS-modellen der thermisch geschichteten, atmosphärischen grenzschicht. Masterarbeit zum thema, Technische Universität Berlin. Mixing-length scale estimation (tag:P): Pope, S. B. (2000). Turbulent flows. Cambridge, UK: Cambridge Univ. Press DOI:10.1017/CBO9780511840531
constant/fvOptions
: atmLengthScaleTurbSource1 { // Mandatory entries (unmodifiable) type atmLengthScaleTurbSource; atmLengthScaleTurbSourceCoeffs { // Mandatory (inherited) entries (unmodifiable) selectionMode all; // Optional entries (unmodifiable) rho rho; Lmax 41.575; n 3.0; } // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
type | Type name: atmLengthScaleTurbSource | word | yes | - |
rho | Name of density field | word | no | rho |
Lmax | Maximum mixing-length scale [m] | scalar | no | 41.575 |
n | Mixing-length scale exponent | scalar | no | 3.0 |
The inherited entries are elaborated in:
Definition at line 159 of file atmLengthScaleTurbSource.H.
atmLengthScaleTurbSource | ( | const word & | sourceName, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Definition at line 76 of file atmLengthScaleTurbSource.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, tmp::isTmp(), Log, Foam::nl, turbulenceModel::propertiesName, dictionary::read(), and option::resetApplied().
|
delete |
TypeName | ( | "atmLengthScaleTurbSource" | ) |
|
delete |
|
virtual |
Reimplemented from option.
Definition at line 171 of file atmLengthScaleTurbSource.C.
|
virtual |
Reimplemented from option.
Definition at line 200 of file atmLengthScaleTurbSource.C.
References rho.
|
virtual |
Reimplemented from option.
Definition at line 218 of file atmLengthScaleTurbSource.C.
References Foam::constant::atomic::alpha, and rho.
|
inlinevirtual |
Reimplemented from cellSetOption.
Definition at line 277 of file atmLengthScaleTurbSource.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.