4.7. Digital Wind Tunnel II: Characterizing ABL Flows using Large-eddy Simulation

This example uses the Digital Twin capability implemented in WE-UQ Version 3.2.0. It demonstrates the procedure for calibrating Atmospheric Boundary Layer (ABL) flows using large eddy simulation in an empty domain configuration. For creating the CFD model, the inputs are taken from a wind tunnel experiment conducted at the boundary layer wind tunnel of Tokyo Polytechnic University (TPU). The cross-section dimensions of the CFD model are set to match the wind tunnel dimensions in the test section. Fig. 4.7.1 shows the extent of the computational domain with dimensions. Fetch distance measures the distance between the inlet anticipated location of the structure. At this location, the characteristics of the approaching wind will be examined. This example is developed based on the works of [Chew2024] and [Melaku2024]. Detailed instructions to set up the CFD model can be found in the documentation of Empty Domain CFD Simulation.

../../../../../_images/we15_domain_geometry.svg

Fig. 4.7.1 Configuration of the computational domain for empty domain analysis

The simulation for this example is run at 1:400 geometric scale similar to the wind tunnel study. Details about the geometry the CFD model and the target flow characteristics are given in Table 4.7.1.

Table 4.7.1 Parameters needed to define the CFD model

Parameter

Description

Value

Unit

\(L_x\)

Domain length

5.2

m

\(L_y\)

Domain width

2.2

m

\(L_z\)

Domain height

1.8

m

\(L_f\)

Wind fetch distance

2.1

m

\(\lambda_L\)

Geometric scale

1:400

\(\lambda_V\)

Velocity scale

1:4

\(\lambda_T\)

Time scale

1:100

\(U_{ref}\)

Reference wind speed

10.69

m/s

\(T\)

Duration of the simulation

37

s

\(z_0\)

Aerodynamic roughness length in full scale

0.5

m

\(\rho_{air}\)

Air density

1.225

kg/m^3

\(\nu_{air}\)

Kinematic viscosity of air

\(1.5e^{-5}\)

m^2/s

\(f_{s}\)

Sampling frequency (rate)

200

Hz

4.7.1. Start

First, open the workflow by selecting Tools -> CFD - Empty Domain Simulation from the menu bar. Then, load the JSON setup file using LOAD File button. The JSON file can be found here. Once the JSON file is loaded, in the Start tab, change the Path to your preferred directory by clicking Browse button as shown in Fig. 4.7.1.1. Leave the remaining settings to their default values.

Note

If the Path field does not automatically change when the JSON path is loaded, you can manually copy and paste your working directory path into the field.

../../../../../_images/we15_start_tab.svg

Fig. 4.7.1.1 Setup the path to the working directory in the Start tab of the workflow.

4.7.2. Domain Dimensions

Since the CFD simulation is run at a reduced scale, change the Geometric Scale (\(\lambda_L\)) to 1:400 as given in Table 4.7.1. In the text, you need to put only 400. Set the lenght (\(L_x\) ), width(\(L_y\) ) and height (\(L_z\) ) of the computational to 5.2 m, 2.2 m, 1.8 m, respectively, as shown in Fig. 4.7.2.1. For the Fetch lenght (X-axis) specify 2.1 m.

../../../../../_images/we15_geometry_tab.svg

Fig. 4.7.2.1 Set the dimensions of the computational domain in the Geometry tab.

4.7.3. Mesh Generation

The mesh is generated by first creating a background grid. Make a uniformly spaced background mesh by specifying No. of Cells in x, y and z directions to 52, 44 and 36. Then, generate the background mesh by clicking Run Background Mesh button. Next, in the Regional Refinements subtab define local refinements. For this example, we create three refinement boxes shown in Fig. 4.7.3.1. The refinement regions are created by providing the min and max coordinates of the bounding boxes. Then, the final mesh is generated by clicking the Run Final Mesh button. This will automatically update the mesh visualization window on the right panel.

