Advanced Tutorial: Wind Analysis Simulation using the LBM (Lattice Boltzmann Method) Solver
This article will provide a step-by-step tutorial of how to configure a wind analysis simulation with SimScale by using the LBM solver.
This tutorial uses the Lattice Boltzmann method (LBM)\(^1\) to solve the simulation, which is only accessible through professional licenses.
This tutorial cannot be performed using the community license. Learn more.
If you want to perform external aerodynamics with a community license, you can check out the fluid dynamics section of the
main tutorial page.
This tutorial will teach you how to:
Configure and run a simulation using the LBM solver.
Create relevant geometry primitives in SimScale.
Assign boundary conditions, material, and other relevant properties for the simulation.
Mesh with the automatic mesher.
Use the post-processor and obtain results of interest.
We are following the typical SimScale workflow:
Preparing the CAD model for the simulation.
Setting up the simulation.
Creating the mesh.
Run the simulation and analyze the results.
1. CAD Preparation and Analysis Type Selection
First of all, click the button below. It will copy the tutorial project containing the geometry into your own workbench.
The LBM solver, provided by Numeric Systems GmbH (Pacefish®)\(^1\), has the ability to deal with many CAD types and is more robust than many solvers in solving the geometry. Open geometry such as poor faces and small faces do not affect the meshing operation, however, if you encounter issues or error, an STL can normally be uploaded which may mitigate any issues you are experiencing.
You can upload the geometry the same way as you would normally upload a geometry to the SimScale platform. Simply click the “+” sign next to geometry in the simulation tree in the left-hand panel.
You can upload the geometry from your local machine or import from Onshape directly.
2. Simulation Setup
To create a simulation, you only need to create a new simulation selecting the Incompressible LBM simulation type. First, select the “+” in the item tree next to simulations and select theIncompressible LBM simulation type.
You can name the simulation and change the turbulence model that is used in the simulation. Find out more about the selection of unsteady turbulence models in our documentation.
2.1. External Flow Domain
To define how air is entering and exiting the ‘domain’ or the ‘fluid region’, we need to define boundary conditions. This consists of an inlet face, and outlet face and other faces, usually a combination of no-slip walls or slip walls for non-interfering boundaries. The first task in this process is to define the size of the fluid domain, and this is done in the External Flow Domain section.
2.2 Geometry Primitives
You can add geometry primitives in later by operations. The created geometry primitives will be used as mesh refinements or export regions. However, there will always be a geometry primitive called External Flow Domain which can be edited to control the size of the fluid region.
Air is automatically assigned to the domain as this is a wind analysis simulation.
2.4 Boundary Conditions
The next step in the process is to setup our boundary conditions. We need to configure our inlet and outlets in the boundary condition.
As default the ‘X min’ face on the external domain will be defined as the inlet, and the ‘X max’ boundary as the pressure outlet, all other faces are defined as slip walls with the exception of the floor as ‘Z min’ which is defined to have a no-slip wall condition.
You can change these things according to your simulation setup, however, if you need to define an angled wind direction you can set a wind direction in the bounding box geometry primitive.
You can upload a CSV file to define an atmospheric boundary layer for both velocities as a function of height and intensity or kinetic energy as a function of height. This is discussed in greater detail a post here: Defining an Atmospheric Boundary Layer.
If you define an atmospheric boundary layer by a CSV file, make sure that ground height is defined as 0.
If the terrain is not modeled in your CAD, the solver will consider ground zero with respect to the minimum wind tunnel floor.
If the terrain is modeled, then the ground zero will be the top face of your terrain model.
2.5 Simulation Control
The end time is the time in which you want the simulation to run for, for example, 400 s will simulate 400 s of flow time. The maximum run time will cap the simulation to maximum time in real-time. For example, setting a low number will stop the simulation midway if it goes beyond this physical time.
It is recommended that a simulation is run for 5 refreshes of the flow, which means a particle of air can go from 1 side of the domain to the other side in 5 s before termination.
2.6 Result Control
We should also define the results that we are interested in for this simulation. In addition, we will calculate the forces and moments and define a number of probe points that read the velocities at the pedestrian level. It will be exported at a high resolution, this is useful for operations such as mean velocity, turbulent intensity, and peak velocities at the pedestrian level.
a. Forces and Moments
If you are interested in having the forces and moments of the wind calculated, this can be done by enabling the Forces and moments settings in Result control. However, as this also affects computation time significantly, we only need to assign faces that are of interest.
Under Result control, you should click the “+” beside the Forces and moments.
You should enable Export statistical data and Group assignments by sliding the slider button so it shows a blue color.
Lastly, you would assign the faces of interest. If there is a prevailing wind from a certain direction and a building is heavily affected by that wind direction, the face of the building that is facing against this direction may be of interest.
For example, we will enable the Forces and Moments for the faces of the highest buildings that are facing against the inlet.
b. Probe Points
Below Forces and Moments, we can activate Probe Points, if there are any points in the domain that are of interest. The positions of these probe points are defined by uploading a CSV file in the format ‘probe name, x-ordinate, y-ordinate, z-ordinate’. The probe name will be used to represent the probe in the plot, whereas the others will define its location in the domain. Below is an example of probe points that are defined for this tutorial.
c. Transient Output
For transient outputs, the export of a region at every defined interval is allowed for either fluid volume or surface data or both. We consider this process as this happens at every interval defined and the size of the solution export may quickly become too big, however, this can easily be avoided by exporting with moderation and smaller regions.
First, you should create a geometry primitive to define the pedestrian level.
Second, you should enable Export flow-domain fields and define the pedestrian slice as the geometry primitive in the Transient Output by sliding the slider so it shows a blue color.
The above example shows the pedestrian slice being output every 0.2 s for fluid only results.
d. Statistically Averaged Results
Starting with statistically averaged results, this takes the transient simulation and finds the mean results for all fields. The statistical averaging is done from a defined time (in percentage) and in defined intervals (in seconds) to define the frequency of the averaging. Furthermore, the result control can export surface data and fluid region data or one of each.
The above example has been defined to export both surface and fluid data, averaging the results every 0.001 s starting at 20% (0.2) in total simulation time. Also, if the time steps are bigger than 0.001 s, the averaging will just happen every timestep, so if you’re unsure about the time step size but know you want all data considered, simply select a small number as demonstrated.
Snapshots take the last timestep of the simulation and export the instantaneous result fields for either fluid volume or surface data or both.
For an LBM mesh, you will need 3 main things in your mesh setup, the fineness of the background box, a surface refinement on the buildings, and a region refinement to properly capture the turbulence and flow physics in the near field. The following steps will guide you as to how these 3 definitions can be set.
The above image shows the setting of the background mesh fineness. You are allowed to change this, but it is advised to start with a coarse fineness and work your way up for wind analysis projects.
You can add refinements in the mesh by adding the refinement. Where in LBM, options for surface and region refinements exist.
For this wind analysis simulation, a region refinement should suffice as the mesh already takes into account the size of the buildings. For a region refinement, a new geometry primitive needs to be defined, assigned to refinement, and fineness is specified.
First, you would click the “+” button beside the Geometry Primitives and select Local Cartesian Box as the geometry primitive.
You should define the size of the geometry primitive.
You can define the geometry primitive as the region that will be refined by sliding the slider button so it shows a blue color. You can modify the fineness of the mesh refinements but the same logic as meshing follows here, where it is wise to start from coarse and run another simulation with finer refinements if needed.
You are able to start a simulation run after going through the simulation tree. At this point, errors or warnings will be displayed. If no errors occur, you will be asked to name the run and start it. If warnings are present, the user can choose to continue regardless of or cancel and amend the issue. You will be asked to fix the issues before running the simulation if errors are detected.
4.2 Post-Process the Results
After the simulation has finished, you will have three main results at your disposal, which are:
Snapshot Solution: the result of the last timestep.
Averaged Solution: an averaged result of all the timesteps.
Transient Solution: a transient result based on the interval of the timesteps. Transient results can be animated as it has saved the result from each timestep.
If you have defined additional result controls such as Forces and moments, Probe points, or Field calculations, the results will be available below the simulation results.
For the three solutions, you will have SimScale’s built-in post-processor at your disposal. Below is a view of the post-processor after the wind analysis simulation has finished.
You can access these results by:
Clicking the Post-process results button, after the run is finished. You will be taken to the averaged solution.
By clicking on the finished simulation runs, the solutions that are available will appear.
a. Transient Results
You will have the full capability of SimScale’s post-processor to process your simulation results, however we will focus on the transient results.
As described before, you are able to animate the simulation results with the transient solution. Here are the steps to set up an animation of your results:
Select Transient Solutionin your simulation tree.
After the Post-processor has successfully uploaded, you can hide parts of the domain to emphasize your results. For this wind analysis tutorial, we will disable the noSlipBoxVolume by clicking the eye symbol beside it, as shown below.
By selecting Results, you can select the results you want to show. We will select All Velocity_e as an example and will appear after being selected.
You can start your animation by clicking the ‘play’ button on the top of the post-processor. The animation will start after the post-processor has finished loading the results. Below is an example of an animation of a simulation run.
You will also be able to see plots from the probe points that were defined before and the force plots based on the faces that we have defined before. Other than the plots, a table containing the statistical data is also available and can be downloaded if further data processing is necessary.
b. Plots for Probe Points
The results are visualized in a temporal plot and a statistical summary. These results can be downloaded as an image and as a CSV file. You can also choose which probe points you want to display by clicking the legend below the plot. The results that are available for the defined probe points are:
Magnitude of Velocity (UMag)
Velocity in y-direction (Uy)
Velocity in z-direction (Uz)
Velocity in x-direction (Ux)
b. Plots for Forces
Similar to the result of your probe points, the result of the forces and moments are also displayed in a temporal plot and a statistical summary. The forces and moments are calculated individually in the x-, y- and z-direction.
Congratulations! You finished the wind analysis tutorial!
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.