DOC-STYLE: various release changes

This commit is contained in:
Kutalmis Bercin
2020-06-15 11:16:47 +01:00
parent 39c2f16eca
commit 4d295c84a0
56 changed files with 385 additions and 474 deletions

View File

@ -48,6 +48,7 @@ Foam::epsilonWallFunctionFvPatchScalarField::blendingTypeNames
Foam::scalar Foam::epsilonWallFunctionFvPatchScalarField::tolerance_ = 1e-5;
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
void Foam::epsilonWallFunctionFvPatchScalarField::setMaster()

View File

@ -74,9 +74,9 @@ Usage
\table
Property | Description | Type | Req'd | Dflt
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 <!--
--> | word | no | stepwise
--> | word | no | stepwise
n | Binomial blending exponent | scalar | no | 2.0
\endtable
@ -189,8 +189,6 @@ class epsilonWallFunctionFvPatchScalarField
:
public fixedValueFvPatchField<scalar>
{
private:
// Private Enumerations
//- Options for the blending treatment of viscous and inertial sublayers

View File

@ -56,7 +56,7 @@ Usage
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: kLowReWallFunction | word | yes | -
type | Type name: kLowReWallFunction | word | yes | -
Ceps2 | Model coefficient | scalar | no | 1.9
Ck | Model coefficient | scalar | no | -0.416
Bk | Model coefficient | scalar | no | 8.366

View File

@ -32,8 +32,10 @@ Group
Description
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
the case of high Reynolds number flow using wall functions.
condition, which can be used for the turbulent kinetic energy, i.e. \c k,
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
Example of the boundary condition specification:

View File

@ -31,8 +31,8 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut for low Reynolds number models.
This boundary condition provides a wall constraint on the
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+.
Usage

View File

@ -31,8 +31,10 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions based on
a blending of viscous and inertial sublayer contributions.
viscosity, i.e. \c nut, based on velocity, i.e. \c U, using a
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[
u_\tau = (u_{\tau,v}^n + u_{\tau,l}^n)^{1/n}
@ -46,12 +48,13 @@ Description
\endvartable
Reference:
See the section that describes 'automatic wall treatment'
\verbatim
Menter, F., Ferreira, J. C., Esch, T., Konno, B. (2003).
The SST Turbulence Model with Improved Wall Treatment
for Heat Transfer Predictions in Gas Turbines.
Proceedings of the International Gas Turbine Congress 2003 Tokyo
See the section that describes 'automatic wall treatment':
Menter, F., Ferreira, J. C., Esch, T., Konno, B. (2003).
The SST turbulence model with improved wall treatment
for heat transfer predictions in gas turbines.
In Proceedings of the International Gas Turbine Congress.
November, 2003. Tokyo, Japan. pp. 2-7.
\endverbatim
Usage
@ -62,7 +65,7 @@ Usage
// Mandatory entries (unmodifiable)
type nutUBlendedWallFunction;
// Optional entries
// Optional entries (unmodifiable)
n 4.0;
// Optional (inherited) entries
@ -72,9 +75,9 @@ Usage
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutUBlendedWallFunction | word | yes | -
n | Blending factor | scalar | no | 4.0
Property | Description | Type | Req'd | Dflt
type | Type name: nutUBlendedWallFunction | word | yes | -
n | Blending factor | scalar | no | 4.0
\endtable
The inherited entries are elaborated in:

View File

@ -32,8 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions for rough walls,
based on velocity, \c U.
viscosity, i.e. \c nut, based on velocity i.e. \c U, for low- and
high-Reynolds number turbulence models for rough walls.
Usage
Example of the boundary condition specification:
@ -74,9 +74,6 @@ Note
\c turbulence->validate) returns a slightly different value every time
it is called.
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
nutURoughWallFunctionFvPatchScalarField.C

View File

@ -32,9 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions for rough walls,
based on velocity, \c U, using Spalding's law to give a continuous \c nut
profile to the wall (y+ = 0)
viscosity, i.e. \c nut, based on velocity, i.e. \c U. Using Spalding's
law gives a continuous \c nut profile to the wall.
\f[
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
it is called. This is since the seed for the Newton-Raphson iteration
uses the current value of \c *this (\c =nut ).
- This can be avoided by overriding the tolerance. This also switches on
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
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.
maxIter 100;
tolerance 1e-7;

View File

@ -32,10 +32,10 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions, based on
velocity, i.e. \c U.
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
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.
The table should be located in the \c $FOAM_CASE/constant directory.
@ -58,7 +58,7 @@ Usage
\table
Property | Description | Type | Req'd | Dflt
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
The inherited entries are elaborated in:

View File

@ -32,8 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions, based on
velocity, \c U.
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
high-Reynolds number turbulence models.
Usage
Example of the boundary condition specification:

View File

@ -35,6 +35,8 @@ Description
boundary conditions which provide a wall constraint on various fields, such
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.
The class is not an executable itself, yet a provider for common entries
to its derived boundary conditions.
Reference:
\verbatim
@ -72,6 +74,7 @@ Usage
E 9.8;
blending stepwise;
n 4.0;
U U;
// Optional (inherited) entries
...
@ -86,6 +89,7 @@ Usage
E | Wall roughness parameter | scalar | no | 9.8
blending | Viscous/inertial sublayer blending | word | no | stepwise
n | Binomial blending exponent | scalar | no | 2.0
U | Name of the velocity field | word | no | U
\endtable
The inherited entries are elaborated in:
@ -151,11 +155,8 @@ Usage
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
\endvartable
Note
- \c nutWallFunction is not directly usable.
See also
Foam::fixedValueFvPatchField
- Foam::fixedValueFvPatchField
SourceFiles
nutWallFunctionFvPatchScalarField.C

View File

@ -32,9 +32,10 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
kinematic viscosity, i.e. \c nut, when using wall functions for rough walls,
based on the turbulent kinetic energy, \c k. The condition manipulates the
wall roughness parameter, i.e. \c E, to account for roughness effects.
viscosity, i.e. \c nut, when using wall functions for rough walls,
based on the turbulent kinetic energy, i.e. \c k. The condition
manipulates the wall roughness parameter, i.e. \c E, to account
for roughness effects.
Parameter ranges:
- roughness height = sand-grain roughness (0 for smooth walls)
@ -105,7 +106,7 @@ protected:
//- Compute the roughness function
virtual scalar fnRough(const scalar KsPlus, const scalar Cs) const;
//- Calculate the turbulence viscosity
//- Calculate the turbulent viscosity
virtual tmp<scalarField> calcNut() const;

View File

@ -32,8 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions,
based on the turbulent kinetic energy, \c k.
viscosity, i.e. \c nut, based on the turbulent kinetic energy,
i.e. \c k, for for low- and high-Reynolds number turbulence models.
Usage
Example of the boundary condition specification:

View File

@ -78,13 +78,12 @@ Usage
\endverbatim
\table
Property | Description | Type | Req'd | Dflt
type | Type name: omegaWallFunction | word | yes | -
blended | Blending switch (Deprecated) | bool | no | true
beta1 | Model coefficient | scalar | no | 0.075
Property | Description | Type | Req'd | Dflt
type | Type name: omegaWallFunction | word | yes | -
beta1 | Model coefficient | scalar | no | 0.075
blending | Viscous/inertial sublayer blending method <!--
--> | word | no | binomial2
n | Binomial blending exponent | sclar | no | 2.0
--> | word | no | binomial2
n | Binomial blending exponent | scalar | no | 2.0
\endtable
The inherited entries are elaborated in:
@ -185,10 +184,10 @@ Note
the specified \c nutWallFunction in order to ensure that each patch
possesses the same set of values for these coefficients.
- The reason why \c binomial2 and \c binomial blending methods exist at
the same time is to ensure the elementwise backward compatibility with
the previous versions since \c binomial2 and \c binomial with n=2 will
yield slightly different output due to the miniscule differences in the
implementation of the basic functions (i.e. pow, sqrt, sqr).
the same time is to ensure the bitwise regression with the previous
versions since \c binomial2 and \c binomial with \c n=2 will yield
slightly different output due to the miniscule differences in the
implementation of the basic functions (i.e. \c pow, \c sqrt, \c sqr).
See also
- Foam::epsilonWallFunctionFvPatchScalarField
@ -218,8 +217,6 @@ class omegaWallFunctionFvPatchScalarField
:
public fixedValueFvPatchField<scalar>
{
private:
// Private Enumerations
//- Options for the blending treatment of viscous and inertial sublayers

View File

@ -31,7 +31,7 @@ Group
grpRASBoundaryConditions grpInletBoundaryConditions
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,
dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling.
@ -85,15 +85,6 @@ Description
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
\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:
\verbatim
The ground-normal profile expressions (tag:RH):
@ -135,6 +126,35 @@ Note
\endverbatim
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
Property | Description | Type | Req'd | Deflt
flowDir | Flow direction | TimeFunction1<vector> | yes | -
@ -160,6 +180,13 @@ Usage
\endtable
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
equation for \c k. Yet the same expressions only satisfy the simplified
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).
See also
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
- ExtendedCodeGuide::atmBoundaryLayer
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
- Foam::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
SourceFiles
atmBoundaryLayer.C

View File

@ -31,10 +31,10 @@ Group
grpRASBoundaryConditions grpInletBoundaryConditions
Description
This boundary condition provides a log-law type ground-normal inflow
boundary condition for turbulent kinetic energy dissipation rate, i.e.
\c epsilon, for homogeneous, two-dimensional, dry-air, equilibrium and
neutral atmospheric boundary layer modelling.
This boundary condition provides a log-law type ground-normal inlet
boundary condition for the turbulent kinetic energy dissipation rate,
i.e. \c epsilon, for homogeneous, two-dimensional, dry-air, equilibrium
and neutral atmospheric boundary layer modelling.
The ground-normal \c epsilon profile expression:
@ -53,14 +53,14 @@ Description
d | Ground-normal displacement height [m]
C_1 | Curve-fitting coefficient for \c YGCJ profiles [-]
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
\endvartable
\endvartable
Required fields:
\verbatim
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
\endverbatim
Usage
\heading Required fields
\plaintable
epsilon | Turbulent kinetic energy dissipation rate [m^2/s^3]
\endplaintable
Example of the boundary condition specification:
\verbatim
inlet
@ -68,37 +68,26 @@ Usage
// Mandatory entries (unmodifiable)
type atmBoundaryLayerInletEpsilon;
// Mandatory (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
// Mandatory/Optional (inherited) entries (unmodifiable)
...
}
\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:
- \link atmBoundaryLayer.H \endlink
- \link inletOutletFvPatchField.H \endlink
See also
- Foam::atmBoundaryLayer
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletEpsilon
- Foam::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
SourceFiles
atmBoundaryLayerInletEpsilonFvPatchScalarField.C

View File

@ -31,8 +31,8 @@ Group
grpRASBoundaryConditions grpInletBoundaryConditions
Description
This boundary condition provides a log-law type ground-normal inflow
boundary condition for turbulent kinetic energy, i.e. \c k,
This boundary condition provides a log-law type ground-normal inlet
boundary condition for the turbulent kinetic energy, i.e. \c k,
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
atmospheric boundary layer modelling.
@ -52,12 +52,12 @@ Description
C_2 | Curve-fitting coefficient for \c YGCJ profiles [-]
\endvartable
Usage
\heading Required fields
\plaintable
k | Turbulent kinetic energy [m^2/s^2]
\endplaintable
Required fields:
\verbatim
k | Turbulent kinetic energy [m2/s2]
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
inlet
@ -65,37 +65,28 @@ Usage
// Mandatory entries (unmodifiable)
type atmBoundaryLayerInletK;
// Mandatory (inherited) entries (unmodifiable)
Uref 10.0;
Zref 0.0;
z0 uniform 0.1;
d uniform 0.0;
// Mandatory/Optional (inherited) entries (unmodifiable)
...
flowDir (1 0 0); // not used
z (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
zDir (0 0 1); // not used
}
\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:
- \link atmBoundaryLayer.H \endlink
- \link inletOutletFvPatchField.H \endlink
See also
- Foam::atmBoundaryLayer
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVectorField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletK
- Foam::atmBoundaryLayerInletVelocityFvPatchVectorField
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
SourceFiles
atmBoundaryLayerInletKFvPatchScalarField.C

View File

@ -29,8 +29,8 @@ Group
grpRASBoundaryConditions grpInletBoundaryConditions
Description
This boundary condition provides a log-law type ground-normal inflow
boundary condition for specific dissipation rate, i.e. \c omega,
This boundary condition provides a log-law type ground-normal inlet
boundary condition for the specific dissipation rate, i.e. \c omega,
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
atmospheric boundary layer modelling.
@ -51,12 +51,12 @@ Description
z_0 | Aerodynamic roughness length [m]
\endvartable
Usage
\heading Required fields
\plaintable
Required fields:
\verbatim
omega | Specific dissipation rate [1/s]
\endplaintable
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
inlet
@ -64,37 +64,26 @@ Usage
// Mandatory entries (unmodifiable)
type atmBoundaryLayerInletOmega;
// Mandatory (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
// Mandatory/Optional (inherited) entries (unmodifiable)
...
}
\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:
- \link atmBoundaryLayer.H \endlink
- \link inletOutletFvPatchField.H \endlink
See also
- Foam::atmBoundaryLayer
- Foam::atmBoundaryLayer::atmBoundaryLayerInletVelocityFvPatchVelocityField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletOmega
- Foam::atmBoundaryLayerInletVelocityFvPatchVelocityField
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayerInletKFvPatchScalarField
SourceFiles
atmBoundaryLayerInletOmegaFvPatchScalarField.C

