mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
DOC-STYLE: various release changes
This commit is contained in:
@ -48,6 +48,7 @@ Foam::epsilonWallFunctionFvPatchScalarField::blendingTypeNames
|
|||||||
|
|
||||||
Foam::scalar Foam::epsilonWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
|
Foam::scalar Foam::epsilonWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||||
|
|
||||||
void Foam::epsilonWallFunctionFvPatchScalarField::setMaster()
|
void Foam::epsilonWallFunctionFvPatchScalarField::setMaster()
|
||||||
|
|||||||
@ -74,7 +74,7 @@ Usage
|
|||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: epsilonWallFunction | word | yes | -
|
type | Type name: epsilonWallFunction | word | yes | -
|
||||||
lowReCorrection | Flag for low-Re correction | bool | no | false
|
lowReCorrection | Flag: apply low-Re correction | bool | no | false
|
||||||
blending | Viscous/inertial sublayer blending method <!--
|
blending | Viscous/inertial sublayer blending method <!--
|
||||||
--> | word | no | stepwise
|
--> | word | no | stepwise
|
||||||
n | Binomial blending exponent | scalar | no | 2.0
|
n | Binomial blending exponent | scalar | no | 2.0
|
||||||
@ -189,8 +189,6 @@ class epsilonWallFunctionFvPatchScalarField
|
|||||||
:
|
:
|
||||||
public fixedValueFvPatchField<scalar>
|
public fixedValueFvPatchField<scalar>
|
||||||
{
|
{
|
||||||
private:
|
|
||||||
|
|
||||||
// Private Enumerations
|
// Private Enumerations
|
||||||
|
|
||||||
//- Options for the blending treatment of viscous and inertial sublayers
|
//- Options for the blending treatment of viscous and inertial sublayers
|
||||||
|
|||||||
@ -32,8 +32,10 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a simple wrapper around the zero-gradient
|
This boundary condition provides a simple wrapper around the zero-gradient
|
||||||
condition, which can be used for \c k, \c q, and \c R fields for
|
condition, which can be used for the turbulent kinetic energy, i.e. \c k,
|
||||||
the case of high Reynolds number flow using wall functions.
|
square-root of turbulent kinetic energy, i.e. \c q, and Reynolds stress
|
||||||
|
tensor fields, i.e. \c R, for the cases of high Reynolds number flow
|
||||||
|
using wall functions.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
|
|||||||
@ -31,8 +31,8 @@ Group
|
|||||||
grpWallFunctions
|
grpWallFunctions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the
|
||||||
viscosity, i.e. \c nut for low Reynolds number models.
|
turbulent viscosity, i.e. \c nut, for low Reynolds number models.
|
||||||
It sets \c nut to zero, and provides an access function to calculate \c y+.
|
It sets \c nut to zero, and provides an access function to calculate \c y+.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
|||||||
@ -31,8 +31,10 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions based on
|
viscosity, i.e. \c nut, based on velocity, i.e. \c U, using a
|
||||||
a blending of viscous and inertial sublayer contributions.
|
binomial-function wall-function blending method between the viscous
|
||||||
|
and inertial sublayer predictions of \c nut for low- and high-Reynolds
|
||||||
|
number turbulence models.
|
||||||
|
|
||||||
\f[
|
\f[
|
||||||
u_\tau = (u_{\tau,v}^n + u_{\tau,l}^n)^{1/n}
|
u_\tau = (u_{\tau,v}^n + u_{\tau,l}^n)^{1/n}
|
||||||
@ -46,12 +48,13 @@ Description
|
|||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
See the section that describes 'automatic wall treatment'
|
|
||||||
\verbatim
|
\verbatim
|
||||||
|
See the section that describes 'automatic wall treatment':
|
||||||
Menter, F., Ferreira, J. C., Esch, T., Konno, B. (2003).
|
Menter, F., Ferreira, J. C., Esch, T., Konno, B. (2003).
|
||||||
The SST Turbulence Model with Improved Wall Treatment
|
The SST turbulence model with improved wall treatment
|
||||||
for Heat Transfer Predictions in Gas Turbines.
|
for heat transfer predictions in gas turbines.
|
||||||
Proceedings of the International Gas Turbine Congress 2003 Tokyo
|
In Proceedings of the International Gas Turbine Congress.
|
||||||
|
November, 2003. Tokyo, Japan. pp. 2-7.
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
@ -62,7 +65,7 @@ Usage
|
|||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type nutUBlendedWallFunction;
|
type nutUBlendedWallFunction;
|
||||||
|
|
||||||
// Optional entries
|
// Optional entries (unmodifiable)
|
||||||
n 4.0;
|
n 4.0;
|
||||||
|
|
||||||
// Optional (inherited) entries
|
// Optional (inherited) entries
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions for rough walls,
|
viscosity, i.e. \c nut, based on velocity i.e. \c U, for low- and
|
||||||
based on velocity, \c U.
|
high-Reynolds number turbulence models for rough walls.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
@ -74,9 +74,6 @@ Note
|
|||||||
\c turbulence->validate) returns a slightly different value every time
|
\c turbulence->validate) returns a slightly different value every time
|
||||||
it is called.
|
it is called.
|
||||||
See \link nutUSpaldingWallFunctionFvPatchScalarField.C \endlink.
|
See \link nutUSpaldingWallFunctionFvPatchScalarField.C \endlink.
|
||||||
- Can be avoided by seeding the NR with e.g. the laminar viscosity
|
|
||||||
or tightening the convergence tolerance to e.g. 1e-7 and the max
|
|
||||||
number of iterations to 100.
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
nutURoughWallFunctionFvPatchScalarField.C
|
nutURoughWallFunctionFvPatchScalarField.C
|
||||||
|
|||||||
@ -32,9 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions for rough walls,
|
viscosity, i.e. \c nut, based on velocity, i.e. \c U. Using Spalding's
|
||||||
based on velocity, \c U, using Spalding's law to give a continuous \c nut
|
law gives a continuous \c nut profile to the wall.
|
||||||
profile to the wall (y+ = 0)
|
|
||||||
|
|
||||||
\f[
|
\f[
|
||||||
y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
|
y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
|
||||||
@ -81,13 +80,11 @@ Note
|
|||||||
\c turbulence->validate) returns a slightly different value every time
|
\c turbulence->validate) returns a slightly different value every time
|
||||||
it is called. This is since the seed for the Newton-Raphson iteration
|
it is called. This is since the seed for the Newton-Raphson iteration
|
||||||
uses the current value of \c *this (\c =nut ).
|
uses the current value of \c *this (\c =nut ).
|
||||||
|
|
||||||
- This can be avoided by overriding the tolerance. This also switches on
|
- This can be avoided by overriding the tolerance. This also switches on
|
||||||
a pre-detection whether the current nut already satisfies the turbulence
|
a pre-detection whether the current nut already satisfies the turbulence
|
||||||
conditions and if so does not change it at all. This means that the nut
|
conditions and if so does not change it at all. This means that the nut
|
||||||
only changes if it 'has really changed'. This probably should be used with
|
only changes if it 'has really changed'. This probably should be used with
|
||||||
a tight tolerance, to make sure to kick every iteration, e.g.
|
a tight tolerance, to make sure to kick every iteration, e.g.
|
||||||
|
|
||||||
maxIter 100;
|
maxIter 100;
|
||||||
tolerance 1e-7;
|
tolerance 1e-7;
|
||||||
|
|
||||||
|
|||||||
@ -32,10 +32,10 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions, based on
|
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
|
||||||
velocity, i.e. \c U.
|
high-Reynolds number turbulence models.
|
||||||
|
|
||||||
As input, the user specifies a look-up table of \c U+ as a function of
|
As input, the user specifies a look-up table of \c u+ as a function of
|
||||||
near-wall Reynolds number.
|
near-wall Reynolds number.
|
||||||
|
|
||||||
The table should be located in the \c $FOAM_CASE/constant directory.
|
The table should be located in the \c $FOAM_CASE/constant directory.
|
||||||
@ -58,7 +58,7 @@ Usage
|
|||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: nutUTabulatedWallFunction | word | yes | -
|
type | Type name: nutUTabulatedWallFunction | word | yes | -
|
||||||
uPlusTable | U+ as a function of Re table name | word | yes | -
|
uPlusTable | u+ as a function of Re table name | word | yes | -
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions, based on
|
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
|
||||||
velocity, \c U.
|
high-Reynolds number turbulence models.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
|
|||||||
@ -35,6 +35,8 @@ Description
|
|||||||
boundary conditions which provide a wall constraint on various fields, such
|
boundary conditions which provide a wall constraint on various fields, such
|
||||||
as turbulent viscosity, i.e. \c nut, or turbulent kinetic energy dissipation
|
as turbulent viscosity, i.e. \c nut, or turbulent kinetic energy dissipation
|
||||||
rate, i.e. \c epsilon, for low- and high-Reynolds number turbulence models.
|
rate, i.e. \c epsilon, for low- and high-Reynolds number turbulence models.
|
||||||
|
The class is not an executable itself, yet a provider for common entries
|
||||||
|
to its derived boundary conditions.
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -72,6 +74,7 @@ Usage
|
|||||||
E 9.8;
|
E 9.8;
|
||||||
blending stepwise;
|
blending stepwise;
|
||||||
n 4.0;
|
n 4.0;
|
||||||
|
U U;
|
||||||
|
|
||||||
// Optional (inherited) entries
|
// Optional (inherited) entries
|
||||||
...
|
...
|
||||||
@ -86,6 +89,7 @@ Usage
|
|||||||
E | Wall roughness parameter | scalar | no | 9.8
|
E | Wall roughness parameter | scalar | no | 9.8
|
||||||
blending | Viscous/inertial sublayer blending | word | no | stepwise
|
blending | Viscous/inertial sublayer blending | word | no | stepwise
|
||||||
n | Binomial blending exponent | scalar | no | 2.0
|
n | Binomial blending exponent | scalar | no | 2.0
|
||||||
|
U | Name of the velocity field | word | no | U
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
@ -151,11 +155,8 @@ Usage
|
|||||||
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
|
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Note
|
|
||||||
- \c nutWallFunction is not directly usable.
|
|
||||||
|
|
||||||
See also
|
See also
|
||||||
Foam::fixedValueFvPatchField
|
- Foam::fixedValueFvPatchField
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
nutWallFunctionFvPatchScalarField.C
|
nutWallFunctionFvPatchScalarField.C
|
||||||
|
|||||||
@ -32,9 +32,10 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
kinematic viscosity, i.e. \c nut, when using wall functions for rough walls,
|
viscosity, i.e. \c nut, when using wall functions for rough walls,
|
||||||
based on the turbulent kinetic energy, \c k. The condition manipulates the
|
based on the turbulent kinetic energy, i.e. \c k. The condition
|
||||||
wall roughness parameter, i.e. \c E, to account for roughness effects.
|
manipulates the wall roughness parameter, i.e. \c E, to account
|
||||||
|
for roughness effects.
|
||||||
|
|
||||||
Parameter ranges:
|
Parameter ranges:
|
||||||
- roughness height = sand-grain roughness (0 for smooth walls)
|
- roughness height = sand-grain roughness (0 for smooth walls)
|
||||||
@ -105,7 +106,7 @@ protected:
|
|||||||
//- Compute the roughness function
|
//- Compute the roughness function
|
||||||
virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const;
|
virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const;
|
||||||
|
|
||||||
//- Calculate the turbulence viscosity
|
//- Calculate the turbulent viscosity
|
||||||
virtual tmp<scalarField> calcNut() const;
|
virtual tmp<scalarField> calcNut() const;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, when using wall functions,
|
viscosity, i.e. \c nut, based on the turbulent kinetic energy,
|
||||||
based on the turbulent kinetic energy, \c k.
|
i.e. \c k, for for low- and high-Reynolds number turbulence models.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
|
|||||||
@ -80,11 +80,10 @@ Usage
|
|||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: omegaWallFunction | word | yes | -
|
type | Type name: omegaWallFunction | word | yes | -
|
||||||
blended | Blending switch (Deprecated) | bool | no | true
|
|
||||||
beta1 | Model coefficient | scalar | no | 0.075
|
beta1 | Model coefficient | scalar | no | 0.075
|
||||||
blending | Viscous/inertial sublayer blending method <!--
|
blending | Viscous/inertial sublayer blending method <!--
|
||||||
--> | word | no | binomial2
|
--> | word | no | binomial2
|
||||||
n | Binomial blending exponent | sclar | no | 2.0
|
n | Binomial blending exponent | scalar | no | 2.0
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
@ -185,10 +184,10 @@ Note
|
|||||||
the specified \c nutWallFunction in order to ensure that each patch
|
the specified \c nutWallFunction in order to ensure that each patch
|
||||||
possesses the same set of values for these coefficients.
|
possesses the same set of values for these coefficients.
|
||||||
- The reason why \c binomial2 and \c binomial blending methods exist at
|
- The reason why \c binomial2 and \c binomial blending methods exist at
|
||||||
the same time is to ensure the elementwise backward compatibility with
|
the same time is to ensure the bitwise regression with the previous
|
||||||
the previous versions since \c binomial2 and \c binomial with n=2 will
|
versions since \c binomial2 and \c binomial with \c n=2 will yield
|
||||||
yield slightly different output due to the miniscule differences in the
|
slightly different output due to the miniscule differences in the
|
||||||
implementation of the basic functions (i.e. pow, sqrt, sqr).
|
implementation of the basic functions (i.e. \c pow, \c sqrt, \c sqr).
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::epsilonWallFunctionFvPatchScalarField
|
- Foam::epsilonWallFunctionFvPatchScalarField
|
||||||
@ -218,8 +217,6 @@ class omegaWallFunctionFvPatchScalarField
|
|||||||
:
|
:
|
||||||
public fixedValueFvPatchField<scalar>
|
public fixedValueFvPatchField<scalar>
|
||||||
{
|
{
|
||||||
private:
|
|
||||||
|
|
||||||
// Private Enumerations
|
// Private Enumerations
|
||||||
|
|
||||||
//- Options for the blending treatment of viscous and inertial sublayers
|
//- Options for the blending treatment of viscous and inertial sublayers
|
||||||
|
|||||||
@ -31,7 +31,7 @@ Group
|
|||||||
grpRASBoundaryConditions grpInletBoundaryConditions
|
grpRASBoundaryConditions grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Base class to set log-law type ground-normal inflow boundary conditions for
|
Base class to set log-law type ground-normal inlet boundary conditions for
|
||||||
wind velocity and turbulence quantities for homogeneous, two-dimensional,
|
wind velocity and turbulence quantities for homogeneous, two-dimensional,
|
||||||
dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling.
|
dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling.
|
||||||
|
|
||||||
@ -85,15 +85,6 @@ Description
|
|||||||
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Note
|
|
||||||
- The \c RH expressions are special cases of those in \c YGCJ when \c C1=0
|
|
||||||
and \c C2=1. Both \c C1 and \c C2 can be determined by nonlinear fitting
|
|
||||||
of (\c YGCJ:Eq. 19) with an experimental dataset for \c k. By default,
|
|
||||||
\c atmBoundaryLayerInlet boundary conditions compute \c RH expressions.
|
|
||||||
- \c z is the ground-normal height relative to the global minimum height
|
|
||||||
of the inlet patch; therefore, the minimum of \c z is always zero
|
|
||||||
irrespective of the absolute z-coordinate of the computational patch.
|
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
\verbatim
|
\verbatim
|
||||||
The ground-normal profile expressions (tag:RH):
|
The ground-normal profile expressions (tag:RH):
|
||||||
@ -135,6 +126,35 @@ Note
|
|||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
Example of the entries provided for the inherited boundary conditions:
|
||||||
|
\verbatim
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
// Mandatory and other optional entries
|
||||||
|
...
|
||||||
|
|
||||||
|
// Mandatory (inherited) entries (runtime modifiable)
|
||||||
|
flowDir (1 0 0);
|
||||||
|
zDir (0 0 1);
|
||||||
|
Uref 10.0;
|
||||||
|
Zref 0.0;
|
||||||
|
z0 uniform 0.1;
|
||||||
|
d uniform 0.0;
|
||||||
|
|
||||||
|
// Optional (inherited) entries (unmodifiable)
|
||||||
|
kappa 0.41;
|
||||||
|
Cmu 0.09;
|
||||||
|
initABL true;
|
||||||
|
phi phi;
|
||||||
|
C1 0.0;
|
||||||
|
C2 1.0;
|
||||||
|
|
||||||
|
// Conditional mandatory (inherited) entries (runtime modifiable)
|
||||||
|
value uniform 0; // when initABL=false
|
||||||
|
}
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
|
where the entries mean:
|
||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Deflt
|
Property | Description | Type | Req'd | Deflt
|
||||||
flowDir | Flow direction | TimeFunction1<vector> | yes | -
|
flowDir | Flow direction | TimeFunction1<vector> | yes | -
|
||||||
@ -160,6 +180,13 @@ Usage
|
|||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
Note
|
Note
|
||||||
|
- The \c RH expressions are special cases of those in \c YGCJ when \c C1=0
|
||||||
|
and \c C2=1. Both \c C1 and \c C2 can be determined by nonlinear fitting
|
||||||
|
of (\c YGCJ:Eqs. 19-20) with an experimental dataset for \c k. By default,
|
||||||
|
\c atmBoundaryLayerInlet boundary conditions compute \c RH expressions.
|
||||||
|
- \c z is the ground-normal height relative to the global minimum height
|
||||||
|
of the inlet patch; therefore, the minimum of \c z is always zero
|
||||||
|
irrespective of the absolute z-coordinate of the computational patch.
|
||||||
- The derived ABL expressions automatically satisfy the simplified transport
|
- The derived ABL expressions automatically satisfy the simplified transport
|
||||||
equation for \c k. Yet the same expressions only satisfy the simplified
|
equation for \c k. Yet the same expressions only satisfy the simplified
|
||||||
transport equation for \c epsilon when the model constants \c sigmaEpsilon
|
transport equation for \c epsilon when the model constants \c sigmaEpsilon
|
||||||
@ -176,11 +203,10 @@ Note
|
|||||||
with obstacles such as trees or buildings" (E:p. 28).
|
with obstacles such as trees or buildings" (E:p. 28).
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
|
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
|
- Foam::atmBoundaryLayerInletKFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
|
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
|
||||||
- ExtendedCodeGuide::atmBoundaryLayer
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmBoundaryLayer.C
|
atmBoundaryLayer.C
|
||||||
|
|||||||
@ -31,10 +31,10 @@ Group
|
|||||||
grpRASBoundaryConditions grpInletBoundaryConditions
|
grpRASBoundaryConditions grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a log-law type ground-normal inflow
|
This boundary condition provides a log-law type ground-normal inlet
|
||||||
boundary condition for turbulent kinetic energy dissipation rate, i.e.
|
boundary condition for the turbulent kinetic energy dissipation rate,
|
||||||
\c epsilon, for homogeneous, two-dimensional, dry-air, equilibrium and
|
i.e. \c epsilon, for homogeneous, two-dimensional, dry-air, equilibrium
|
||||||
neutral atmospheric boundary layer modelling.
|
and neutral atmospheric boundary layer modelling.
|
||||||
|
|
||||||
The ground-normal \c epsilon profile expression:
|
The ground-normal \c epsilon profile expression:
|
||||||
|
|
||||||
@ -55,12 +55,12 @@ Description
|
|||||||
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Usage
|
Required fields:
|
||||||
\heading Required fields
|
\verbatim
|
||||||
\plaintable
|
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
|
||||||
epsilon | Turbulent kinetic energy dissipation rate [m^2/s^3]
|
\endverbatim
|
||||||
\endplaintable
|
|
||||||
|
|
||||||
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
inlet
|
inlet
|
||||||
@ -68,37 +68,26 @@ Usage
|
|||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type atmBoundaryLayerInletEpsilon;
|
type atmBoundaryLayerInletEpsilon;
|
||||||
|
|
||||||
// Mandatory (inherited) entries (unmodifiable)
|
// Mandatory/Optional (inherited) entries (unmodifiable)
|
||||||
flowDir (1 0 0);
|
...
|
||||||
z (0 0 1);
|
|
||||||
Uref 10.0;
|
|
||||||
Zref 0.0;
|
|
||||||
z0 uniform 0.1;
|
|
||||||
d uniform 0.0;
|
|
||||||
|
|
||||||
// Optional (inherited) entries (unmodifiable)
|
|
||||||
kappa 0.41;
|
|
||||||
Cmu 0.09;
|
|
||||||
initABL true;
|
|
||||||
phi phi;
|
|
||||||
C1 0.0;
|
|
||||||
C2 1.0;
|
|
||||||
|
|
||||||
// Conditional mandatory (inherited) entries (runtime modifiable)
|
|
||||||
value uniform 0; // when initABL=false
|
|
||||||
}
|
}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
where the entries mean:
|
||||||
|
\table
|
||||||
|
Property | Description | Type | Req'd | Deflt
|
||||||
|
type | Type name: atmBoundaryLayerInletEpsilon | word | yes | -
|
||||||
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link atmBoundaryLayer.H \endlink
|
- \link atmBoundaryLayer.H \endlink
|
||||||
- \link inletOutletFvPatchField.H \endlink
|
- \link inletOutletFvPatchField.H \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::atmBoundaryLayer
|
- Foam::atmBoundaryLayer
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
|
- Foam::atmBoundaryLayerInletKFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
|
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
|
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
|
||||||
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletEpsilon
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmBoundaryLayerInletEpsilonFvPatchScalarField.C
|
atmBoundaryLayerInletEpsilonFvPatchScalarField.C
|
||||||
|
|||||||
@ -31,8 +31,8 @@ Group
|
|||||||
grpRASBoundaryConditions grpInletBoundaryConditions
|
grpRASBoundaryConditions grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a log-law type ground-normal inflow
|
This boundary condition provides a log-law type ground-normal inlet
|
||||||
boundary condition for turbulent kinetic energy, i.e. \c k,
|
boundary condition for the turbulent kinetic energy, i.e. \c k,
|
||||||
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
|
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
|
||||||
atmospheric boundary layer modelling.
|
atmospheric boundary layer modelling.
|
||||||
|
|
||||||
@ -52,12 +52,12 @@ Description
|
|||||||
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Usage
|
Required fields:
|
||||||
\heading Required fields
|
\verbatim
|
||||||
\plaintable
|
k | Turbulent kinetic energy [m2/s2]
|
||||||
k | Turbulent kinetic energy [m^2/s^2]
|
\endverbatim
|
||||||
\endplaintable
|
|
||||||
|
|
||||||
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
inlet
|
inlet
|
||||||
@ -65,37 +65,28 @@ Usage
|
|||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type atmBoundaryLayerInletK;
|
type atmBoundaryLayerInletK;
|
||||||
|
|
||||||
// Mandatory (inherited) entries (unmodifiable)
|
// Mandatory/Optional (inherited) entries (unmodifiable)
|
||||||
Uref 10.0;
|
...
|
||||||
Zref 0.0;
|
|
||||||
z0 uniform 0.1;
|
|
||||||
d uniform 0.0;
|
|
||||||
flowDir (1 0 0); // not used
|
flowDir (1 0 0); // not used
|
||||||
z (0 0 1); // not used
|
zDir (0 0 1); // not used
|
||||||
|
|
||||||
// Optional (inherited) entries (unmodifiable)
|
|
||||||
kappa 0.41;
|
|
||||||
Cmu 0.09;
|
|
||||||
initABL true;
|
|
||||||
phi phi;
|
|
||||||
C1 0.0;
|
|
||||||
C2 1.0;
|
|
||||||
|
|
||||||
// Conditional mandatory (inherited) entries (runtime modifiable)
|
|
||||||
value uniform 0; // when initABL=false
|
|
||||||
}
|
}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
where the entries mean:
|
||||||
|
\table
|
||||||
|
Property | Description | Type | Req'd | Deflt
|
||||||
|
type | Type name: atmBoundaryLayerInletK | word | yes | -
|
||||||
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link atmBoundaryLayer.H \endlink
|
- \link atmBoundaryLayer.H \endlink
|
||||||
- \link inletOutletFvPatchField.H \endlink
|
- \link inletOutletFvPatchField.H \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::atmBoundaryLayer
|
- Foam::atmBoundaryLayer
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
|
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
|
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
|
||||||
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletK
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmBoundaryLayerInletKFvPatchScalarField.C
|
atmBoundaryLayerInletKFvPatchScalarField.C
|
||||||
|
|||||||
@ -29,8 +29,8 @@ Group
|
|||||||
grpRASBoundaryConditions grpInletBoundaryConditions
|
grpRASBoundaryConditions grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a log-law type ground-normal inflow
|
This boundary condition provides a log-law type ground-normal inlet
|
||||||
boundary condition for specific dissipation rate, i.e. \c omega,
|
boundary condition for the specific dissipation rate, i.e. \c omega,
|
||||||
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
|
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
|
||||||
atmospheric boundary layer modelling.
|
atmospheric boundary layer modelling.
|
||||||
|
|
||||||
@ -51,12 +51,12 @@ Description
|
|||||||
z_0 | Aerodynamic roughness length [m]
|
z_0 | Aerodynamic roughness length [m]
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Usage
|
Required fields:
|
||||||
\heading Required fields
|
\verbatim
|
||||||
\plaintable
|
|
||||||
omega | Specific dissipation rate [1/s]
|
omega | Specific dissipation rate [1/s]
|
||||||
\endplaintable
|
\endverbatim
|
||||||
|
|
||||||
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
inlet
|
inlet
|
||||||
@ -64,37 +64,26 @@ Usage
|
|||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type atmBoundaryLayerInletOmega;
|
type atmBoundaryLayerInletOmega;
|
||||||
|
|
||||||
// Mandatory (inherited) entries (unmodifiable)
|
// Mandatory/Optional (inherited) entries (unmodifiable)
|
||||||
flowDir (1 0 0);
|
...
|
||||||
z (0 0 1);
|
|
||||||
Uref 10.0;
|
|
||||||
Zref 0.0;
|
|
||||||
z0 uniform 0.1;
|
|
||||||
d uniform 0.0;
|
|
||||||
|
|
||||||
// Optional (inherited) entries (unmodifiable)
|
|
||||||
kappa 0.41;
|
|
||||||
Cmu 0.09;
|
|
||||||
initABL true;
|
|
||||||
phi phi;
|
|
||||||
C1 0.0;
|
|
||||||
C2 1.0;
|
|
||||||
|
|
||||||
// Conditional mandatory (inherited) entries (runtime modifiable)
|
|
||||||
value uniform 0; // when initABL=false
|
|
||||||
}
|
}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
where the entries mean:
|
||||||
|
\table
|
||||||
|
Property | Description | Type | Req'd | Deflt
|
||||||
|
type | Type name: atmBoundaryLayerInletOmega | word | yes | -
|
||||||
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link atmBoundaryLayer.H \endlink
|
- \link atmBoundaryLayer.H \endlink
|
||||||
- \link inletOutletFvPatchField.H \endlink
|
- \link inletOutletFvPatchField.H \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::atmBoundaryLayer
|
- Foam::atmBoundaryLayer
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVelocityField
|
- Foam::atmBoundaryLayerInletVelocityFvPatchVelocityField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
|
- Foam::atmBoundaryLayerInletKFvPatchScalarField
|
||||||
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletOmega
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmBoundaryLayerInletOmegaFvPatchScalarField.C
|
atmBoundaryLayerInletOmegaFvPatchScalarField.C
|
||||||
|
|||||||
@ -31,10 +31,10 @@ Group
|
|||||||
grpRASBoundaryConditions grpInletBoundaryConditions
|
grpRASBoundaryConditions grpInletBoundaryConditions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a log-law type ground-normal inflow
|
This boundary condition provides a log-law type ground-normal inlet
|
||||||
boundary condition for streamwise component of wind velocity, i.e. \c u,
|
boundary condition for the streamwise component of wind velocity,
|
||||||
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
|
i.e. \c u, for homogeneous, two-dimensional, dry-air, equilibrium
|
||||||
atmospheric boundary layer modelling.
|
and neutral atmospheric boundary layer modelling.
|
||||||
|
|
||||||
The ground-normal streamwise flow speed profile expression:
|
The ground-normal streamwise flow speed profile expression:
|
||||||
|
|
||||||
@ -58,12 +58,12 @@ Description
|
|||||||
z_0 | Aerodynamic roughness length [m]
|
z_0 | Aerodynamic roughness length [m]
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Usage
|
Required fields:
|
||||||
\heading Required fields
|
\verbatim
|
||||||
\plaintable
|
|
||||||
U | Velocity [m/s]
|
U | Velocity [m/s]
|
||||||
\endplaintable
|
\endverbatim
|
||||||
|
|
||||||
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
inlet
|
inlet
|
||||||
@ -71,37 +71,26 @@ Usage
|
|||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type atmBoundaryLayerInletVelocity;
|
type atmBoundaryLayerInletVelocity;
|
||||||
|
|
||||||
// Mandatory (inherited) entries (unmodifiable)
|
// Mandatory/Optional (inherited) entries (unmodifiable)
|
||||||
flowDir (1 0 0);
|
...
|
||||||
z (0 0 1);
|
|
||||||
Uref 10.0;
|
|
||||||
Zref 0.0;
|
|
||||||
z0 uniform 0.1;
|
|
||||||
d uniform 0.0;
|
|
||||||
|
|
||||||
// Optional (inherited) entries (unmodifiable)
|
|
||||||
kappa 0.41;
|
|
||||||
Cmu 0.09;
|
|
||||||
initABL true;
|
|
||||||
phi phi;
|
|
||||||
C1 0.0;
|
|
||||||
C2 1.0;
|
|
||||||
|
|
||||||
// Conditional mandatory (inherited) entries (runtime modifiable)
|
|
||||||
value uniform (0 0 0); // when initABL=false
|
|
||||||
}
|
}
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
where the entries mean:
|
||||||
|
\table
|
||||||
|
Property | Description | Type | Req'd | Deflt
|
||||||
|
type | Type name: atmBoundaryLayerInletVelocity | word | yes | -
|
||||||
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link atmBoundaryLayer.H \endlink
|
- \link atmBoundaryLayer.H \endlink
|
||||||
- \link inletOutletFvPatchField.H \endlink
|
- \link inletOutletFvPatchField.H \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::atmBoundaryLayer
|
- Foam::atmBoundaryLayer
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
|
- Foam::atmBoundaryLayerInletKFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
|
||||||
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
|
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
|
||||||
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletVelocity
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmBoundaryLayerInletVelocityFvPatchVectorField.C
|
atmBoundaryLayerInletVelocityFvPatchVectorField.C
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a fixed heat constraint on temperature,
|
This boundary condition provides a fixed heat constraint on temperature,
|
||||||
i.e. \c T, to specify temperature gradient. Input heat source either
|
i.e. \c T, to specify temperature gradient through an input heat source
|
||||||
specified in terms of an absolute power [W], or as a flux [W/m2].
|
which can either be specified as absolute power [W], or as flux [W/m2].
|
||||||
|
|
||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -66,21 +66,23 @@ Usage
|
|||||||
heatSource | Heat source type | word | yes | -
|
heatSource | Heat source type | word | yes | -
|
||||||
alphaEff | Name of turbulent thermal diff. field [kg/m/s] <!--
|
alphaEff | Name of turbulent thermal diff. field [kg/m/s] <!--
|
||||||
--> | word | yes | -
|
--> | word | yes | -
|
||||||
Cp0 | Specific heat capacity | TimeFunction1<scalar> | yes | -
|
Cp0 | Specific heat capacity [m2/s2/K] <!--
|
||||||
q | Heat source value | PatchFunction1<scalar> | yes | -
|
--> | TimeFunction1<scalar> | yes | -
|
||||||
|
q | Heat source value [W (power) or W/m2 (flux)] <!--
|
||||||
|
--> | PatchFunction1<scalar> | yes | -
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
Options for the \c heatSource entry:
|
|
||||||
\verbatim
|
|
||||||
power | Absolute power heat source [W]
|
|
||||||
flux | Flux heat source [W/m^2]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link fixedGradientFvPatchScalarField.H \endlink
|
- \link fixedGradientFvPatchScalarField.H \endlink
|
||||||
- \link TimeFunction1.H \endlink
|
- \link TimeFunction1.H \endlink
|
||||||
- \link PatchFunction1.H \endlink
|
- \link PatchFunction1.H \endlink
|
||||||
|
|
||||||
|
Options for the \c heatSource entry:
|
||||||
|
\verbatim
|
||||||
|
power | Absolute power heat source [W]
|
||||||
|
flux | Flux heat source [W/m2]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
atmTurbulentHeatFluxTemperatureFvPatchScalarField.C
|
atmTurbulentHeatFluxTemperatureFvPatchScalarField.C
|
||||||
|
|
||||||
@ -128,7 +130,7 @@ class atmTurbulentHeatFluxTemperatureFvPatchScalarField
|
|||||||
//- Name of effective thermal diffusivity field [kg/m/s]
|
//- Name of effective thermal diffusivity field [kg/m/s]
|
||||||
word alphaEffName_;
|
word alphaEffName_;
|
||||||
|
|
||||||
//- Specific heat capacity [-]
|
//- Specific heat capacity [m2/s2/K]
|
||||||
TimeFunction1<scalar> Cp0_;
|
TimeFunction1<scalar> Cp0_;
|
||||||
|
|
||||||
//- Heat power [W] or flux [W/m2]
|
//- Heat power [W] or flux [W/m2]
|
||||||
|
|||||||
@ -44,6 +44,7 @@ scalar atmAlphatkWallFunctionFvPatchScalarField::tolerance_ = 0.01;
|
|||||||
|
|
||||||
label atmAlphatkWallFunctionFvPatchScalarField::maxIters_ = 10;
|
label atmAlphatkWallFunctionFvPatchScalarField::maxIters_ = 10;
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
void atmAlphatkWallFunctionFvPatchScalarField::checkType()
|
void atmAlphatkWallFunctionFvPatchScalarField::checkType()
|
||||||
|
|||||||
@ -31,10 +31,10 @@ Group
|
|||||||
grpAtmWallFunctions
|
grpAtmWallFunctions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on kinematic turbulent
|
This boundary condition provides a wall constraint on the kinematic
|
||||||
thermal conductivity, \c alphat, for atmospheric boundary layer modelling.
|
turbulent thermal conductivity, i.e. \c alphat, for atmospheric boundary
|
||||||
It assumes a logarithmic distribution of the potential temperature within
|
layer modelling. It assumes a logarithmic distribution of the potential
|
||||||
the first cell.
|
temperature within the first cell.
|
||||||
|
|
||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -47,7 +47,7 @@ Usage
|
|||||||
<patchName>
|
<patchName>
|
||||||
{
|
{
|
||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type alphatkAtmWallFunction;
|
type atmAlphatkWallFunction;
|
||||||
|
|
||||||
// Mandatory entries (runtime modifiable)
|
// Mandatory entries (runtime modifiable)
|
||||||
Pr 0.90;
|
Pr 0.90;
|
||||||
@ -66,7 +66,7 @@ Usage
|
|||||||
where the entries mean:
|
where the entries mean:
|
||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: alphatAtmWallFunction | word | yes | -
|
type | Type name: atmAlphatkWallFunction | word | yes | -
|
||||||
Pr | Molecular Prandtl number | TimeFunction1<scalar> | yes | -
|
Pr | Molecular Prandtl number | TimeFunction1<scalar> | yes | -
|
||||||
Prt | Turbulent Prandtl number | PatchFunction1<scalar> | yes | -
|
Prt | Turbulent Prandtl number | PatchFunction1<scalar> | yes | -
|
||||||
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
||||||
|
|||||||
@ -31,14 +31,10 @@ Group
|
|||||||
grpAtmWallFunctions
|
grpAtmWallFunctions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on turbulent kinetic
|
This boundary condition provides a wall constraint on the turbulent kinetic
|
||||||
energy dissipation rate, i.e. \c epsilon, for atmospheric boundary layer
|
energy dissipation rate, i.e. \c epsilon, and the turbulent kinetic energy
|
||||||
flows in neutral stratification conditions.
|
production contribution, i.e. \c G, for atmospheric boundary layer
|
||||||
|
modelling.
|
||||||
Required fields:
|
|
||||||
\verbatim
|
|
||||||
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
References:
|
References:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -56,6 +52,11 @@ Description
|
|||||||
DOI:10.1016/B978-0-444-81688-7.50018-8
|
DOI:10.1016/B978-0-444-81688-7.50018-8
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -81,7 +82,6 @@ Usage
|
|||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link epsilonWallFunctionFvPatchScalarField.H \endlink
|
- \link epsilonWallFunctionFvPatchScalarField.H \endlink
|
||||||
- \link nutWallFunctionFvPatchScalarField.H \endlink
|
|
||||||
- \link PatchFunction1 \endlink
|
- \link PatchFunction1 \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
|
|||||||
@ -32,9 +32,9 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, based on velocity, \c U, for atmospheric boundary
|
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for atmospheric
|
||||||
layer modelling. It is designed to be used in conjunction with the
|
boundary layer modelling. It is designed to be used in conjunction
|
||||||
\c atmBoundaryLayerInletVelocity boundary condition.
|
with the \c atmBoundaryLayerInletVelocity boundary condition.
|
||||||
|
|
||||||
The governing equation of the boundary condition:
|
The governing equation of the boundary condition:
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ Usage
|
|||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: atmNutUWallFunction | word | yes | -
|
type | Type name: atmNutUWallFunction | word | yes | -
|
||||||
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
||||||
boundNut | Flag: zero-bound nut at the wall | bool | no | true
|
boundNut | Flag: zero-bound nut near wall | bool | no | true
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on the turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, based on turbulent kinetic energy, \c k, and
|
viscosity, i.e. \c nut, based on the turbulent kinetic energy, \c k,
|
||||||
velocity, i.e. \c U, for atmospheric boundary layer modelling.
|
and velocity, i.e. \c U, for atmospheric boundary layer modelling.
|
||||||
|
|
||||||
The governing equation of the boundary condition:
|
The governing equation of the boundary condition:
|
||||||
|
|
||||||
@ -64,14 +64,9 @@ Description
|
|||||||
k | turbulent kinetic energy
|
k | turbulent kinetic energy
|
||||||
\endvartable
|
\endvartable
|
||||||
|
|
||||||
Required fields:
|
|
||||||
\verbatim
|
|
||||||
nut | Turbulent viscosity [m2/s]
|
|
||||||
k | Turbulent kinetic energy [m2/s2]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
References:
|
References:
|
||||||
\verbatim
|
\verbatim
|
||||||
|
Theoretical expressions (tags:RH, SBJM, SM):
|
||||||
Richards, P. J., & Hoxey, R. P. (1993).
|
Richards, P. J., & Hoxey, R. P. (1993).
|
||||||
Appropriate boundary conditions for computational wind
|
Appropriate boundary conditions for computational wind
|
||||||
engineering models using the k-ε turbulence model.
|
engineering models using the k-ε turbulence model.
|
||||||
@ -82,16 +77,24 @@ Description
|
|||||||
Botha, P., Vinther, S., & Nielsen, B. S. (2007).
|
Botha, P., Vinther, S., & Nielsen, B. S. (2007).
|
||||||
Identification of severe wind conditions using
|
Identification of severe wind conditions using
|
||||||
a Reynolds Averaged Navier-Stokes solver.
|
a Reynolds Averaged Navier-Stokes solver.
|
||||||
In Journal of Physics: Conference series (Vol. 75, No. 1, p. 012053).
|
In Journal of Physics: Conference
|
||||||
|
series (Vol. 75, No. 1, p. 012053).
|
||||||
DOI:10.1088/1742-6596/75/1/012053
|
DOI:10.1088/1742-6596/75/1/012053
|
||||||
|
|
||||||
Sumner, J., & Masson, C. (2012).
|
Sumner, J., & Masson, C. (2012).
|
||||||
k− ε simulations of the neutral atmospheric boundary layer:
|
k−ε simulations of the neutral atmospheric boundary layer:
|
||||||
analysis and correction of discretization errors on practical grids.
|
analysis and correction of discretization errors on practical grids.
|
||||||
International journal for numerical methods in fluids, 70(6), 724-741.
|
International journal for numerical
|
||||||
|
methods in fluids, 70(6), 724-741.
|
||||||
DOI:10.1002/fld.2709
|
DOI:10.1002/fld.2709
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
nut | Turbulent viscosity [m2/s]
|
||||||
|
k | Turbulent kinetic energy [m2/s2]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|||||||
@ -32,8 +32,8 @@ Group
|
|||||||
grpAtmWallFunctions
|
grpAtmWallFunctions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on turbulent
|
This boundary condition provides a wall constraint on the turbulent
|
||||||
viscosity, i.e. \c nut, based on turbulent kinetic energy, \c k
|
viscosity, i.e. \c nut, based on the turbulent kinetic energy, i.e. \c k,
|
||||||
for atmospheric boundary layer modelling. It is designed to be used in
|
for atmospheric boundary layer modelling. It is designed to be used in
|
||||||
conjunction with the \c atmBoundaryLayerInletVelocity boundary condition.
|
conjunction with the \c atmBoundaryLayerInletVelocity boundary condition.
|
||||||
|
|
||||||
@ -67,6 +67,12 @@ Description
|
|||||||
DOI:10.1016/j.jweia.2006.08.002
|
DOI:10.1016/j.jweia.2006.08.002
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
nut | Turbulent viscosity [m2/s]
|
||||||
|
k | Turbulent kinetic energy [m2/s2]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -91,7 +97,7 @@ Usage
|
|||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: atmNutkWallFunction | word | yes | -
|
type | Type name: atmNutkWallFunction | word | yes | -
|
||||||
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
|
||||||
boundNut | Flag: zero-bound nut at the wall | bool | no | false
|
boundNut | Flag: zero-bound nut near wall | bool | no | false
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
@ -100,6 +106,7 @@ Usage
|
|||||||
|
|
||||||
Note
|
Note
|
||||||
- \c boundNut entry is set \c false for backward compatibility reasons.
|
- \c boundNut entry is set \c false for backward compatibility reasons.
|
||||||
|
- \c nutkAtmRoughWallFunction was renamed to \c atmNutkWallFunction.
|
||||||
|
|
||||||
See also
|
See also
|
||||||
- Foam::nutkWallFunctionFvPatchField
|
- Foam::nutkWallFunctionFvPatchField
|
||||||
|
|||||||
@ -31,13 +31,10 @@ Group
|
|||||||
grpAtmWallFunctions
|
grpAtmWallFunctions
|
||||||
|
|
||||||
Description
|
Description
|
||||||
This boundary condition provides a wall constraint on specific dissipation
|
This boundary condition provides a wall constraint on the specific
|
||||||
rate, i.e. \c omega, for atmospheric boundary layer modelling.
|
dissipation rate, i.e. \c omega, and the turbulent kinetic energy
|
||||||
|
production contribution, i.e. \c G, for atmospheric boundary
|
||||||
Required fields:
|
layer modelling.
|
||||||
\verbatim
|
|
||||||
omega | Specific dissipation rate [1/s]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
References:
|
References:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -54,6 +51,11 @@ Description
|
|||||||
Internal Report 00/4. Sweden: Göteborg.
|
Internal Report 00/4. Sweden: Göteborg.
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
omega | Specific dissipation rate [1/s]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example of the boundary condition specification:
|
Example of the boundary condition specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -79,7 +81,6 @@ Usage
|
|||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
- \link omegaWallFunctionFvPatchScalarField.H \endlink
|
- \link omegaWallFunctionFvPatchScalarField.H \endlink
|
||||||
- \link nutWallFunctionFvPatchScalarField.H \endlink
|
|
||||||
- \link PatchFunction1.H \endlink
|
- \link PatchFunction1.H \endlink
|
||||||
|
|
||||||
See also
|
See also
|
||||||
|
|||||||
@ -33,10 +33,10 @@ Group
|
|||||||
Description
|
Description
|
||||||
Computes the Obukhov length field and associated friction velocity field.
|
Computes the Obukhov length field and associated friction velocity field.
|
||||||
|
|
||||||
When scaled by the ground-normal height, i.e. z, the Obukhov length becomes
|
When scaled by the ground-normal height, i.e. \c z, the Obukhov length
|
||||||
a dimensionless stability parameter, i.e. z/L, for atmospheric boundary
|
becomes a dimensionless stability parameter, i.e. \c z/L, for atmospheric
|
||||||
layer modelling, expressing the relative roles of buoyancy and shear in the
|
boundary layer modelling, expressing the relative roles of buoyancy and
|
||||||
production and dissipation of turbulent kinetic energy.
|
shear in the production and dissipation of turbulent kinetic energy.
|
||||||
|
|
||||||
\f[
|
\f[
|
||||||
u^* = \sqrt{\max (\nu_t \sqrt{2 |\symm{\grad{\u}}|^2}, VSMALL)}
|
u^* = \sqrt{\max (\nu_t \sqrt{2 |\symm{\grad{\u}}|^2}, VSMALL)}
|
||||||
@ -134,7 +134,7 @@ Usage
|
|||||||
rhoRef | Reference density (to convert from kinematic to static <!--
|
rhoRef | Reference density (to convert from kinematic to static <!--
|
||||||
--> pressure) | scalar | no | 1.0
|
--> pressure) | scalar | no | 1.0
|
||||||
kappa | von Kármán constant | scalar | no | 0.40
|
kappa | von Kármán constant | scalar | no | 0.40
|
||||||
beta | Thermal expansion coefficient [1/K] | scalar | no | 3e-3
|
beta | Thermal expansion coefficient | scalar | no | 3e-3
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
|
|||||||
@ -34,7 +34,7 @@ Description
|
|||||||
Applies sources on \c k and either \c epsilon or \c omega to prevent them
|
Applies sources on \c k and either \c epsilon or \c omega to prevent them
|
||||||
droping below a specified ambient value for atmospheric boundary
|
droping below a specified ambient value for atmospheric boundary
|
||||||
layer modelling. Such adjustment reportedly increases numerical
|
layer modelling. Such adjustment reportedly increases numerical
|
||||||
stability for very stable atmospheric conditions, and prevents
|
stability for very stable atmospheric stability conditions, and prevents
|
||||||
nonphysical oscillations in regions of low shear at higher altitudes.
|
nonphysical oscillations in regions of low shear at higher altitudes.
|
||||||
|
|
||||||
Corrections applied to:
|
Corrections applied to:
|
||||||
@ -51,7 +51,7 @@ Description
|
|||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
k | Turbulent kinetic energy [m2/s2]
|
k | Turbulent kinetic energy [m2/s2]
|
||||||
epsilon/omega | Dissipation rate OR Specific dissipation rate [m2/s3]/[1/s]
|
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
References:
|
References:
|
||||||
@ -95,10 +95,10 @@ Usage
|
|||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: atmAmbientTurbSource | word | yes | -
|
type | Type name: atmAmbientTurbSource | word | yes | -
|
||||||
kAmb | Ambient value for k | scalar | yes | -
|
kAmb | Ambient value for \c k | scalar | yes | -
|
||||||
rho | Name of density field | word | no | rho
|
rho | Name of density field | word | no | rho
|
||||||
epsilonAmb | Ambient value for epsilon | scalar | no | 0.0
|
epsilonAmb | Ambient value for \c epsilon | scalar | no | 0.0
|
||||||
omegaAmb | Ambient value for omega | scalar | no | 0.0
|
omegaAmb | Ambient value for \c omega | scalar | no | 0.0
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
The inherited entries are elaborated in:
|
The inherited entries are elaborated in:
|
||||||
|
|||||||
@ -48,7 +48,7 @@ void Foam::fv::atmBuoyancyTurbSource::calcB()
|
|||||||
//- Temperature field [K]
|
//- Temperature field [K]
|
||||||
const volScalarField& T = mesh_.lookupObjectRef<volScalarField>("T");
|
const volScalarField& T = mesh_.lookupObjectRef<volScalarField>("T");
|
||||||
|
|
||||||
//- Turbulent heat transfer coefficient field [m2/s]
|
//- Kinematic turbulent thermal conductivity field [m2/s]
|
||||||
const volScalarField& alphat =
|
const volScalarField& alphat =
|
||||||
mesh_.lookupObjectRef<volScalarField>("alphat");
|
mesh_.lookupObjectRef<volScalarField>("alphat");
|
||||||
|
|
||||||
@ -149,19 +149,6 @@ Foam::fv::atmBuoyancyTurbSource::atmBuoyancyTurbSource
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
n_
|
|
||||||
(
|
|
||||||
dimensionedScalar
|
|
||||||
(
|
|
||||||
dimless,
|
|
||||||
coeffs_.getCheckOrDefault<scalar>
|
|
||||||
(
|
|
||||||
"n",
|
|
||||||
3.0,
|
|
||||||
[&](const scalar n){ return n > SMALL; }
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
beta_
|
beta_
|
||||||
(
|
(
|
||||||
dimensionedScalar
|
dimensionedScalar
|
||||||
|
|||||||
@ -48,9 +48,9 @@ Description
|
|||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
k | Turbulent kinetic energy [m2/s2]
|
k | Turbulent kinetic energy [m2/s2]
|
||||||
epsilon/omega | Dissipation rate OR Specific dissipation rate [m2/s3]/[1/s]
|
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
|
||||||
T | Temperature [K]
|
T | Temperature [K]
|
||||||
alphat | Turbulent heat tranfer coefficient [m2/s]
|
alphat | Kinematic turbulent thermal conductivity [m2/s]
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
References:
|
References:
|
||||||
@ -60,7 +60,7 @@ Description
|
|||||||
Consistent two-equation closure modelling for atmospheric
|
Consistent two-equation closure modelling for atmospheric
|
||||||
research: buoyancy and vegetation implementations.
|
research: buoyancy and vegetation implementations.
|
||||||
Boundary-layer meteorology, 145(2), 307-327.
|
Boundary-layer meteorology, 145(2), 307-327.
|
||||||
DOI: 10.1007/s10546-012-9726-5
|
DOI:10.1007/s10546-012-9726-5
|
||||||
|
|
||||||
Alletto, M., Radi, A., Adib, J., Langner, J.,
|
Alletto, M., Radi, A., Adib, J., Langner, J.,
|
||||||
Peralta, C., Altmikus, A., & Letzel, M. (2018).
|
Peralta, C., Altmikus, A., & Letzel, M. (2018).
|
||||||
@ -98,7 +98,6 @@ Usage
|
|||||||
// Optional (unmodifiable)
|
// Optional (unmodifiable)
|
||||||
rho rho;
|
rho rho;
|
||||||
Lmax 41.575;
|
Lmax 41.575;
|
||||||
n 3.0;
|
|
||||||
beta 3.3e-03;
|
beta 3.3e-03;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,7 +112,6 @@ Usage
|
|||||||
type | Type name: atmBuoyancyTurbSource | word | yes | -
|
type | Type name: atmBuoyancyTurbSource | word | yes | -
|
||||||
rho | Name of density field | word | no | rho
|
rho | Name of density field | word | no | rho
|
||||||
Lmax | Maximum mixing-length scale | scalar | no | 41.575
|
Lmax | Maximum mixing-length scale | scalar | no | 41.575
|
||||||
n | Mixing-length scale exponent | scalar | no | 3.0
|
|
||||||
beta | Thermal expansion coefficient | scalar | no | 3.3e-03
|
beta | Thermal expansion coefficient | scalar | no | 3.3e-03
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
@ -160,9 +158,6 @@ class atmBuoyancyTurbSource
|
|||||||
//- Maximum mixing-length scale [m]
|
//- Maximum mixing-length scale [m]
|
||||||
const dimensionedScalar Lmax_;
|
const dimensionedScalar Lmax_;
|
||||||
|
|
||||||
//- Mixing-length scale exponent
|
|
||||||
const dimensionedScalar n_;
|
|
||||||
|
|
||||||
//- Thermal expansion coefficient [1/K]
|
//- Thermal expansion coefficient [1/K]
|
||||||
const dimensionedScalar beta_;
|
const dimensionedScalar beta_;
|
||||||
|
|
||||||
|
|||||||
@ -34,16 +34,6 @@ Description
|
|||||||
Applies corrections to incorporate the horizontal and vertical components
|
Applies corrections to incorporate the horizontal and vertical components
|
||||||
of the Coriolis force for which the rotating frame is Earth.
|
of the Coriolis force for which the rotating frame is Earth.
|
||||||
|
|
||||||
Corrections applied on:
|
|
||||||
\verbatim
|
|
||||||
U | Velocity [m/s]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
Required fields:
|
|
||||||
\verbatim
|
|
||||||
U | Velocity [m/s]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
The Coriolis force is an inertial or fictitious force that acts on
|
The Coriolis force is an inertial or fictitious force that acts on
|
||||||
objects that are in motion within a frame of reference that rotates with
|
objects that are in motion within a frame of reference that rotates with
|
||||||
respect to an inertial frame.
|
respect to an inertial frame.
|
||||||
@ -60,6 +50,16 @@ Description
|
|||||||
surface of Earth, so only the horizontal component of the Coriolis
|
surface of Earth, so only the horizontal component of the Coriolis
|
||||||
force is generally important.
|
force is generally important.
|
||||||
|
|
||||||
|
Corrections applied on:
|
||||||
|
\verbatim
|
||||||
|
U | Velocity [m/s]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
U | Velocity [m/s]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
References:
|
References:
|
||||||
\verbatim
|
\verbatim
|
||||||
Coriolis force. (n.d.).
|
Coriolis force. (n.d.).
|
||||||
@ -80,6 +80,8 @@ Usage
|
|||||||
selectionMode all;
|
selectionMode all;
|
||||||
|
|
||||||
// Conditional mandatory entries (unmodifiable)
|
// Conditional mandatory entries (unmodifiable)
|
||||||
|
// Select either of the below
|
||||||
|
|
||||||
// Option-1: to directly input rotation vector
|
// Option-1: to directly input rotation vector
|
||||||
Omega (0 0 5.65156e-5);
|
Omega (0 0 5.65156e-5);
|
||||||
|
|
||||||
|
|||||||
@ -53,7 +53,7 @@ Description
|
|||||||
A limited-length-scale k-ε model for the neutral and
|
A limited-length-scale k-ε model for the neutral and
|
||||||
stably-stratified atmospheric boundary layer.
|
stably-stratified atmospheric boundary layer.
|
||||||
Boundary-layer meteorology, 83(1), 75-98.
|
Boundary-layer meteorology, 83(1), 75-98.
|
||||||
DOI:10.1023/A:100025221
|
DOI:10.1023/A:1000252210512
|
||||||
|
|
||||||
Mixing-length scale limiter for omega (tag:L):
|
Mixing-length scale limiter for omega (tag:L):
|
||||||
Langner, J. (2016).
|
Langner, J. (2016).
|
||||||
|
|||||||
@ -31,8 +31,8 @@ Group
|
|||||||
grpFvOptionsSources
|
grpFvOptionsSources
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Applies sources on temperature \c T to incorporate effects
|
Applies sources on temperature, i.e. \c T, to incorporate
|
||||||
of plant canopy for atmospheric boundary layer modelling.
|
effects of plant canopy for atmospheric boundary layer modelling.
|
||||||
|
|
||||||
Corrections applied to:
|
Corrections applied to:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -42,7 +42,7 @@ Description
|
|||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
T | Temperature [K]
|
T | Temperature [K]
|
||||||
qPlant | Heat flux [m2/s3]
|
qPlant | Tree-height based specific heat flux [m2/s3]
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
|
|||||||
@ -42,7 +42,7 @@ Description
|
|||||||
|
|
||||||
Required fields:
|
Required fields:
|
||||||
\verbatim
|
\verbatim
|
||||||
epsilon/omega | Dissipation rate OR specific dissipation rate [m2/s3]/[1/s]
|
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
|
||||||
plantCd | Plant canopy drag coefficient [-]
|
plantCd | Plant canopy drag coefficient [-]
|
||||||
leafAreaDensity | Leaf area density [1/m]
|
leafAreaDensity | Leaf area density [1/m]
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|||||||
@ -31,7 +31,7 @@ Group
|
|||||||
grpFvOptionsSources
|
grpFvOptionsSources
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Applies sources on velocity \c U to incorporate effects
|
Applies sources on velocity, i.e. \c U, to incorporate effects
|
||||||
of plant canopy for atmospheric boundary layer modelling.
|
of plant canopy for atmospheric boundary layer modelling.
|
||||||
|
|
||||||
Corrections applied to:
|
Corrections applied to:
|
||||||
|
|||||||
@ -192,18 +192,6 @@ Foam::turbulentDFSEMInletFvPatchVectorField::patchMapper() const
|
|||||||
// Initialise interpolation (2D planar interpolation by triangulation)
|
// Initialise interpolation (2D planar interpolation by triangulation)
|
||||||
if (mapperPtr_.empty())
|
if (mapperPtr_.empty())
|
||||||
{
|
{
|
||||||
//// Reread values and interpolate
|
|
||||||
//fileName samplePointsFile
|
|
||||||
//(
|
|
||||||
// this->db().time().path()
|
|
||||||
// /this->db().time().caseConstant()
|
|
||||||
// /"boundaryData"
|
|
||||||
// /this->patch().name()
|
|
||||||
// /"points"
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//pointField samplePoints((IFstream(samplePointsFile)()));
|
|
||||||
|
|
||||||
const fileName samplePointsFile
|
const fileName samplePointsFile
|
||||||
(
|
(
|
||||||
this->db().time().globalPath()
|
this->db().time().globalPath()
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2015 OpenFOAM Foundation
|
Copyright (C) 2015 OpenFOAM Foundation
|
||||||
Copyright (C) 2016 OpenCFD Ltd
|
Copyright (C) 2016-2020 OpenCFD Ltd
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -73,32 +73,6 @@ Foam::turbulentDFSEMInletFvPatchVectorField::interpolateBoundaryData
|
|||||||
{
|
{
|
||||||
const word& patchName = this->patch().name();
|
const word& patchName = this->patch().name();
|
||||||
|
|
||||||
//fileName valsFile
|
|
||||||
//(
|
|
||||||
// fileHandler().filePath
|
|
||||||
// (
|
|
||||||
// fileName
|
|
||||||
// (
|
|
||||||
// this->db().time().path()
|
|
||||||
// /this->db().time().caseConstant()
|
|
||||||
// /"boundaryData"
|
|
||||||
// /patchName
|
|
||||||
// /"0"
|
|
||||||
// /fieldName
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//autoPtr<ISstream> isPtr
|
|
||||||
//(
|
|
||||||
// fileHandler().NewIFstream
|
|
||||||
// (
|
|
||||||
// valsFile
|
|
||||||
// )
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//Field<Type> vals(isPtr());
|
|
||||||
|
|
||||||
const fileName valsFile
|
const fileName valsFile
|
||||||
(
|
(
|
||||||
fileName
|
fileName
|
||||||
|
|||||||
@ -38,18 +38,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchMapper() const
|
|||||||
// Initialise interpolation (2D planar interpolation by triangulation)
|
// Initialise interpolation (2D planar interpolation by triangulation)
|
||||||
if (mapperPtr_.empty())
|
if (mapperPtr_.empty())
|
||||||
{
|
{
|
||||||
//// Reread values and interpolate
|
|
||||||
//fileName samplePointsFile
|
|
||||||
//(
|
|
||||||
// this->db().time().path()
|
|
||||||
// /this->db().time().caseConstant()
|
|
||||||
// /"boundaryData"
|
|
||||||
// /this->patch().name()
|
|
||||||
// /"points"
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//pointField samplePoints((IFstream(samplePointsFile)()));
|
|
||||||
|
|
||||||
// Reread values and interpolate
|
// Reread values and interpolate
|
||||||
const fileName samplePointsFile
|
const fileName samplePointsFile
|
||||||
(
|
(
|
||||||
@ -73,7 +61,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchMapper() const
|
|||||||
// Read data
|
// Read data
|
||||||
const rawIOField<point> samplePoints(io, false);
|
const rawIOField<point> samplePoints(io, false);
|
||||||
|
|
||||||
|
|
||||||
// tbd: run-time selection
|
// tbd: run-time selection
|
||||||
bool nearestOnly =
|
bool nearestOnly =
|
||||||
(
|
(
|
||||||
|
|||||||
@ -72,32 +72,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::interpolateBoundaryData
|
|||||||
{
|
{
|
||||||
const word& patchName = this->patch().name();
|
const word& patchName = this->patch().name();
|
||||||
|
|
||||||
//fileName valsFile
|
|
||||||
//(
|
|
||||||
// fileHandler().filePath
|
|
||||||
// (
|
|
||||||
// fileName
|
|
||||||
// (
|
|
||||||
// this->db().time().path()
|
|
||||||
// /this->db().time().caseConstant()
|
|
||||||
// /"boundaryData"
|
|
||||||
// /patchName
|
|
||||||
// /"0"
|
|
||||||
// /fieldName
|
|
||||||
// )
|
|
||||||
// )
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//autoPtr<ISstream> isPtr
|
|
||||||
//(
|
|
||||||
// fileHandler().NewIFstream
|
|
||||||
// (
|
|
||||||
// valsFile
|
|
||||||
// )
|
|
||||||
//);
|
|
||||||
//
|
|
||||||
//Field<Type> vals(isPtr());
|
|
||||||
|
|
||||||
// Reread values and interpolate
|
// Reread values and interpolate
|
||||||
const fileName valsFile
|
const fileName valsFile
|
||||||
(
|
(
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
Copyright (C) 2020 ENERCON GmbH
|
Copyright (C) 2020 ENERCON GmbH
|
||||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -94,7 +95,7 @@ void Foam::fv::actuationDiskSource::writeFileHeader(Ostream& os)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& subDict)
|
void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& dict)
|
||||||
{
|
{
|
||||||
switch (monitorMethod_)
|
switch (monitorMethod_)
|
||||||
{
|
{
|
||||||
@ -105,7 +106,17 @@ void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& subDict)
|
|||||||
labelHashSet selectedCells;
|
labelHashSet selectedCells;
|
||||||
|
|
||||||
List<point> monitorPoints;
|
List<point> monitorPoints;
|
||||||
subDict.readEntry("points", monitorPoints);
|
|
||||||
|
if (dict.found("monitorCoeffs"))
|
||||||
|
{
|
||||||
|
const dictionary subDict(dict.subDict("monitorCoeffs"));
|
||||||
|
subDict.readIfPresent("points", monitorPoints);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
monitorPoints.resize(1);
|
||||||
|
monitorPoints[0] = dict.get<point>("upstreamPoint");
|
||||||
|
}
|
||||||
|
|
||||||
for (const auto& monitorPoint : monitorPoints)
|
for (const auto& monitorPoint : monitorPoints)
|
||||||
{
|
{
|
||||||
@ -171,10 +182,11 @@ Foam::fv::actuationDiskSource::actuationDiskSource
|
|||||||
),
|
),
|
||||||
monitorMethod_
|
monitorMethod_
|
||||||
(
|
(
|
||||||
monitorMethodTypeNames.get
|
monitorMethodTypeNames.getOrDefault
|
||||||
(
|
(
|
||||||
"monitorMethod",
|
"monitorMethod",
|
||||||
dict
|
dict,
|
||||||
|
monitorMethodType::POINTS
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
sink_
|
sink_
|
||||||
@ -205,7 +217,8 @@ Foam::fv::actuationDiskSource::actuationDiskSource
|
|||||||
UvsCtPtr_(Function1<scalar>::New("Ct", dict)),
|
UvsCtPtr_(Function1<scalar>::New("Ct", dict)),
|
||||||
monitorCells_()
|
monitorCells_()
|
||||||
{
|
{
|
||||||
setMonitorCells((dict.subDict("monitorCoeffs")));
|
//setMonitorCells((dict.subDict("monitorCoeffs")));
|
||||||
|
setMonitorCells(dict);
|
||||||
|
|
||||||
fieldNames_.setSize(1, "U");
|
fieldNames_.setSize(1, "U");
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||||
Copyright (C) 2020 ENERCON GmbH
|
Copyright (C) 2020 ENERCON GmbH
|
||||||
Copyright (C) 2020 OpenCFD Ltd.
|
Copyright (C) 2020 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
@ -31,19 +32,9 @@ Group
|
|||||||
grpFvOptionsSources
|
grpFvOptionsSources
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Applies sources on \c U to enable actuator disk models for aero/hydro thrust
|
Applies sources on velocity, i.e. \c U, to enable actuator disk models
|
||||||
loading of horizontal axis turbines on surrounding flow field in
|
for aero/hydro thrust loading of horizontal axis turbines on surrounding
|
||||||
terms of energy conversion processes.
|
flow field in terms of energy conversion processes.
|
||||||
|
|
||||||
Corrections applied to:
|
|
||||||
\verbatim
|
|
||||||
U | Velocity [m/s]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
Required fields:
|
|
||||||
\verbatim
|
|
||||||
U | Velocity [m/s]
|
|
||||||
\endverbatim
|
|
||||||
|
|
||||||
Available options for force computations:
|
Available options for force computations:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -119,6 +110,16 @@ Description
|
|||||||
DOI:10.1002/we.1804
|
DOI:10.1002/we.1804
|
||||||
\endverbatim
|
\endverbatim
|
||||||
|
|
||||||
|
Corrections applied to:
|
||||||
|
\verbatim
|
||||||
|
U | Velocity [m/s]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
|
Required fields:
|
||||||
|
\verbatim
|
||||||
|
U | Velocity [m/s]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
Example by using \c constant/fvOptions:
|
Example by using \c constant/fvOptions:
|
||||||
\verbatim
|
\verbatim
|
||||||
@ -126,6 +127,18 @@ Usage
|
|||||||
{
|
{
|
||||||
// Mandatory entries (unmodifiable)
|
// Mandatory entries (unmodifiable)
|
||||||
type actuationDiskSource;
|
type actuationDiskSource;
|
||||||
|
|
||||||
|
// Mandatory (inherited) entries (unmodifiable)
|
||||||
|
selectionMode <mode>; // e.g. cellSet as shown below
|
||||||
|
cellSet <cellSetName>;
|
||||||
|
|
||||||
|
// Mandatory entries (runtime modifiable)
|
||||||
|
diskArea 40.0;
|
||||||
|
diskDir (1 0 0);
|
||||||
|
Cp <Function1>;
|
||||||
|
Ct <Function1>;
|
||||||
|
|
||||||
|
// Conditional optional entries (unmodifiable)
|
||||||
monitorMethod <points|cellSet>;
|
monitorMethod <points|cellSet>;
|
||||||
monitorCoeffs
|
monitorCoeffs
|
||||||
{
|
{
|
||||||
@ -141,16 +154,6 @@ Usage
|
|||||||
cellSet <monitorCellSet>;
|
cellSet <monitorCellSet>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mandatory (inherited) entries (unmodifiable)
|
|
||||||
selectionMode <mode>; // e.g. cellSet as shown below
|
|
||||||
cellSet <cellSetName>;
|
|
||||||
|
|
||||||
// Mandatory entries (runtime modifiable)
|
|
||||||
diskArea 40.0;
|
|
||||||
diskDir (1 0 0);
|
|
||||||
Cp <Function1>;
|
|
||||||
Ct <Function1>;
|
|
||||||
|
|
||||||
// Optional entries (unmodifiable)
|
// Optional entries (unmodifiable)
|
||||||
variant <forceMethod>;
|
variant <forceMethod>;
|
||||||
|
|
||||||
@ -168,13 +171,13 @@ Usage
|
|||||||
\table
|
\table
|
||||||
Property | Description | Type | Req'd | Dflt
|
Property | Description | Type | Req'd | Dflt
|
||||||
type | Type name: actuationDiskSource | word | yes | -
|
type | Type name: actuationDiskSource | word | yes | -
|
||||||
diskArea | Actuator disk planar surface area [m2] | scalar | yes | -
|
diskArea | Actuator disk planar surface area | scalar | yes | -
|
||||||
diskDir | Surface-normal vector of the actuator disk <!--
|
diskDir | Surface-normal vector of the actuator disk <!--
|
||||||
--> pointing upstream | vector | yes | -
|
--> pointing upstream | vector | yes | -
|
||||||
Cp | Power coefficient | Function1 | yes | -
|
Cp | Power coefficient | Function1 | yes | -
|
||||||
Ct | Thrust coefficient | Function1 | yes | -
|
Ct | Thrust coefficient | Function1 | yes | -
|
||||||
monitorMethod | Type of incoming velocity monitoring method <!--
|
monitorMethod | Type of incoming velocity monitoring method <!--
|
||||||
--> - see below | word | yes | -
|
--> - see below | word | no | points
|
||||||
variant | Type of the force computation method - see below <!--
|
variant | Type of the force computation method - see below <!--
|
||||||
--> | word | no | Froude
|
--> | word | no | Froude
|
||||||
sink | Flag for body forces to act as a source (true) <!--
|
sink | Flag for body forces to act as a source (true) <!--
|
||||||
@ -230,7 +233,6 @@ class actuationDiskSource
|
|||||||
public cellSetOption,
|
public cellSetOption,
|
||||||
public functionObjects::writeFile
|
public functionObjects::writeFile
|
||||||
{
|
{
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// Protected Enumerations
|
// Protected Enumerations
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
Copyright (C) 2020 ENERCON GmbH
|
Copyright (C) 2020 ENERCON GmbH
|
||||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -7,6 +7,9 @@ runApplication blockMesh
|
|||||||
|
|
||||||
restore0Dir
|
restore0Dir
|
||||||
|
|
||||||
|
runApplication topoSet
|
||||||
|
|
||||||
runApplication $(getApplication)
|
runApplication $(getApplication)
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -65,6 +65,7 @@ functions
|
|||||||
#include "FOLambda2"
|
#include "FOLambda2"
|
||||||
#include "FOLambVector"
|
#include "FOLambVector"
|
||||||
#include "FOlimitFields"
|
#include "FOlimitFields"
|
||||||
|
#include "FOlog"
|
||||||
#include "FOmag"
|
#include "FOmag"
|
||||||
#include "FOmagSqr"
|
#include "FOmagSqr"
|
||||||
#include "FOmomentum"
|
#include "FOmomentum"
|
||||||
@ -73,6 +74,7 @@ functions
|
|||||||
#include "FOpressure"
|
#include "FOpressure"
|
||||||
#include "FOprocessorField"
|
#include "FOprocessorField"
|
||||||
#include "FOproudmanAcousticPower"
|
#include "FOproudmanAcousticPower"
|
||||||
|
#include "FOpow"
|
||||||
#include "FOQ"
|
#include "FOQ"
|
||||||
#include "FOrandomise"
|
#include "FOrandomise"
|
||||||
#include "FOreadFields"
|
#include "FOreadFields"
|
||||||
|
|||||||
@ -689,3 +689,4 @@ actions
|
|||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|
||||||
|
|||||||
@ -27,9 +27,7 @@ disk1
|
|||||||
sink true;
|
sink true;
|
||||||
Cp 0.386;
|
Cp 0.386;
|
||||||
Ct 0.58;
|
Ct 0.58;
|
||||||
|
|
||||||
monitorMethod points;
|
monitorMethod points;
|
||||||
|
|
||||||
monitorCoeffs
|
monitorCoeffs
|
||||||
{
|
{
|
||||||
points
|
points
|
||||||
@ -43,25 +41,13 @@ disk1
|
|||||||
disk2
|
disk2
|
||||||
{
|
{
|
||||||
type actuationDiskSource;
|
type actuationDiskSource;
|
||||||
variant Froude; // variableScaling;
|
|
||||||
selectionMode cellSet;
|
selectionMode cellSet;
|
||||||
cellSet actuationDisk2;
|
cellSet actuationDisk2;
|
||||||
writeToFile true;
|
|
||||||
sink true;
|
|
||||||
Cp 0.53;
|
Cp 0.53;
|
||||||
Ct 0.58;
|
Ct 0.58;
|
||||||
diskArea 40;
|
diskArea 40;
|
||||||
diskDir (1 0 0);
|
diskDir (1 0 0);
|
||||||
|
upstreamPoint (581753 4785663 1070);
|
||||||
monitorMethod points;
|
|
||||||
|
|
||||||
monitorCoeffs
|
|
||||||
{
|
|
||||||
points
|
|
||||||
(
|
|
||||||
(581753 4785663 1070)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ boundaryField
|
|||||||
|
|
||||||
ground
|
ground
|
||||||
{
|
{
|
||||||
type nutkAtmRoughWallFunction;
|
type atmNutkWallFunction;
|
||||||
kappa $kappa;
|
kappa $kappa;
|
||||||
Cmu $Cmu;
|
Cmu $Cmu;
|
||||||
z0 $z0;
|
z0 $z0;
|
||||||
|
|||||||
@ -38,11 +38,11 @@ plotUxUpstream() {
|
|||||||
inp1="$timeDir/x_0mPatch_U.xy"
|
inp1="$timeDir/x_0mPatch_U.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp0 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
inp0 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
||||||
inp1 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440"
|
inp1 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440"
|
||||||
@ -72,11 +72,11 @@ plotUxMid() {
|
|||||||
inp3="$timeDir/x_4000m_U.xy"
|
inp3="$timeDir/x_4000m_U.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp2 u 2:((\$1-$zMin)/zRef) t "OF, x=2500m" w l lw 2 lc rgb "#0072B2", \
|
inp2 u 2:((\$1-$zMin)/zRef) t "OF, x=2500m" w l lw 2 lc rgb "#0072B2", \
|
||||||
inp3 u 2:((\$1-$zMin)/zRef) t "OF, x=4000m" w l lw 2 lc rgb "#D55E00"
|
inp3 u 2:((\$1-$zMin)/zRef) t "OF, x=4000m" w l lw 2 lc rgb "#D55E00"
|
||||||
@ -106,11 +106,11 @@ plotUxDownstream() {
|
|||||||
inp5="$timeDir/x_5000mPatch_U.xy"
|
inp5="$timeDir/x_5000mPatch_U.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/Ux-HW-RH-Fig6a" \
|
"system/atm-HargreavesWright-2007/Ux-HW-RH-Fig6a" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp4 u 2:((\$1-$zMin)/zRef) t "OF, x=5000m (Cell)" w l lw 2 lc rgb "#CC79A7", \
|
inp4 u 2:((\$1-$zMin)/zRef) t "OF, x=5000m (Cell)" w l lw 2 lc rgb "#CC79A7", \
|
||||||
inp5 u 2:((\$1-$zMin)/zRef) t "OF, x=5000m (Patch)" w l lw 2 lc rgb "#440154"
|
inp5 u 2:((\$1-$zMin)/zRef) t "OF, x=5000m (Patch)" w l lw 2 lc rgb "#440154"
|
||||||
@ -146,11 +146,11 @@ plotK() {
|
|||||||
inp5="$timeDir/x_5000mPatch_$items.xy"
|
inp5="$timeDir/x_5000mPatch_$items.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/k-RH-Fig6b" \
|
"system/atm-HargreavesWright-2007/k-RH-Fig6b" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/k-HW-Fig6b-2500" \
|
"system/atm-HargreavesWright-2007/k-HW-Fig6b-2500" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/k-HW-Fig6b-4000" \
|
"system/atm-HargreavesWright-2007/k-HW-Fig6b-4000" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp0 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
inp0 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
||||||
inp1 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
inp1 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
||||||
@ -191,11 +191,11 @@ plotEpsilon() {
|
|||||||
inp5="$timeDir/x_5000mPatch_$items.xy"
|
inp5="$timeDir/x_5000mPatch_$items.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/epsilon-HW-RH-Fig6c" \
|
"system/atm-HargreavesWright-2007/epsilon-HW-RH-Fig6c" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/epsilon-HW-RH-Fig6c" \
|
"system/atm-HargreavesWright-2007/epsilon-HW-RH-Fig6c" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/epsilon-HW-RH-Fig6c" \
|
"system/atm-HargreavesWright-2007/epsilon-HW-RH-Fig6c" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp0 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
inp0 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
||||||
inp1 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
inp1 u 2:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
||||||
@ -273,11 +273,11 @@ plotMut() {
|
|||||||
inp5="$timeDir/x_5000mPatch_$items.xy"
|
inp5="$timeDir/x_5000mPatch_$items.xy"
|
||||||
|
|
||||||
plot \
|
plot \
|
||||||
"system/benchmark-data-HargreavesWright2007/mut-RH-Fig6d" \
|
"system/atm-HargreavesWright-2007/mut-RH-Fig6d" \
|
||||||
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
u 1:2 t "RH" w p ps 2 pt 6 lc rgb "#000000", \
|
||||||
"system/benchmark-data-HargreavesWright2007/mut-HW-Fig6d-2500" \
|
"system/atm-HargreavesWright-2007/mut-HW-Fig6d-2500" \
|
||||||
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
u 1:2 t "HW, x=2500m" w p ps 1 pt 5 lc rgb "#E69F00", \
|
||||||
"system/benchmark-data-HargreavesWright2007/mut-HW-Fig6d-4000" \
|
"system/atm-HargreavesWright-2007/mut-HW-Fig6d-4000" \
|
||||||
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
u 1:2 t "HW, x=4000m" w p ps 0.5 pt 4 lc rgb "#56B4E9", \
|
||||||
inp0 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
inp0 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Patch)" w l lw 2 lc rgb "#009E73", \
|
||||||
inp1 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
inp1 u $seq:((\$1-$zMin)/zRef) t "OF, x=0m (Cell)" w l lw 2 lc rgb "#F0E440", \
|
||||||
|
|||||||
@ -22,7 +22,8 @@ sed -e "s|RAS_MODEL|$RASmodel|g" \
|
|||||||
constant/turbulenceProperties.template \
|
constant/turbulenceProperties.template \
|
||||||
> constant/turbulenceProperties
|
> constant/turbulenceProperties
|
||||||
sed -e "s|L_MAX|$Lmax|g" constant/fvOptions.template > constant/fvOptions
|
sed -e "s|L_MAX|$Lmax|g" constant/fvOptions.template > constant/fvOptions
|
||||||
sed -e "s|Q_PLANT|$qPlant|g" 0.orig/qPlant.template > 0/qPlant
|
sed -e "s|Q_PLANT|$qPlant|g" 0/qPlant.template > 0/qPlant
|
||||||
|
rm -f 0/qPlant.template
|
||||||
|
|
||||||
runApplication renumberMesh -overwrite
|
runApplication renumberMesh -overwrite
|
||||||
|
|
||||||
|
|||||||
@ -58,7 +58,6 @@ atmBuoyancyTurbSource1
|
|||||||
selectionMode all;
|
selectionMode all;
|
||||||
rho rho;
|
rho rho;
|
||||||
Lmax L_MAX;
|
Lmax L_MAX;
|
||||||
n 3.0;
|
|
||||||
beta 3.3e-03;
|
beta 3.3e-03;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,6 @@ atmBuoyancyTurbSource1
|
|||||||
selectionMode all;
|
selectionMode all;
|
||||||
rho rho;
|
rho rho;
|
||||||
Lmax 41.0;
|
Lmax 41.0;
|
||||||
n 3.0;
|
|
||||||
beta 3.3e-03;
|
beta 3.3e-03;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,6 @@ atmBuoyancyTurbSource1
|
|||||||
selectionMode all;
|
selectionMode all;
|
||||||
rho rho;
|
rho rho;
|
||||||
Lmax L_MAX;
|
Lmax L_MAX;
|
||||||
n 3.0;
|
|
||||||
beta 3.3e-03;
|
beta 3.3e-03;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,3 +12,4 @@ rm -f *.png
|
|||||||
rm -f constant/{R*,points*,UMean*}
|
rm -f constant/{R*,points*,UMean*}
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -3,10 +3,10 @@ cd "${0%/*}" || exit # Run from this directory
|
|||||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
endTime=85
|
endTime=10
|
||||||
if notTest "$@"
|
if notTest "$@"
|
||||||
then
|
then
|
||||||
endTime=10
|
endTime=85
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed "s|END_TIME|$endTime|g" system/controlDict.template > system/controlDict
|
sed "s|END_TIME|$endTime|g" system/controlDict.template > system/controlDict
|
||||||
@ -18,3 +18,4 @@ runApplication blockMesh
|
|||||||
rm -rf results
|
rm -rf results
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -30,3 +30,4 @@ the 'results' directory.
|
|||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user