Introduction
In many industries, but mainly in architectural or pedestrian comfort, an Atmospheric Boundary layer may be required. The following post combines resources, theories, and past discussions into one place to give a single resource. It can be used to create a profile in the correct format to be used on the SimScale platform for the two most common simulation types, the Incompressible flow type simulation, and the fast transient LBM Incompressible flow type.
Theory
Mean Velocity Profile
The velocity profile for an Atmospheric Boundary Layer can be written as U(z) = \frac{U_{ABL}}{k}*ln(\frac{Z+Z_0}{Z_0}) (Building and Construction Authority Singapore, 2015) where U(z) is velocity as a function of height and U_{ABL} is the atmospheric boundary layer friction velocity defined as U_{ABL} = \frac{U_{ref}.k}{ln(\frac{h+Z_0}{Z_0})} where h is the reference height, U_{ref} is the reference velocity at reference height h, k is the Von Karman Constant (0.42), Z_0 is the aerodynamic roughness and Z is the function height.
The above reference also provides some descriptions of aerodynamic roughness that can be used:
Z_0 = 0.0002 , Sea
Z_0 = 0.005 , Smooth, featureless land surface
Z_0 = 0.03 , Open, Level country with low vegetation
Z_0 = 0.1 , Roughly open, Cultivated area or occasional obstacles.
Z_0 = 0.25 , Rough, High crops or scattered obstacles
Z_0 = 0.5 , Very Rough, large obstacles (large farms, clumps of forest)
Z_0 = 1 , mature forest, homogeneneous cities and villages
Z_0 \geq 2 , Centres of large towns with mixed high and low rise buildings.
Turbulent Kinetic Energy Profile
Turbulent Kinetic Energy (TKE) can be similarly defined using a similar relation TKE(z) = \frac{U_{ABL}^2}{\sqrt{C_u}}[1 - \frac{Z}{Z_h}]^2 (Giorgio Crasto, 2007), where C_u is a model constant (0.09) and Z_h is the boundary layers height (usually defined at 99% U_{freestream} ).
Turbulent Intensity Profile
Turbulence needs to be defined with Turbulent Intensity for LBM Incompressible flow simulation types, however, this can be defined using the relation between TKE (calculated before) and the relation I = \frac{u'}{U} (n.d., 2018) where u' is the RMS of the velocity fluctuations, which can also be defined as u' = \sqrt{\frac{2}{3}TKE(z)} also found in the same resource. Therefore turbulent intensity can be defined using our previous calculations as I(z) = \frac{\sqrt{\frac{2}{3}TKE(z)}}{U(z)} (\%) , where intensity is defined as a function of height by using the turbulent kinetic energy and mean velocity, both as functions of height.
Turbulent intensity is calculated as a percentage (%) however, LBM required a decimalsed input therefor a conversion /100 is required giving the final profile as I(z) = \frac{\sqrt{\frac{2}{3}TKE(z)}}{U(z)}.\frac{1}{100} .
Profiles
With the above calculations profiles can be produced, an example is depicted below.
Velocity CSV for Incompressible Flow
For CSV input into the standard Incompressible flow simulations, the format of the CSV file needs to represent firstly a full coordinate followed by velocity in all of its components;
X, Y, Z, U, V, W,
between points defined as X, Y, Z the velocity will be linearly interpolated, so it is important that good resolution is given close to the 0 velocity edge, furthermore, several ‘poles’ of points are recommended. i.e. if the inlet boundary was in the YZ plane normal to X, and Z low was the floor, a CSV where Z varies for example [0.01, 0.02, 0.04, 0.08, 0.16, 0.32, 0.64, 1.28, 2.56…] and Y varies [-200, -100, 0, 100, 200] giving poles of points at -200m etc in the increasing distance from the ground if the ground was located at Z=0.
Example CSV:
Example Velocity Profile
x,y,z,Ux,Uy,Uz
-23.8,-24.2,0,0,0,0
-23.8,-24.2,0.01,0.278090037,0,0
-23.8,-24.2,0.02,0.543240874,0,0
-23.8,-24.2,0.04,1.039180936,0,0
-23.8,-24.2,0.08,1.917795899,0,0
-23.8,-24.2,0.16,3.350216549,0,0
-23.8,-24.2,0.32,5.446143044,0,0
-23.8,-24.2,0.64,8.179572987,0,0
-23.8,-24.2,1.28,11.40786585,0,0
-23.8,-24.2,2.56,14.9598633,0,0
-23.8,-24.2,5.12,18.70025931,0,0
-23.8,-24.2,10.24,22.54284355,0,0
-23.8,-24.2,20.48,26.4387269,0,0
-23.8,-20,0,0,0,0
-23.8,-20,0.01,0.086863249,0,0
-23.8,-20,0.02,0.169684854,0,0
-23.8,-20,0.04,0.324594989,0,0
-23.8,-20,0.08,0.599036142,0,0
-23.8,-20,0.16,1.046462137,0,0
-23.8,-20,0.32,1.70113854,0,0
-23.8,-20,0.64,2.554943331,0,0
-23.8,-20,1.28,3.563321803,0,0
-23.8,-20,2.56,4.672811529,0,0
-23.8,-20,5.12,5.841148783,0,0
-23.8,-20,10.24,7.041405202,0,0
-23.8,-20,20.48,8.258309947,0,0
-23.8,-15,0,0,0,0
-23.8,-15,0.01,0.086863249,0,0
-23.8,-15,0.02,0.169684854,0,0
-23.8,-15,0.04,0.324594989,0,0
-23.8,-15,0.08,0.599036142,0,0
-23.8,-15,0.16,1.046462137,0,0
-23.8,-15,0.32,1.70113854,0,0
-23.8,-15,0.64,2.554943331,0,0
-23.8,-15,1.28,3.563321803,0,0
-23.8,-15,2.56,4.672811529,0,0
-23.8,-15,5.12,5.841148783,0,0
-23.8,-15,10.24,7.041405202,0,0
-23.8,-15,20.48,8.258309947,0,0
-23.8,-10,0,0,0,0
-23.8,-10,0.01,0.086863249,0,0
-23.8,-10,0.02,0.169684854,0,0
-23.8,-10,0.04,0.324594989,0,0
-23.8,-10,0.08,0.599036142,0,0
-23.8,-10,0.16,1.046462137,0,0
-23.8,-10,0.32,1.70113854,0,0
-23.8,-10,0.64,2.554943331,0,0
-23.8,-10,1.28,3.563321803,0,0
-23.8,-10,2.56,4.672811529,0,0
-23.8,-10,5.12,5.841148783,0,0
-23.8,-10,10.24,7.041405202,0,0
-23.8,-10,20.48,8.258309947,0,0
-23.8,-5,0,0,0,0
-23.8,-5,0.01,0.086863249,0,0
-23.8,-5,0.02,0.169684854,0,0
-23.8,-5,0.04,0.324594989,0,0
-23.8,-5,0.08,0.599036142,0,0
-23.8,-5,0.16,1.046462137,0,0
-23.8,-5,0.32,1.70113854,0,0
-23.8,-5,0.64,2.554943331,0,0
-23.8,-5,1.28,3.563321803,0,0
-23.8,-5,2.56,4.672811529,0,0
-23.8,-5,5.12,5.841148783,0,0
-23.8,-5,10.24,7.041405202,0,0
-23.8,-5,20.48,8.258309947,0,0
-23.8,0,0,0,0,0
-23.8,0,0.01,0.086863249,0,0
-23.8,0,0.02,0.169684854,0,0
-23.8,0,0.04,0.324594989,0,0
-23.8,0,0.08,0.599036142,0,0
-23.8,0,0.16,1.046462137,0,0
-23.8,0,0.32,1.70113854,0,0
-23.8,0,0.64,2.554943331,0,0
-23.8,0,1.28,3.563321803,0,0
-23.8,0,2.56,4.672811529,0,0
-23.8,0,5.12,5.841148783,0,0
-23.8,0,10.24,7.041405202,0,0
-23.8,0,20.48,8.258309947,0,0
-23.8,5,0,0,0,0
-23.8,5,0.01,0.086863249,0,0
-23.8,5,0.02,0.169684854,0,0
-23.8,5,0.04,0.324594989,0,0
-23.8,5,0.08,0.599036142,0,0
-23.8,5,0.16,1.046462137,0,0
-23.8,5,0.32,1.70113854,0,0
-23.8,5,0.64,2.554943331,0,0
-23.8,5,1.28,3.563321803,0,0
-23.8,5,2.56,4.672811529,0,0
-23.8,5,5.12,5.841148783,0,0
-23.8,5,10.24,7.041405202,0,0
-23.8,5,20.48,8.258309947,0,0
-23.8,10,0,0,0,0
-23.8,10,0.01,0.086863249,0,0
-23.8,10,0.02,0.169684854,0,0
-23.8,10,0.04,0.324594989,0,0
-23.8,10,0.08,0.599036142,0,0
-23.8,10,0.16,1.046462137,0,0
-23.8,10,0.32,1.70113854,0,0
-23.8,10,0.64,2.554943331,0,0
-23.8,10,1.28,3.563321803,0,0
-23.8,10,2.56,4.672811529,0,0
-23.8,10,5.12,5.841148783,0,0
-23.8,10,10.24,7.041405202,0,0
-23.8,10,20.48,8.258309947,0,0
-23.8,15,0,0,0,0
-23.8,15,0.01,0.086863249,0,0
-23.8,15,0.02,0.169684854,0,0
-23.8,15,0.04,0.324594989,0,0
-23.8,15,0.08,0.599036142,0,0
-23.8,15,0.16,1.046462137,0,0
-23.8,15,0.32,1.70113854,0,0
-23.8,15,0.64,2.554943331,0,0
-23.8,15,1.28,3.563321803,0,0
-23.8,15,2.56,4.672811529,0,0
-23.8,15,5.12,5.841148783,0,0
-23.8,15,10.24,7.041405202,0,0
-23.8,15,20.48,8.258309947,0,0
-23.8,20,0,0,0,0
-23.8,20,0.01,0.086863249,0,0
-23.8,20,0.02,0.169684854,0,0
-23.8,20,0.04,0.324594989,0,0
-23.8,20,0.08,0.599036142,0,0
-23.8,20,0.16,1.046462137,0,0
-23.8,20,0.32,1.70113854,0,0
-23.8,20,0.64,2.554943331,0,0
-23.8,20,1.28,3.563321803,0,0
-23.8,20,2.56,4.672811529,0,0
-23.8,20,5.12,5.841148783,0,0
-23.8,20,10.24,7.041405202,0,0
-23.8,20,20.48,8.258309947,0,0
-23.8,25.8,0,0,0,0
-23.8,25.8,0.01,0.086863249,0,0
-23.8,25.8,0.02,0.169684854,0,0
-23.8,25.8,0.04,0.324594989,0,0
-23.8,25.8,0.08,0.599036142,0,0
-23.8,25.8,0.16,1.046462137,0,0
-23.8,25.8,0.32,1.70113854,0,0
-23.8,25.8,0.64,2.554943331,0,0
-23.8,25.8,1.28,3.563321803,0,0
-23.8,25.8,2.56,4.672811529,0,0
-23.8,25.8,5.12,5.841148783,0,0
-23.8,25.8,10.24,7.041405202,0,0
-23.8,25.8,20.48,8.258309947,0,0
Turbulent Kinetic Energy CSV for Incompressible Flow
Turbulent Kinetic Energy profiles for the standard incompressible solver is similar in it requiring a point cloud to interpolate values but instead of needing an array of values for components U, V, W, it simply needs a scalar input for TKE so the CSV format should be X, Y, Z, TKE, .
Example TKE Profile
-23.8,-24.2,0,8.009561337
-23.8,-24.2,0.01,8.009481241
-23.8,-24.2,0.02,8.009401146
-23.8,-24.2,0.04,8.009240958
-23.8,-24.2,0.08,8.008920585
-23.8,-24.2,0.16,8.008279858
-23.8,-24.2,0.32,8.006998482
-23.8,-24.2,0.64,8.004436038
-23.8,-24.2,1.28,7.999312379
-23.8,-24.2,2.56,7.989069983
-23.8,-24.2,5.12,7.968604874
-23.8,-24.2,10.24,7.927753395
-23.8,-24.2,20.48,7.846365384
-23.8,-20,0,8.009561337
-23.8,-20,0.01,8.009481241
-23.8,-20,0.02,8.009401146
-23.8,-20,0.04,8.009240958
-23.8,-20,0.08,8.008920585
-23.8,-20,0.16,8.008279858
-23.8,-20,0.32,8.006998482
-23.8,-20,0.64,8.004436038
-23.8,-20,1.28,7.999312379
-23.8,-20,2.56,7.989069983
-23.8,-20,5.12,7.968604874
-23.8,-20,10.24,7.927753395
-23.8,-20,20.48,7.846365384
-23.8,-15,0,8.009561337
-23.8,-15,0.01,8.009481241
-23.8,-15,0.02,8.009401146
-23.8,-15,0.04,8.009240958
-23.8,-15,0.08,8.008920585
-23.8,-15,0.16,8.008279858
-23.8,-15,0.32,8.006998482
-23.8,-15,0.64,8.004436038
-23.8,-15,1.28,7.999312379
-23.8,-15,2.56,7.989069983
-23.8,-15,5.12,7.968604874
-23.8,-15,10.24,7.927753395
-23.8,-15,20.48,7.846365384
-23.8,-10,0,8.009561337
-23.8,-10,0.01,8.009481241
-23.8,-10,0.02,8.009401146
-23.8,-10,0.04,8.009240958
-23.8,-10,0.08,8.008920585
-23.8,-10,0.16,8.008279858
-23.8,-10,0.32,8.006998482
-23.8,-10,0.64,8.004436038
-23.8,-10,1.28,7.999312379
-23.8,-10,2.56,7.989069983
-23.8,-10,5.12,7.968604874
-23.8,-10,10.24,7.927753395
-23.8,-10,20.48,7.846365384
-23.8,-5,0,8.009561337
-23.8,-5,0.01,8.009481241
-23.8,-5,0.02,8.009401146
-23.8,-5,0.04,8.009240958
-23.8,-5,0.08,8.008920585
-23.8,-5,0.16,8.008279858
-23.8,-5,0.32,8.006998482
-23.8,-5,0.64,8.004436038
-23.8,-5,1.28,7.999312379
-23.8,-5,2.56,7.989069983
-23.8,-5,5.12,7.968604874
-23.8,-5,10.24,7.927753395
-23.8,-5,20.48,7.846365384
-23.8,0,0,8.009561337
-23.8,0,0.01,8.009481241
-23.8,0,0.02,8.009401146
-23.8,0,0.04,8.009240958
-23.8,0,0.08,8.008920585
-23.8,0,0.16,8.008279858
-23.8,0,0.32,8.006998482
-23.8,0,0.64,8.004436038
-23.8,0,1.28,7.999312379
-23.8,0,2.56,7.989069983
-23.8,0,5.12,7.968604874
-23.8,0,10.24,7.927753395
-23.8,0,20.48,7.846365384
-23.8,5,0,8.009561337
-23.8,5,0.01,8.009481241
-23.8,5,0.02,8.009401146
-23.8,5,0.04,8.009240958
-23.8,5,0.08,8.008920585
-23.8,5,0.16,8.008279858
-23.8,5,0.32,8.006998482
-23.8,5,0.64,8.004436038
-23.8,5,1.28,7.999312379
-23.8,5,2.56,7.989069983
-23.8,5,5.12,7.968604874
-23.8,5,10.24,7.927753395
-23.8,5,20.48,7.846365384
-23.8,10,0,8.009561337
-23.8,10,0.01,8.009481241
-23.8,10,0.02,8.009401146
-23.8,10,0.04,8.009240958
-23.8,10,0.08,8.008920585
-23.8,10,0.16,8.008279858
-23.8,10,0.32,8.006998482
-23.8,10,0.64,8.004436038
-23.8,10,1.28,7.999312379
-23.8,10,2.56,7.989069983
-23.8,10,5.12,7.968604874
-23.8,10,10.24,7.927753395
-23.8,10,20.48,7.846365384
-23.8,15,0,8.009561337
-23.8,15,0.01,8.009481241
-23.8,15,0.02,8.009401146
-23.8,15,0.04,8.009240958
-23.8,15,0.08,8.008920585
-23.8,15,0.16,8.008279858
-23.8,15,0.32,8.006998482
-23.8,15,0.64,8.004436038
-23.8,15,1.28,7.999312379
-23.8,15,2.56,7.989069983
-23.8,15,5.12,7.968604874
-23.8,15,10.24,7.927753395
-23.8,15,20.48,7.846365384
-23.8,20,0,8.009561337
-23.8,20,0.01,8.009481241
-23.8,20,0.02,8.009401146
-23.8,20,0.04,8.009240958
-23.8,20,0.08,8.008920585
-23.8,20,0.16,8.008279858
-23.8,20,0.32,8.006998482
-23.8,20,0.64,8.004436038
-23.8,20,1.28,7.999312379
-23.8,20,2.56,7.989069983
-23.8,20,5.12,7.968604874
-23.8,20,10.24,7.927753395
-23.8,20,20.48,7.846365384
-23.8,25.8,0,8.009561337
-23.8,25.8,0.01,8.009481241
-23.8,25.8,0.02,8.009401146
-23.8,25.8,0.04,8.009240958
-23.8,25.8,0.08,8.008920585
-23.8,25.8,0.16,8.008279858
-23.8,25.8,0.32,8.006998482
-23.8,25.8,0.64,8.004436038
-23.8,25.8,1.28,7.999312379
-23.8,25.8,2.56,7.989069983
-23.8,25.8,5.12,7.968604874
-23.8,25.8,10.24,7.927753395
-23.8,25.8,20.48,7.846365384
Velocity CSV for LBM Incompressible Flow
CSV uploads for the LBM Incompressible flow varies a bit in the fact that only height and velocity need defining, it will use the floor to find the ‘0m/s’ edge and the normal into the domain to know its direction, therefore, the format for an LBM CSV upload will be Z, U, where Z is height from the floor (no-slip wall) and U is the velocity magnitude at that height. It should also be mentioned that you do not need to define many points at a set height like the standard incompressible flow simulation type.
Example Velocity Profile
0,0
0.01,0.545280522
0.02,1.043082637
0.04,1.924996441
0.08,3.362795247
0.16,5.466591091
0.32,8.210283949
0.64,11.45069773
1.28,15.01603148
2.56,18.77047116
5.12,22.62748274
10.24,26.53799354
20.48,30.47583637
40.96,34.42749466
81.92,38.38609854
163.84,42.34818474
327.68,46.31201449
655.36,50.27671662
1310.72,54.24185508
Velocity CSV for LBM Incompressible Flow
A similar input is required for LBM Turbulent Intensity, where the format is Z, I, where I is a decimal, i.e. 10% intensity is 0.1.
Example Intensity Profile
0,0.11764915
0.01,0.11764915
0.02,0.061500886
0.04,0.033323667
0.08,0.019074253
0.16,0.011731725
0.32,0.007808746
0.64,0.005595378
1.28,0.004261375
2.56,0.003400289
5.12,0.002806226
10.24,0.00236815
20.48,0.002019707
40.96,0.0017139
81.92,0.001408655
163.84,0.00105916
327.68,0.000626146
655.36,0.000151559
1310.72,0.000114188
References
Building and Construction Authority Singapore (2015) ‘BCA Green Mark for Non-Residential Buildings; 2015 Criteria’
Giorgio Crasto (2007) ‘Numerical Simulations on the Atmospheric Boundary Layer’.
n.d. (2018) ‘Turbulence intensity’, Available at: Turbulence intensity -- CFD-Wiki, the free CFD reference