View File

@ -31,10 +31,10 @@ Group
grpRASBoundaryConditions grpInletBoundaryConditions
Description
This boundary condition provides a log-law type ground-normal inflow
boundary condition for streamwise component of wind velocity, i.e. \c u,
for homogeneous, two-dimensional, dry-air, equilibrium and neutral
atmospheric boundary layer modelling.
This boundary condition provides a log-law type ground-normal inlet
boundary condition for the streamwise component of wind velocity,
i.e. \c u, for homogeneous, two-dimensional, dry-air, equilibrium
and neutral atmospheric boundary layer modelling.
The ground-normal streamwise flow speed profile expression:
@ -58,12 +58,12 @@ Description
z_0 | Aerodynamic roughness length [m]
\endvartable
Usage
\heading Required fields
\plaintable
Required fields:
\verbatim
U | Velocity [m/s]
\endplaintable
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
inlet
@ -71,37 +71,26 @@ Usage
// Mandatory entries (unmodifiable)
type atmBoundaryLayerInletVelocity;
// Mandatory (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
// Mandatory/Optional (inherited) entries (unmodifiable)
...
}
\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:
- \link atmBoundaryLayer.H \endlink
- \link inletOutletFvPatchField.H \endlink
See also
- Foam::atmBoundaryLayer
- Foam::atmBoundaryLayer::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayer::atmBoundaryLayerInletOmegaFvPatchScalarField
- ExtendedCodeGuide::atmBoundaryLayer::atmBoundaryLayerInletVelocity
- Foam::atmBoundaryLayerInletKFvPatchScalarField
- Foam::atmBoundaryLayerInletEpsilonFvPatchScalarField
- Foam::atmBoundaryLayerInletOmegaFvPatchScalarField
SourceFiles
atmBoundaryLayerInletVelocityFvPatchVectorField.C

