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") | |
Runtime type information. More... | |
atmAmbientTurbSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from explicit source name and mesh. More... | |
atmAmbientTurbSource (const atmAmbientTurbSource &)=delete | |
No copy construct. More... | |
void | operator= (const atmAmbientTurbSource &)=delete |
No copy assignment. More... | |
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) |
Read source dictionary (effectively no-op) More... | |
Public Member Functions inherited from cellSetOption | |
TypeName ("cellSetOption") | |
Runtime type information. More... | |
cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
virtual | ~cellSetOption ()=default |
Destructor. More... | |
scalar | timeStart () const |
Return const access to the time start. More... | |
scalar | duration () const |
Return const access to the duration. More... | |
bool | inTimeLimits (const scalar time) const |
Return true if within time limits. More... | |
const selectionModeType & | selectionMode () const |
Return const access to the cell selection mode. More... | |
const word & | cellSetName () const |
Return const access to the name of cell set for "cellSet". More... | |
scalar | V () const |
Return const access to the total cell volume. More... | |
const labelList & | cells () const |
Return const access to the cell set. More... | |
scalar & | timeStart () |
Return access to the time start. More... | |
scalar & | duration () |
Return access to the duration. More... | |
virtual bool | isActive () |
Is the source active? More... | |
Public Member Functions inherited from option | |
TypeName ("option") | |
Runtime type information. More... | |
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) | |
Construct from components. More... | |
autoPtr< option > | clone () const |
Return clone. More... | |
virtual | ~option ()=default |
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... | |
bool | active () const |
Return const access to the source active flag. More... | |
void | setApplied (const label fieldi) |
Set the applied flag to true for field index fieldi. More... | |
Switch & | active () |
Return access to the source active flag. More... | |
virtual label | applyToField (const word &fieldName) const |
Return index of field name if found in fieldNames list. More... | |
virtual void | checkApplied () const |
Check that the source has been applied. More... | |
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 |
Write the source header information. More... | |
virtual void | writeFooter (Ostream &) const |
Write the source footer information. More... | |
virtual void | writeData (Ostream &) const |
Write the source properties. More... | |
Additional Inherited Members | |
Public Types inherited from cellSetOption | |
enum | selectionModeType { smPoints, smCellSet, smCellZone, smAll } |
Enumeration for selection mode types. More... | |
Static Public Member Functions inherited from option | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvOption model. More... | |
Public Attributes inherited from option | |
bool | log |
Switch write log to Info. More... | |
Static Public Attributes inherited from cellSetOption | |
static const Enum< selectionModeType > | selectionModeTypeNames_ |
List of selection mode type names. More... | |
Protected Member Functions inherited from cellSetOption | |
void | setSelection (const dictionary &dict) |
Set the cellSet or points selection. More... | |
void | setCellSet () |
Set the cell set based on the user input selection mode. More... | |
void | setVol () |
Recalculate the volume. More... | |
Protected Attributes inherited from cellSetOption | |
scalar | timeStart_ |
Start time of fvOption. More... | |
scalar | duration_ |
Duration of fvOption execution starting from timeStart. More... | |
selectionModeType | selectionMode_ |
Cell selection mode. More... | |
word | cellSetName_ |
Name of set/zone for "cellSet" and "cellZone" selectionMode. More... | |
List< point > | points_ |
List of points for "points" selectionMode. More... | |
labelList | cells_ |
Set of cells to apply source to. More... | |
scalar | V_ |
Sum of cell volumes. More... | |
Protected Attributes inherited from option | |
const word | name_ |
Source name. More... | |
const word | modelType_ |
Model type. More... | |
const fvMesh & | mesh_ |
Reference to the mesh database. More... | |
dictionary | dict_ |
Top level source dictionary. More... | |
dictionary | coeffs_ |
Dictionary containing source coefficients. More... | |
Switch | active_ |
Source active flag. More... | |
wordList | fieldNames_ |
Field names to apply source to - populated by derived models. More... | |
List< bool > | applied_ |
Applied flag list - corresponds to each fieldNames_ entry. More... | |
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 166 of file atmAmbientTurbSource.H.
atmAmbientTurbSource | ( | const word & | sourceName, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from explicit source name and mesh.
Definition at line 47 of file atmAmbientTurbSource.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, tmp< T >::isTmp(), Log, Foam::name(), Foam::nl, and dictionary::read().
|
delete |
No copy construct.
TypeName | ( | "atmAmbientTurbSource" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Add explicit contribution to epsilon or omega equation for incompressible flow computations
Reimplemented from option.
Definition at line 154 of file atmAmbientTurbSource.C.
|
virtual |
Add explicit contribution to epsilon or omega equation for compressible flow computations
Reimplemented from option.
Definition at line 195 of file atmAmbientTurbSource.C.
References rho.
|
virtual |
Add explicit contribution to epsilon or omega equation for multiphase flow computations
Reimplemented from option.
Definition at line 219 of file atmAmbientTurbSource.C.
References Foam::constant::atomic::alpha, and rho.
|
inlinevirtual |
Read source dictionary (effectively no-op)
Reimplemented from cellSetOption.
Definition at line 279 of file atmAmbientTurbSource.H.