Back to all tutorials

Wind around Buildings - CFD Simulation SimFlow Tutorial

1. Introduction

In this tutorial we will present the simulation of wind flow around the buildings. Aerodynamic of the building is a growing challenge in today’s construction industry. Here we will present one of the possible way of analysing the wind flow through the urbanized areas.

An important aspect of this problem is the proper modeling of the boundary conditions. We will use specially dedicated boundary condition for the inlet - Atmospheric Inlet. It defines the flow profiles of mean wind speed and turbulence quantities that are applied in the inlet plane. These profiles model fully developed and representative of the terrain characteristics of the upstream part that is not include in the computational domain.

Finally, we will read the wind velocity which may affect pedestrians between the building. We will display the pressures on buildings that may affect their construction.

2. Create New Project

After opening SimFlow, we will create a new case named buildings

  1. Go to New panel

  2. Provide name buildings

  3. Click Create Case

simflow-launcher

3. Import Geometry

Firstly, we need to Download GeometryBuildings
The geometry will be imported in the same units as it was exported to the STEP format.

  1. Click Import Geometry

  2. Select geometry file buildings.step

  3. Click Open

Geometry Import

4. Import Geometry II

In some cases, the imported external geometry may contain multiple parts. SimFlow will ask you whether you want to join all geometries into a single component. If not, each part will be put into separate items.

For the purposes of this tutorial, we will combine all parts into a single geometry.

  1. Press Yes button

b 03 import notice

5. Geometry - Buildings

After importing geometry, it will appear in the 3D window.

  1. Click Fit View to zoom in on the geometry

b 04 geometry buildings

6. Create Geometry - Refinement

To be able to better resolve flow around the buildings, we will create an area with a higher mesh resolution. To do this, we will add box geometry.

  1. Select Create Box

  2. Change geometry name from box_1 to refinement

  3. Set the origin and box dimensions
    Origin \({\sf [m]}\)-20-800
    Dimensions \({\sf [m]}\)25016085

b 05 refinement

7. Meshing Properties - Buildings

After geometry is ready, we can proceed to define meshing properties. To better resolve the flow around the buildings, we want to refine mesh near the buildings geometries by specifying minimum and maximum refinement levels.

  1. Go to Hex Meshing panel

  2. Select buildings geometry

  3. Enable Meshing Geometry

  4. Set the minimum and maximum refinement level
    Refinement Min 2 Max 4

b 06 hex meshing

8. Meshing Parameters - Refinement

The refinement geometry should be used only for marking refinement zones. Set the proper parameters for the refinement regions.

  1. Click on the refinement geometry

  2. Enable Refine Geometry

  3. Set the refinement Level to 1

b 07 refinement

9. Base Mesh

Base Mesh is a domain mesh of our simulation from which the final mesh will be created by carving out the geometry of the buildings.

  1. Go to Base tab

  2. Define base mesh parameters accordingly
    Min \({\sf [m]}\)-300-3000
    Max \({\sf [m]}\)500300400

  3. Set the division of the base mesh and its grading
    Division322418
    Grading113

b 08 base mesh

10. Base Mesh Boundaries

We need to assign individual names to each side of the base mesh in order to be later able to define different conditions on each side. To achieve simplified slip condition on side and top boundaries we will use symmetry as a boundary type.

  1. Define boundary names accordingly
    X- inlet
    X+ outlet
    Y- right
    Y+ left
    Z- bottom
    Z+ top

  2. Define boundary types accordingly
    Y- Symmetry
    Y+ Symmetry
    Z- Wall
    Z+ Symmetry

b 09 base mesh boundaries

11. Material Point

Material Point tells the meshing algorithm on which side of the geometry the mesh is to be retained. We are simulating flow around the buildings so our material point needs to be located inside the base mesh but outside the buildings.

  1. Go to Point tab

  2. Specify location inside base mesh but outside buildings geometries
    Material Point00160

b 10 material pointpng

12. Start Meshing

Everything is now set up for meshing.

  1. Go to Mesh tab

  2. Press the Mesh button to start meshing process

b 11 meshing

13. Mesh

The new mesh will be displayed in the graphics window. To show the mesh of the buildings we can use the Graphics Object List to hide some boundaries.

  1. Click Graphics Object List icon

  2. Select Mesh to show meshes list

b 17 mesh

14. Mesh - Toggle Visibility

You can hide domain boundaries to inspect the mesh on the buildings.

  1. Hide the following objects
    inlet
    left
    outlet
    right
    top

b 18 mesh hide

15. Select Solver - SIMPLE

We want to analyze incompressible turbulent flow around the buildings. For this purpose, we will use the SIMPLE (simpleFoam) solver.

  1. Go to Setup panel

  2. Enable Steady State filter

  3. Enable Incompressible filter

  4. Select SIMPLE (simpleFoam) solver

  5. Select solver

b 19 select solver

16. Turbulence

We are going to use the \(RNG \; k{-}\epsilon\) model to handle turbulence.

  1. Go to Turbulence panel

  2. Select turbulence model
    Turbulence Modelling RANS

  3. Change default turbulence model
    Model \(RNG \; k{-}\epsilon\)