../../../../../_images/we15_mesh_tab.svg

Fig. 4.7.3.1 Define meshing controls and generate the grid in Mesh tab.

4.7.4. Boundary Conditions

Set the fields in Wind characteristics group based on the values provided in Table 4.7.1. Set the Velocity Scale (\(\lambda_V\)) to 4, Reference Wind Speed (\(U_{ref}\)) to 10.69 m/s, Reference Height (\(H_{ref}\)) to 0.3 m and Roughness Lenght (\(z_0\)) in full-scale to 0.5 m. For the boundary conditions, use TInf option at the inlet of the domain. For the ground surface, use roughWallFunction and setup the boundary conditions on the remaining surfaces as seen in Fig. 4.7.4.1.

If TInf is used for the inlet, specify the turbulence generation scheme in Inflow Generation group. For this example, use DFM which represents Digital Filtering Method. To specify the target wind profiles, click Import(*.csv) and locate the *.csv file you download from here.

../../../../../_images/we15_bc_tab.svg

Fig. 4.7.4.1 Setup wind characteristics with the boundary conditions in Boundary Conditions tab.

4.7.5. Numerical Setup

Set the turbulence modeling, solver type, duration and time step options in Numerical Setup tab. For the Simulation Type use LES and select dynamicKEqn for the Sub-grid Scale Model. Set the Solver Type to pimpleFoam with 1 Number of Non-Orthogonal Correctors , 2 Number of Corrector Loops and 1 Number of Outer Corrector Loops. Set the maximum Courant number to 1.0 and select Adjustable time step.

For the Duration of the simulation, use \(37 s\) based on what is specified in Table 4.7.1. This time step translates to \(3700s\) in full scale with a time scale 1:100, which is a litter over the recommended 1 hour duration. The Time Steep can be calculated automatically from the smallest mesh size by clicking Calculate button. For this example, the calculated time step is \(0.000736624 s\), which is changed to a conservative value of \(0.005 s\). Finally, check the Run Simulation in Parallel option and put 56 for the Number of Processors.

../../../../../_images/we15_numerical_setup_tab.svg

Fig. 4.7.5.1 Edit inputs in Numerical Setup tab

4.7.6. Set Results to Monitor

In the Monitoring tab, specify simulation results to be recorded as seen in Fig. 4.7.6.1. For this example, we will monitor both the velocity and pressure distribution at selected places in the computational domain. Firstly, check Record Wind Profiles checkbox. Then, add three line probes (profiles) by clicking Add Profile and edit details as shown in bellow figure. For example, Profile1 is located at the inlet and measures the characteristics flow velocity. Profile2 is located downstream and measures the incident flow (i.e., the wind the structure will experience) on a vertical line. Whereas, Profile3 measures the downstream evolution of the pressure fluctuation in the stream-wise direction. Also, specify the Field Write Interval to 10 and Write Start Time to 1.

To monitor the snapshot of the flow field, check Sample Flow Field and add two section planes for monitoring the velocity field. Edit the table entries as seen in Fig. 4.7.6.1. Plane1 is a vertical plane normal to the y-axis and monitors the snapshot of the velocity field from 1 s to 3 s. Plane2 is a horizontal plane normal to the z-axis and monitors the snapshot of the velocity field from 1 s to 3 s. The files for both planes will be written every 50 time step (i.e \(50 \times 0.0005 = 0.025 s\)) as specified in Flow Write Interval.

../../../../../_images/we15_monitoring_tab.svg

Fig. 4.7.6.1 Specify results to record in the Monitoring tab

4.7.7. Run the Simulation

First, in the main WE-UQ window login to DesignSafe with your credentials. Then, in the CFD workflow window, submit the simulation by clicking RUN at DesignSafe. Then, provide the simulation a Job Name. Set Num Nodes to 1 and # Processes Per Node to 56 with a Max Run Time of 12:00:00. Finally, click the Submit button to send the model to DesignSafe.

