Applies sources on k
and either epsilon
or omega
to prevent them droping below a specified ambient value for atmospheric boundary layer modelling. Such adjustment reportedly increases numerical stability for very stable atmospheric stability conditions, and prevents nonphysical oscillations in regions of low shear at higher altitudes.
More...
Public Member Functions | |
TypeName ("atmAmbientTurbSource") | |
atmAmbientTurbSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
atmAmbientTurbSource (const atmAmbientTurbSource &)=delete | |
void | operator= (const atmAmbientTurbSource &)=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 k
and either epsilon
or omega
to prevent them droping below a specified ambient value for atmospheric boundary layer modelling. Such adjustment reportedly increases numerical stability for very stable atmospheric stability conditions, and prevents nonphysical oscillations in regions of low shear at higher altitudes.
k | Turbulent kinetic energy [m2/s2]
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:
k | Turbulent kinetic energy [m2/s2] epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
References:
Background turbulence (tag:RS): Rumsey, C. L., & Spalart, P. R. (2009). Turbulence model behavior in low Reynolds number regions of aerodynamic flowfields. AIAA journal, 47(4), 982-993. DOI:10.2514/1.39947
constant/fvOptions
: atmAmbientTurbSource1 { // Mandatory entries (unmodifiable) type atmAmbientTurbSource; atmAmbientTurbSourceCoeffs { // Mandatory (inherited) entries (unmodifiable) selectionMode all; // Mandatory entries (unmodifiable) kAmb 0.0; // Optional entries (unmodifiable) rho rho; epsilonAmb 0.0; omegaAmb 0.0; } // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
type | Type name: atmAmbientTurbSource | word | yes | - |
kAmb | Ambient value for k | scalar | yes | - |
rho | Name of density field | word | no | rho |
epsilonAmb | Ambient value for epsilon | scalar | no | 0.0 |
omegaAmb | Ambient value for omega | scalar | no | 0.0 |
The inherited entries are elaborated in:
Definition at line 162 of file atmAmbientTurbSource.H.
atmAmbientTurbSource | ( | const word & | sourceName, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Definition at line 40 of file atmAmbientTurbSource.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, tmp::isTmp(), Log, Foam::name(), Foam::nl, and dictionary::read().
|
delete |
TypeName | ( | "atmAmbientTurbSource" | ) |
|
delete |
|
virtual |
Reimplemented from option.
Definition at line 147 of file atmAmbientTurbSource.C.
|
virtual |
|
virtual |
Reimplemented from option.
Definition at line 212 of file atmAmbientTurbSource.C.
References Foam::constant::atomic::alpha, and rho.
|
inlinevirtual |
Reimplemented from cellSetOption.
Definition at line 275 of file atmAmbientTurbSource.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.