b 20 turbulence

17. Boundary Conditions - Inlet

On the inlet boundary, we are going to apply Atmpspheric Inlet boundary condition. It is dedicated condition for atmospheric airflow. The Atmospheric Inlet provides log-law type ground-normal inlet boundary conditions for wind velocity and turbulence quantities. It is applied for homogeneous, two-dimensional, dry-air equilibrium and neutral atmospheric boundary layer modelling. More about Atmospheric Inlet boundary condition you can find here.

  1. Go to Boundary Conditions panel

  2. Select inlet boundary

  3. Change boundary character to Atmospheric Inlet

  4. Set the velocity
    \(U_{ref}\) \({\sf [m/s]}\)5

b 21 bc inlet

18. Monitors - Sampling (I)

During the calculation, we can observe intermediate results on a section plane. To add sampling data on a plane we need to define plane properties and also select fields that will be sampled. We will monitor the pressure and velocity at a height of 2 metres from the ground. Note that runtime post-processing can only be defined before starting calculations and can not be changed later on.

  1. Go to Monitors panel

  2. Switch to Sampling tab

  3. Select Create Slice

  4. Set slice plane location
    Point \({\sf [m]}\)002

b 23 monitors slice

19. Monitors - Sampling (II)

Now, create a vertical slice.

  1. Select Create Slice

  2. Set slice normal vector
    Normal \({\sf [-]}\)010

b 24 monitors slice2

20. Monitors - Sampling (II)

Now, specify which results should be sampled on the section planes.

  1. Expand Fields list

  2. Select pressure p and velocity U

b 25 monitors fields

21. Run - Time Control

Finally, we can start our computation.

  1. Go to RUN panel

  2. Set the maximum Number of Iteration to 500

b 26 run

22. Run - CPU

To speed up the calculation process increase the number of CPUs basing on your PC capability. The free version allows you to use only 2 processors in parallel mode. To get the full version, you can use the contact form to Request 30-day Trial

Estimated computation time for 2 processors: 4 minutes

  1. Switch to CPU tab

  2. Use parallel mode

  3. Increase the Number of processors

  4. Click Run Simulation button

b 27 run cpu

23. Residuals

When the calculation is finished we should see a similar residual plot.

b 28 residuals

24. Slice - Velocity Field

Slices tab appears next to the Residuals tab. Under this tab, we can preview results on the defined section plane.

  1. Change tab to Slices

  2. Select the velocity U

  3. Click Adjust range to data

  4. Click Graphics Object List icon

  5. Select GEOMETRIES and show the buildings

b 29 slice

25. Postprocessing - ParaView

After computations are finished, we can do complex visualization of our results with ParaView.

  1. Go to Postprocessing panel

  2. Start ParaView

b 30 postprocessing paraview

26. ParaView - Load Results

Load the results into the program.

  1. Make sure you have your case selected buildings.foam

  2. Click Apply to load results

  3. Select contour coloring variable to U

  4. Click Last Frame to load the final result set

  5. After loading results they will be shown in the 3D graphic window

b 31 pv import

27. ParaView - Clip

To limit the investigation area we will Clip the domain by the box.

  1. Select Clip option

  2. Change the Clip Type to Box

  3. Enter box parameters accordingly
    Position8000
    Rotation000
    Scale0.50.30.1

  4. Click Apply

b 32 pv clip

28. ParaView - Velocity Field

Now we will create velocity magnitude parameter. It will be helpful in scaling and coloring the velocity vector field.

  1. Make sure you have Clip1 field selected

  2. Select Calculator

  3. Type the magU as Result Array Name

  4. Type the formula mag(U)

  5. Click Apply

b 33 pv calc

29. ParaView - Velocity Field Settings

To visualize the flow around the building we will create vector field.

  1. Make sure you have Calculator1 field selected

  2. Select Glyph option

  3. Set the scale factor to 2

  4. Change the Maximum Number Of Sample Points to 2000

  5. Click Apply

  6. Hide the Calculator1 field

  7. Click Rescale to Data Range

b 34 pv glyph

30. ParaView - Import Geometry (I)

To display results with the original geometry, we can import the case once again and select only suitable boundaries. Now, we will import the buildings and the ground boundaries.

  1. Click Open

  2. Select the buildings.foam file from the case directory …​/buildings/buildings/buildings.foam

  3. Click OK button

b 35 pv import geometry

31. ParaView - Import Geometry (II)

  1. Check bottom and buildings instead internalMesh boundary

  2. Click Apply button to show the geometry

  3. Set the coloring as Solid Color

b 36 pv import geometry 2

32. ParaView - Display Velocity Field

Now we can see the velocity vector field around the buildings.

b 37 pv vector field

33. ParaView - Pressure on Buildings (I)

To display pressure on the buildings we need to hide vector field and change the coloring to the pressure.

  1. Hide the Glyph1

  2. Select buildings.foam field (with the buildings and ground boundaries)

  3. Change the coloring set to pressure p

b 38 pv buildings pressure

34. ParaView - Pressure on Buildings (II)

Pressure field is displayed on the selected boundaries.

b 39 pv buildings pressure