View File

@ -32,13 +32,13 @@ Group
Description
This boundary condition provides a fixed heat constraint on temperature,
i.e. \c T, to specify temperature gradient. Input heat source either
specified in terms of an absolute power [W], or as a flux [W/m2].
i.e. \c T, to specify temperature gradient through an input heat source
which can either be specified as absolute power [W], or as flux [W/m2].
Required fields:
\verbatim
nut | Turbulent viscosity [m2/s]
k | Turbulent kinetic energy [m2/s2]
nut | Turbulent viscosity [m2/s]
k | Turbulent kinetic energy [m2/s2]
\endverbatim
Usage
@ -64,23 +64,25 @@ Usage
\table
Property | Description | Type | Req'd | Dflt
heatSource | Heat source type | word | yes | -
alphaEff | Name of turbulent thermal diff. field [kg/m/s] <!--
--> | word | yes | -
Cp0 | Specific heat capacity | TimeFunction1<scalar> | yes | -
q | Heat source value | PatchFunction1<scalar> | yes | -
alphaEff | Name of turbulent thermal diff. field [kg/m/s] <!--
--> | word | yes | -
Cp0 | Specific heat capacity [m2/s2/K] <!--
--> | TimeFunction1<scalar> | yes | -
q | Heat source value [W (power) or W/m2 (flux)] <!--
--> | PatchFunction1<scalar> | yes | -
\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:
- \link fixedGradientFvPatchScalarField.H \endlink
- \link TimeFunction1.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
atmTurbulentHeatFluxTemperatureFvPatchScalarField.C
@ -128,7 +130,7 @@ class atmTurbulentHeatFluxTemperatureFvPatchScalarField
//- Name of effective thermal diffusivity field [kg/m/s]
word alphaEffName_;
//- Specific heat capacity [-]
//- Specific heat capacity [m2/s2/K]
TimeFunction1<scalar> Cp0_;
//- Heat power [W] or flux [W/m2]

