ENH: add generalised log-law type ground-normal inflow boundary conditions for wind velocity and turbulence quantities for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling ENH: remove `zGround` entry, which is now automatically computed ENH: add `displacement height` entry, `d` ENH: add generalised atmBoundaryLayerInletOmega boundary condition ENH: add a verification case for atmBoundaryLayerInlet BCs DOC: improve atmBoundaryLayerInlet header documentation BUG: fix value-entry behaviour in atmBoundaryLayerInlet (fixes #1578) Without this change: - for serial-parallel computations, if `value` entry is available in an `atmBoundaryLayerInlet` BC, the theoretical ABL profile expressions are not computed, and the `value` entry content is used as a profile data - for parallel computations, if `value` entry is not available, `decomposePar` could not be executed. With this change: - assuming `value` entry is always be present, the use of `value` entry for the ABL profile specification is determined by a flag `initABL` - the default value of the optional flag `initABL` is `true`, but whenever `initABL=true` is executed, `initABL` is overwritten as `false` for the subsequent runs, so that `value` entry can be safely used. Thanks Per Jørgensen for the bug report. BUG: ensure atmBoundaryInlet conditions are Galilean-invariant (fixes #1692) Related references: The ground-normal profile expressions (tag:RH): 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 Modifications to preserve the profiles downstream (tag:HW): Hargreaves, D. M., & Wright, N. G. (2007). On the use of the k–ε model in commercial CFD software to model the neutral atmospheric boundary layer. Journal of wind engineering and industrial aerodynamics, 95(5), 355-369. DOI:10.1016/j.jweia.2006.08.002 Expression generalisations to allow height variation for turbulence quantities (tag:YGCJ): Yang, Y., Gu, M., Chen, S., & Jin, X. (2009). New inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer in computational wind engineering. J. of Wind Engineering and Industrial Aerodynamics, 97(2), 88-95. DOI:10.1016/j.jweia.2008.12.001 The generalised ground-normal profile expression for omega (tag:YGJ): Yang, Y., Gu, M., & Jin, X., (2009). New inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer in SST k-ω model. In: The Seventh Asia-Pacific Conference on Wind Engineering, November 8-12, Taipei, Taiwan. Reproduced benchmark: Rectangular prism shown in FIG 1 of Hargreaves, D. M., & Wright, N. G. (2007). On the use of the k–ε model in commercial CFD software to model the neutral atmospheric boundary layer. Journal of wind engineering and industrial aerodynamics, 95(5), 355-369. DOI:10.1016/j.jweia.2006.08.002 Benchmark data: HW, 2007 FIG 6 TUT: update simpleFoam/turbineSiting tutorial accordingly
80 lines
2.4 KiB
C++
80 lines
2.4 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v1912 |
|
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
location system;
|
|
object sampleDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
// The locations of the sample profiles correspond to:
|
|
// Hargreaves-Wright (2007), Fig.6
|
|
// DOI:10.1016/j.jweia.2006.08.002
|
|
|
|
samples
|
|
{
|
|
type sets;
|
|
libs (sampling);
|
|
setFormat raw;
|
|
interpolationScheme cell;
|
|
fields (U k epsilon nut omega);
|
|
writeControl writeTime;
|
|
|
|
sets
|
|
(
|
|
x_0mPatch // inlet patch face centres
|
|
{
|
|
type face;
|
|
axis z;
|
|
start (0 50 0);
|
|
end (0 50 500);
|
|
}
|
|
x_0mCell // inlet-first cell centres
|
|
{
|
|
type midPoint;
|
|
axis z;
|
|
start (5.0 50 0);
|
|
end (5.0 50 500);
|
|
}
|
|
x_2500m
|
|
{
|
|
type face;
|
|
axis z;
|
|
start (2500 50 0);
|
|
end (2500 50 500);
|
|
}
|
|
x_4000m
|
|
{
|
|
type face;
|
|
axis z;
|
|
start (4000 50 0);
|
|
end (4000 50 500);
|
|
}
|
|
x_5000mCell // outlet patch face centres
|
|
{
|
|
type face;
|
|
axis z;
|
|
start (4995 50 0);
|
|
end (4995 50 500);
|
|
}
|
|
x_5000mPatch // outlet-first cell centres
|
|
{
|
|
type face;
|
|
axis z;
|
|
start (5000 50 0);
|
|
end (5000 50 500);
|
|
}
|
|
);
|
|
}
|
|
|
|
|
|
// *********************************************************************** //
|