is there a way to import the wind speed and direction from LB in BF so that an outdoor simulation can be done in various moment of the year with different prevailing winds? If not, would you manually do a wind analysis and then a CFD simulation for chosen conditions only? Else?
There sure is! This is the standard way we set up studies with BF, by bringing in wind velocity and direction from LB and the weather files. However, I am not sure there is value in what you are thinking to do. If I understand it correctly you want to run one study per hour of wind (since that is the smallest interval in the weather file). That could become very time consuming quite quickly. For one day of simulations you would probably need around 24-48 days of computational time on small to medium meshes.
If what you are thinking of is to use the prevailing wind conditions and generate a number of wind directions with BF then the atttached file should do what you need (the prevailing wind condition is at 1st to 2nd step).
P.S.: I should note that the file is not updated to the latest BF, you should do so if you are using that version. The general logic should work however.
0_CFDModel.gh (568.0 KB)
I expect a lot of people having this question in the future as well, so I will add to what @TheodorosGalanos mentioned here.
Theodoros says this because he knows a better way.
How does one take advantage of wind direction and wind velocities provided in a standard EPW file for all hours of the year? The one word answers is by the use of Wind Factors. Following is how this is done;
CFD simulation is done for minimum 2 opposite directions and maximum 36 directions.
In the step above, yearly average wind velocities from particular directions are used. These we get from Ladybug_WindRose component.
Based on all these CFD simulations, wind factors are calculated on the test points you are interested in.
The idea of a wind factor is similar to Daylight factor. The wind factor at a particular point tells us the percentage of wind velocity the point will experience for the wind coming to the point from a particular direction. The number of wind factor that every test point will have will be similar to the number of CFD simulations (for the number of directions) you conduct. For instance, for a particular point, wind factor from north can be 0.87 and east can be 0.45. This obviously depends on the context and other co-efficients.
Once you have a list of wind factors for all test points. You can use the EPW weather data to generate the wind velocity the point will experience any hour of the year. Following is how it is done; let’s assume that we did 36 CFD simulations and therefore, we have 36 wind factors for each test points. Now we start running through the wind directions for each hour of the year from EPW data. Say for the first hour, wind is coming from 8 degrees clockwise from North, and the wind veclocity if 4m/s. We will use, the wind factor for our first CFD run which will be at 7.5 degrees clockwise from north. Let’s assume that based on the context, the wind factor is 0.5 then the wind velocity experienced at the test point for the first hour of the year will be 4 * 0.5 = 2 m/s. In this manner, we will run through all the hours of the year and will use wind factor for the direction near to the wind direction at that hour.
By following the above mentioned steps, you can have 8760 velocity values for each test point, thereby giving you an annual picture of the wind you are likely to experience at the area of interest.
Many thanks to all of you, very useful.
many thanks for this file, I’ve looked at it quite in depth, the thing that I am struggling to get is the logic behind the wind tunnel construction.
If I weel understand, you first extract the longest dimension and the height of the bounding box “wrapping” the buildings; then I don’t get why you seem to do a proportion (the longest dim/height) to get the multiplier for both windward and side of the tunnel, rather than just multiply the height by the factor you want?
Other sample cases I found around, simply input sliders into the “Wind Tunnel Parameters” component; in this case, I don’t get how the component “knows” what it needs to multiply by the number shown on the slider (which is the height, but how does it know this, if not connected to the height dimension of the bounding box?).
Thank you for your help, V.