View File

@ -44,6 +44,7 @@ scalar atmAlphatkWallFunctionFvPatchScalarField::tolerance_ = 0.01;
label atmAlphatkWallFunctionFvPatchScalarField::maxIters_ = 10;
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
void atmAlphatkWallFunctionFvPatchScalarField::checkType()

View File

@ -31,10 +31,10 @@ Group
grpAtmWallFunctions
Description
This boundary condition provides a wall constraint on kinematic turbulent
thermal conductivity, \c alphat, for atmospheric boundary layer modelling.
It assumes a logarithmic distribution of the potential temperature within
the first cell.
This boundary condition provides a wall constraint on the kinematic
turbulent thermal conductivity, i.e. \c alphat, for atmospheric boundary
layer modelling. It assumes a logarithmic distribution of the potential
temperature within the first cell.
Required fields:
\verbatim
@ -47,7 +47,7 @@ Usage
<patchName>
{
// Mandatory entries (unmodifiable)
type alphatkAtmWallFunction;
type atmAlphatkWallFunction;
// Mandatory entries (runtime modifiable)
Pr 0.90;
@ -66,7 +66,7 @@ Usage
where the entries mean:
\table
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 | -
Prt | Turbulent Prandtl number | PatchFunction1<scalar> | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -

View File

@ -31,14 +31,10 @@ Group
grpAtmWallFunctions
Description
This boundary condition provides a wall constraint on turbulent kinetic
energy dissipation rate, i.e. \c epsilon, for atmospheric boundary layer
flows in neutral stratification conditions.
Required fields:
\verbatim
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
\endverbatim
This boundary condition provides a wall constraint on the turbulent kinetic
energy dissipation rate, i.e. \c epsilon, and the turbulent kinetic energy
production contribution, i.e. \c G, for atmospheric boundary layer
modelling.
References:
\verbatim
@ -56,6 +52,11 @@ Description
DOI:10.1016/B978-0-444-81688-7.50018-8
\endverbatim
Required fields:
\verbatim
epsilon | Turbulent kinetic energy dissipation rate [m2/s3]
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
@ -81,7 +82,6 @@ Usage
The inherited entries are elaborated in:
- \link epsilonWallFunctionFvPatchScalarField.H \endlink
- \link nutWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1 \endlink
See also

View File

@ -32,9 +32,9 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity, \c U, for atmospheric boundary
layer modelling. It is designed to be used in conjunction with the
\c atmBoundaryLayerInletVelocity boundary condition.
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for atmospheric
boundary layer modelling. It is designed to be used in conjunction
with the \c atmBoundaryLayerInletVelocity boundary condition.
The governing equation of the boundary condition:
@ -80,7 +80,7 @@ Usage
Property | Description | Type | Req'd | Dflt
type | Type name: atmNutUWallFunction | word | 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
The inherited entries are elaborated in:

View File

@ -32,8 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on turbulent kinetic energy, \c k, and
velocity, i.e. \c U, for atmospheric boundary layer modelling.
viscosity, i.e. \c nut, based on the turbulent kinetic energy, \c k,
and velocity, i.e. \c U, for atmospheric boundary layer modelling.
The governing equation of the boundary condition:
@ -64,34 +64,37 @@ Description
k | turbulent kinetic energy
\endvartable
References:
\verbatim
Theoretical expressions (tags:RH, SBJM, SM):
Richards, P. J., & Hoxey, R. P. (1993).
Appropriate boundary conditions for computational wind
engineering models using the k-ε turbulence model.
In Computational Wind Engineering 1 (pp. 145-153).
DOI:10.1016/B978-0-444-81688-7.50018-8
Sørensen, N. N., Bechmann, A., Johansen, J., Myllerup, L.,
Botha, P., Vinther, S., & Nielsen, B. S. (2007).
Identification of severe wind conditions using
a Reynolds Averaged Navier-Stokes solver.
In Journal of Physics: Conference
series (Vol. 75, No. 1, p. 012053).
DOI:10.1088/1742-6596/75/1/012053
Sumner, J., & Masson, C. (2012).
kε simulations of the neutral atmospheric boundary layer:
analysis and correction of discretization errors on practical grids.
International journal for numerical
methods in fluids, 70(6), 724-741.
DOI:10.1002/fld.2709
\endverbatim
Required fields:
\verbatim
nut | Turbulent viscosity [m2/s]
k | Turbulent kinetic energy [m2/s2]
\endverbatim
References:
\verbatim
Richards, P. J., & Hoxey, R. P. (1993).
Appropriate boundary conditions for computational wind
engineering models using the k-ε turbulence model.
In Computational Wind Engineering 1 (pp. 145-153).
DOI:10.1016/B978-0-444-81688-7.50018-8
Sørensen, N. N., Bechmann, A., Johansen, J., Myllerup, L.,
Botha, P., Vinther, S., & Nielsen, B. S. (2007).
Identification of severe wind conditions using
a Reynolds Averaged Navier-Stokes solver.
In Journal of Physics: Conference series (Vol. 75, No. 1, p. 012053).
DOI:10.1088/1742-6596/75/1/012053
Sumner, J., & Masson, C. (2012).
k ε simulations of the neutral atmospheric boundary layer:
analysis and correction of discretization errors on practical grids.
International journal for numerical methods in fluids, 70(6), 724-741.
DOI:10.1002/fld.2709
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
@ -111,10 +114,10 @@ Usage
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutAtmWallFunction | word | yes | -
z0Min | Minimum surface roughness length [m] | scalar | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
Property | Description | Type | Req'd | Dflt
type | Type name: nutAtmWallFunction | word | yes | -
z0Min | Minimum surface roughness length [m] | scalar | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
\endtable
The inherited entries are elaborated in:

View File

@ -32,8 +32,8 @@ Group
grpAtmWallFunctions
Description
This boundary condition provides a wall constraint on turbulent
viscosity, i.e. \c nut, based on turbulent kinetic energy, \c k
This boundary condition provides a wall constraint on the turbulent
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
conjunction with the \c atmBoundaryLayerInletVelocity boundary condition.
@ -67,6 +67,12 @@ Description
DOI:10.1016/j.jweia.2006.08.002
\endverbatim
Required fields:
\verbatim
nut | Turbulent viscosity [m2/s]
k | Turbulent kinetic energy [m2/s2]
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
@ -91,7 +97,7 @@ Usage
Property | Description | Type | Req'd | Dflt
type | Type name: atmNutkWallFunction | word | 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
The inherited entries are elaborated in:
@ -100,6 +106,7 @@ Usage
Note
- \c boundNut entry is set \c false for backward compatibility reasons.
- \c nutkAtmRoughWallFunction was renamed to \c atmNutkWallFunction.
See also
- Foam::nutkWallFunctionFvPatchField

View File

@ -31,13 +31,10 @@ Group
grpAtmWallFunctions
Description
This boundary condition provides a wall constraint on specific dissipation
rate, i.e. \c omega, for atmospheric boundary layer modelling.
Required fields:
\verbatim
omega | Specific dissipation rate [1/s]
\endverbatim
This boundary condition provides a wall constraint on the specific
dissipation rate, i.e. \c omega, and the turbulent kinetic energy
production contribution, i.e. \c G, for atmospheric boundary
layer modelling.
References:
\verbatim
@ -54,6 +51,11 @@ Description
Internal Report 00/4. Sweden: Göteborg.
\endverbatim
Required fields:
\verbatim
omega | Specific dissipation rate [1/s]
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
@ -79,7 +81,6 @@ Usage
The inherited entries are elaborated in:
- \link omegaWallFunctionFvPatchScalarField.H \endlink
- \link nutWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1.H \endlink
See also

View File

@ -33,10 +33,10 @@ Group
Description
Computes the Obukhov length field and associated friction velocity field.
When scaled by the ground-normal height, i.e. z, the Obukhov length becomes
a dimensionless stability parameter, i.e. z/L, for atmospheric boundary
layer modelling, expressing the relative roles of buoyancy and shear in the
production and dissipation of turbulent kinetic energy.
When scaled by the ground-normal height, i.e. \c z, the Obukhov length
becomes a dimensionless stability parameter, i.e. \c z/L, for atmospheric
boundary layer modelling, expressing the relative roles of buoyancy and
shear in the production and dissipation of turbulent kinetic energy.
\f[
u^* = \sqrt{\max (\nu_t \sqrt{2 |\symm{\grad{\u}}|^2}, VSMALL)}
@ -85,11 +85,11 @@ Description
Required fields:
\verbatim
U | Velocity [m/s]
T | Temperature [K]
nut | Turbulent viscosity [m2/s]
alphat | Kinematic turbulent thermal conductivity [m2/s]/[kg/m/s]
g | Gravitational acceleration [m/s2]
U | Velocity [m/s]
T | Temperature [K]
nut | Turbulent viscosity [m2/s]
alphat | Kinematic turbulent thermal conductivity [m2/s]/[kg/m/s]
g | Gravitational acceleration [m/s2]
\endverbatim
\table
@ -134,7 +134,7 @@ Usage
rhoRef | Reference density (to convert from kinematic to static <!--
--> pressure) | scalar | no | 1.0
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
The inherited entries are elaborated in:

View File

@ -34,7 +34,7 @@ Description
Applies sources on \c k and either \c epsilon or \c 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 conditions, and prevents
stability for very stable atmospheric stability conditions, and prevents
nonphysical oscillations in regions of low shear at higher altitudes.
Corrections applied to:
@ -50,8 +50,8 @@ Description
Required fields:
\verbatim
k | Turbulent kinetic energy [m2/s2]
epsilon/omega | Dissipation rate OR Specific dissipation rate [m2/s3]/[1/s]
k | Turbulent kinetic energy [m2/s2]
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
\endverbatim
References:
@ -95,10 +95,10 @@ Usage
\table
Property | Description | Type | Req'd | Dflt
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
epsilonAmb | Ambient value for epsilon | scalar | no | 0.0
omegaAmb | Ambient value for omega | scalar | no | 0.0
epsilonAmb | Ambient value for \c epsilon | scalar | no | 0.0
omegaAmb | Ambient value for \c omega | scalar | no | 0.0
\endtable
The inherited entries are elaborated in:

View File

@ -48,7 +48,7 @@ void Foam::fv::atmBuoyancyTurbSource::calcB()
//- Temperature field [K]
const volScalarField& T = mesh_.lookupObjectRef<volScalarField>("T");
//- Turbulent heat transfer coefficient field [m2/s]
//- Kinematic turbulent thermal conductivity field [m2/s]
const 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_
(
dimensionedScalar

View File

@ -47,10 +47,10 @@ Description
Required fields:
\verbatim
k | Turbulent kinetic energy [m2/s2]
epsilon/omega | Dissipation rate OR Specific dissipation rate [m2/s3]/[1/s]
T | Temperature [K]
alphat | Turbulent heat tranfer coefficient [m2/s]
k | Turbulent kinetic energy [m2/s2]
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
T | Temperature [K]
alphat | Kinematic turbulent thermal conductivity [m2/s]
\endverbatim
References:
@ -60,7 +60,7 @@ Description
Consistent two-equation closure modelling for atmospheric
research: buoyancy and vegetation implementations.
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.,
Peralta, C., Altmikus, A., & Letzel, M. (2018).
@ -98,7 +98,6 @@ Usage
// Optional (unmodifiable)
rho rho;
Lmax 41.575;
n 3.0;
beta 3.3e-03;
}
@ -113,7 +112,6 @@ Usage
type | Type name: atmBuoyancyTurbSource | word | yes | -
rho | Name of density field | word | no | rho
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
\endtable
@ -160,9 +158,6 @@ class atmBuoyancyTurbSource
//- Maximum mixing-length scale [m]
const dimensionedScalar Lmax_;
//- Mixing-length scale exponent
const dimensionedScalar n_;
//- Thermal expansion coefficient [1/K]
const dimensionedScalar beta_;

View File

@ -34,16 +34,6 @@ Description
Applies corrections to incorporate the horizontal and vertical components
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
objects that are in motion within a frame of reference that rotates with
respect to an inertial frame.
@ -60,6 +50,16 @@ Description
surface of Earth, so only the horizontal component of the Coriolis
force is generally important.
Corrections applied on:
\verbatim
U | Velocity [m/s]
\endverbatim
Required fields:
\verbatim
U | Velocity [m/s]
\endverbatim
References:
\verbatim
Coriolis force. (n.d.).
@ -80,6 +80,8 @@ Usage
selectionMode all;
// Conditional mandatory entries (unmodifiable)
// Select either of the below
// Option-1: to directly input rotation vector
Omega (0 0 5.65156e-5);

View File

@ -53,7 +53,7 @@ Description
A limited-length-scale k-ε model for the neutral and
stably-stratified atmospheric boundary layer.
Boundary-layer meteorology, 83(1), 75-98.
DOI:10.1023/A:100025221
DOI:10.1023/A:1000252210512
Mixing-length scale limiter for omega (tag:L):
Langner, J. (2016).

View File

@ -31,8 +31,8 @@ Group
grpFvOptionsSources
Description
Applies sources on temperature \c T to incorporate effects
of plant canopy for atmospheric boundary layer modelling.
Applies sources on temperature, i.e. \c T, to incorporate
effects of plant canopy for atmospheric boundary layer modelling.
Corrections applied to:
\verbatim
@ -41,8 +41,8 @@ Description
Required fields:
\verbatim
T | Temperature [K]
qPlant | Heat flux [m2/s3]
T | Temperature [K]
qPlant | Tree-height based specific heat flux [m2/s3]
\endverbatim
Usage

View File

@ -42,9 +42,9 @@ Description
Required fields:
\verbatim
epsilon/omega | Dissipation rate OR specific dissipation rate [m2/s3]/[1/s]
plantCd | Plant canopy drag coefficient [-]
leafAreaDensity | Leaf area density [1/m]
epsilon/omega | Dissipation rate OR Spec. dissipation rate [m2/s3]/[1/s]
plantCd | Plant canopy drag coefficient [-]
leafAreaDensity | Leaf area density [1/m]
\endverbatim
References:

View File

@ -31,7 +31,7 @@ Group
grpFvOptionsSources
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.
Corrections applied to:

View File

@ -192,18 +192,6 @@ Foam::turbulentDFSEMInletFvPatchVectorField::patchMapper() const
// Initialise interpolation (2D planar interpolation by triangulation)
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
(
this->db().time().globalPath()

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2015 OpenFOAM Foundation
Copyright (C) 2016 OpenCFD Ltd
Copyright (C) 2016-2020 OpenCFD Ltd
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -73,32 +73,6 @@ Foam::turbulentDFSEMInletFvPatchVectorField::interpolateBoundaryData
{
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
(
fileName

View File

@ -38,18 +38,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchMapper() const
// Initialise interpolation (2D planar interpolation by triangulation)
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
const fileName samplePointsFile
(
@ -73,7 +61,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::patchMapper() const
// Read data
const rawIOField<point> samplePoints(io, false);
// tbd: run-time selection
bool nearestOnly =
(

View File

@ -72,32 +72,6 @@ Foam::turbulentDigitalFilterInletFvPatchVectorField::interpolateBoundaryData
{
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
const fileName valsFile
(

View File

@ -5,6 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 ENERCON GmbH
Copyright (C) 2018-2020 OpenCFD Ltd
-------------------------------------------------------------------------------
@ -94,7 +95,7 @@ void Foam::fv::actuationDiskSource::writeFileHeader(Ostream& os)
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& subDict)
void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& dict)
{
switch (monitorMethod_)
{
@ -105,7 +106,17 @@ void Foam::fv::actuationDiskSource::setMonitorCells(const dictionary& subDict)
labelHashSet selectedCells;
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)
{
@ -171,10 +182,11 @@ Foam::fv::actuationDiskSource::actuationDiskSource
),
monitorMethod_
(
monitorMethodTypeNames.get
monitorMethodTypeNames.getOrDefault
(
"monitorMethod",
dict
dict,
monitorMethodType::POINTS
)
),
sink_
@ -205,7 +217,8 @@ Foam::fv::actuationDiskSource::actuationDiskSource
UvsCtPtr_(Function1<scalar>::New("Ct", dict)),
monitorCells_()
{
setMonitorCells((dict.subDict("monitorCoeffs")));
//setMonitorCells((dict.subDict("monitorCoeffs")));
setMonitorCells(dict);
fieldNames_.setSize(1, "U");

View File

@ -5,6 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2020 ENERCON GmbH
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
@ -31,19 +32,9 @@ Group
grpFvOptionsSources
Description
Applies sources on \c U to enable actuator disk models for aero/hydro thrust
loading of horizontal axis turbines on surrounding 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
Applies sources on velocity, i.e. \c U, to enable actuator disk models
for aero/hydro thrust loading of horizontal axis turbines on surrounding
flow field in terms of energy conversion processes.
Available options for force computations:
\verbatim
@ -119,6 +110,16 @@ Description
DOI:10.1002/we.1804
\endverbatim
Corrections applied to:
\verbatim
U | Velocity [m/s]
\endverbatim
Required fields:
\verbatim
U | Velocity [m/s]
\endverbatim
Usage
Example by using \c constant/fvOptions:
\verbatim
@ -126,6 +127,18 @@ Usage
{
// Mandatory entries (unmodifiable)
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>;
monitorCoeffs
{
@ -141,16 +154,6 @@ Usage
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)
variant <forceMethod>;
@ -168,15 +171,15 @@ Usage
\table
Property | Description | Type | Req'd | Dflt
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 <!--
--> pointing upstream | vector | yes | -
Cp | Power coefficient | Function1 | yes | -
Ct | Thrust coefficient | Function1 | yes | -
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 <!--
--> | word | no | Froude
--> | word | no | Froude
sink | Flag for body forces to act as a source (true) <!--
--> or a sink (false) | bool | no | true
writeFileStart | Start time for file output | scalar | no | 0
@ -230,7 +233,6 @@ class actuationDiskSource
public cellSetOption,
public functionObjects::writeFile
{
protected:
// Protected Enumerations

View File

@ -5,6 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 ENERCON GmbH
Copyright (C) 2018-2020 OpenCFD Ltd
-------------------------------------------------------------------------------

View File

@ -7,6 +7,9 @@ runApplication blockMesh
restore0Dir
runApplication topoSet
runApplication $(getApplication)
#------------------------------------------------------------------------------

View File

@ -65,6 +65,7 @@ functions
#include "FOLambda2"
#include "FOLambVector"
#include "FOlimitFields"
#include "FOlog"
#include "FOmag"
#include "FOmagSqr"
#include "FOmomentum"
@ -73,6 +74,7 @@ functions
#include "FOpressure"
#include "FOprocessorField"
#include "FOproudmanAcousticPower"
#include "FOpow"
#include "FOQ"
#include "FOrandomise"
#include "FOreadFields"

View File

@ -689,3 +689,4 @@ actions
// ************************************************************************* //

View File

@ -27,9 +27,7 @@ disk1
sink true;
Cp 0.386;
Ct 0.58;
monitorMethod points;
monitorMethod points;
monitorCoeffs
{
points
@ -43,25 +41,13 @@ disk1
disk2
{
type actuationDiskSource;
variant Froude; // variableScaling;
selectionMode cellSet;
cellSet actuationDisk2;
writeToFile true;
sink true;
Cp 0.53;
Ct 0.58;
diskArea 40;
diskDir (1 0 0);
monitorMethod points;
monitorCoeffs
{
points
(
(581753 4785663 1070)
);
}
upstreamPoint (581753 4785663 1070);
}

View File

@ -30,7 +30,7 @@ boundaryField
ground
{
type nutkAtmRoughWallFunction;
type atmNutkWallFunction;
kappa $kappa;
Cmu $Cmu;
z0 $z0;

View File

@ -38,11 +38,11 @@ plotUxUpstream() {
inp1="$timeDir/x_0mPatch_U.xy"
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", \
"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", \
"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", \
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"
@ -72,11 +72,11 @@ plotUxMid() {
inp3="$timeDir/x_4000m_U.xy"
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", \
"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", \
"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", \
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"
@ -106,11 +106,11 @@ plotUxDownstream() {
inp5="$timeDir/x_5000mPatch_U.xy"
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", \
"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", \
"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", \
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"
@ -146,11 +146,11 @@ plotK() {
inp5="$timeDir/x_5000mPatch_$items.xy"
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", \
"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", \
"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", \
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", \
@ -191,11 +191,11 @@ plotEpsilon() {
inp5="$timeDir/x_5000mPatch_$items.xy"
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", \
"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", \
"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", \
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", \
@ -273,11 +273,11 @@ plotMut() {
inp5="$timeDir/x_5000mPatch_$items.xy"
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", \
"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", \
"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", \
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", \

View File

@ -22,7 +22,8 @@ sed -e "s|RAS_MODEL|$RASmodel|g" \
constant/turbulenceProperties.template \
> constant/turbulenceProperties
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

View File

@ -58,7 +58,6 @@ atmBuoyancyTurbSource1
selectionMode all;
rho rho;
Lmax L_MAX;
n 3.0;
beta 3.3e-03;
}
}

View File

@ -55,7 +55,6 @@ atmBuoyancyTurbSource1
selectionMode all;
rho rho;
Lmax 41.0;
n 3.0;
beta 3.3e-03;
}
}

View File

@ -55,7 +55,6 @@ atmBuoyancyTurbSource1
selectionMode all;
rho rho;
Lmax L_MAX;
n 3.0;
beta 3.3e-03;
}
}

View File

@ -12,3 +12,4 @@ rm -f *.png
rm -f constant/{R*,points*,UMean*}
#------------------------------------------------------------------------------

View File

@ -3,10 +3,10 @@ cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
endTime=85
endTime=10
if notTest "$@"
then
endTime=10
endTime=85
fi
sed "s|END_TIME|$endTime|g" system/controlDict.template > system/controlDict
@ -18,3 +18,4 @@ runApplication blockMesh
rm -rf results
#------------------------------------------------------------------------------

View File

@ -30,3 +30,4 @@ the 'results' directory.
#------------------------------------------------------------------------------