../../../../../_images/we15_run_job.svg

Fig. 4.7.7.1 Submit the simulation.

4.7.8. Show Results

After submitting the simulation, you can check the status of the remote job by clicking GET from DesignSafe. Once the remote job is finished, the results can be reloaded by selecting Retrieve Data after right-clicking on the job name. This will automatically download the CFD results and activate the Results tab. In this tab, we can examine the characteristics of the flow in different ways, e.g., plot wind profiles, velocity spectra, and pressure fluctuation as seen Fig. 4.7.8.1 .

../../../../../_images/we15_results_tab.svg

Fig. 4.7.8.1 Show the post-processed outputs in the Results.

4.7.8.1. Wind Profiles

In the Monitoring tab, we specified two line probes for monitoring the velocity profile at the inlet and incident location. To plot these profiles under Wind Profile select Name of the Profile as Profile1 and click Plot Profile button. For example, Fig. 4.7.8.1.1 shows the velocity profiles at the inlet which include mean velocity, turbulence intensity and length scale profiles. In this plot, the dotted black lines show the target profiles, while the red solid lines with o are the results from the CFD.

../../../../../_images/we15_results_prof.svg

Fig. 4.7.8.1.1 Comparison of the wind profiles from the CFD at the inlet with the targets values

4.7.8.2. Velocity Spectra

Similarly, the velocity spectra at different heights can be shown by clicking Plot Spectra. For instance, Fig. 4.7.8.2.1 shows the reduced velocity spectra at \(H_{ref}\) for the three components of the velocity. Also, the figure compares the spectra from the CFD (red solid line) with the target von Kármán model (black dotted lines).

../../../../../_images/we15_results_spectra.svg

Fig. 4.7.8.2.1 Comparison of the velocity spectra from CFD with von Kármán at inlet.

4.7.8.3. Pressure Fluctuation

To examine the downstream evolution of the pressure field, select Profile1 for the profile name and plot pressure distribution. Fig. 4.7.8.3.1 shows the standard deviation of the pressure on the ground surface. The x-axis shows the distance from the inlet of the domain. Using turbulent inflow at the inlet often introduces artificial pressure fluctuation at the inlet. However, this fluctuation decays as the flow progresses downstream as shown in Fig. 4.7.8.3.1.

../../../../../_images/we15_results_pressure.svg

Fig. 4.7.8.3.1 Evolution of pressure fluctuation downstream of the inlet.

4.7.8.4. Wind Field Visualization

Furthermore, the full simulation data can be found in Documents/WE-UQ/RemoteWorkDir/results folder. This directory contains the OpenFOAM case files with all *.log files showing the outputs from each step in the simulation. The user can visualize this data locally using Paraview. After launching Paraview, open File -> Open and locate the path Documents/WE-UQ/RemoteWorkDir/results/. Then, open the file vis.foam and load the simulation results to Paraview. The following figure shows a sample visualization of the developing turbulent flow structure in the domain.

../../../../../_images/we15_results_flow_vis.svg

Fig. 4.7.8.4.1 Visualization of the upcoming flow structure close to the ground.

To visualize Plane1 defined in Monitoring tab, load Documents/WE-UQ/RemoteWorkDir/results/Plane1_renamed/Velocity_T*.vtk files to Paraview and create the visualization. The following two videos for Plane1 and Plane2 are created from VTK samples saved during the simulations.

Chew2024

Chew, L.W., Melaku A.F. Ciarlatani, M.F., and Gorlé, C. Validation of LES predictions for wind pressures on a high-rise building: why wind tunnel validation datasets should report detailed turbulent wind statistics. In preparation.

Melaku2024

Melaku, A.F. and Bitsuamlak, G.T., 2024. Prospect of LES for predicting wind loads and responses of tall buildings: A validation study. Journal of Wind Engineering and Industrial Aerodynamics, 244, p.105613.