DBF R&D

The numerical simulation of fluid flows, also referred to as Computational Fluid Dynamics (CFD), has immense opportunities. We proposed new framework involving synthetic data and machine learning algorithms for predicting air flows around structures as an alternative to complex, simulation-based CFD analysis.

A simple CFD simulation requires a 3D mockup, a meshing pattern, simulation parameters, and execution. The time required for preparation, processing, and post-processing increases exponentially with model complexity. The project significantly contributes to the recognition and acceleration of high-fidelity fluid analysis using machine learning in multiple steps.

Project Focus 🧿

We explored the use of synthetic data for machine learning models like pix2pix and 3D CNN to predict wind speed and direction along with air pressure. Through the use of three-dimensional CFD analysis, our team verifies wind air movement at multiple heights rather than simply ground level, which will suggest the location of various architectural features such as voids, openings, balconies, and windows. We used this methodology to allow designers to iterate and quickly rank different design options, by providing an interactive and real-time system for visualising CFD predictions.

Visualisation of wind speed and air pressure prediction at neighbourhood scale using 3D CNN

Data Generation ⏩

We used 2 approaches to generate synthetic data and then compared which workflow was better. The synthetic data was generated parametrically using visual programming languages like Rhino3D-Grasshopper®.

Numeric Data

The data generation setup consisted of parametric model defined in Rhino3D environment. The Grasshopper-based plugin, Elk, was used to get the 3d building data of a selected area from OpenStreetMap.org, a crowdsourced website mapping data. The model for simulation was defined by the 2 main parameters:
[1] Module area, the 100m x100m x100m module was specified as the maximum area to be analyzed
[2] The module rotation which will be used later to generate multiple data related to the wind direction for the module.

Data generation process through parametricism in a visual programming environment

The data generation process for CFD was undertaken using the Butterfly add-on that integrates the most recognized open-source CFD solver, OpenFOAM® into Grasshopper plugin. Later, this generated data will be used to create a model dataset for machine learning. Because of the very computationally expensive simulation, specific settings were chosen in order to minimize the time for running a single simulation. A 4-meter grid was introduced in the module which created 15,625 grid points/ probes in total or 25 points in x, y, and z directions respectively and max iterations for Butterfly was set to 1000. There were 2 data for machine learning, input and output data. In this process, we used intersection data between the building and the grid, wind direction, and wind speed for input data; the wind vector, wind speed, and wind pressure for the output data. Lastly, that data was saved in .json format for further usage.

Parametric script for automatic synthetic CFD data generation

Image Data

In the the Rhino3D environment, multiple typologies of building footprints were created using a pseudo-random random generative design algorithm. The random typology shapes consist of several common types of footprint such as C, U, L, H, T, I, and rectangular shape footprint. The data generation process for CFD was undertaken using the Butterfly add-on that integrates the most recognized open-source CFD solver, OpenFOAM® to create the required set of images.

Parametric script for CFD data generation inform of images

Model Training 📈

3D ConvNet (CNN)

For the numeric data we used 3D CNN as the machine learning algorithm. A 3D CNN uses a 3-dimensional filter to perform convolutions. The 4-dimensional data required for the training consisted of the 3D grid of size 100x100x100 meters and the presence of building (0,1). Along with this 'windspeed' and 'intersection' were also used as feature variables and the output consisted of 3-dimensional grid with 'pressure' and 'vector lengths'.

Pix2Pix

For the image-based approach, the ML model used was, Pix2Pix, a Conditional Generative Adversarial Network (cGAN), that focuses on image-to-image translation. A set of images encoding CFD simulation were used as an input for the ML model, which encoded its prediction as another image. During training, the ML model used a set of black & white building sections at a specific height as an input. The output image is the resulting image of colored CFD analysis. The input and output resolution of images was set to 512x512 pixels initially and 256x256 pixels for the final model was selected. Python was used for data preparation, and training the model using one of the most widely used machine learning frameworks, Tensorflow®.

Data flow of the image-to-image translation neural network

Visualization 🖊️

The user interface for visualising Air pressure (Pa) on the facades on building blocks
The user interface for evaluating the design possibilities by visualizing realtime 3D wind speed (mph) in web based platform Digital Blue Foam (DBF)
An interactive web-based application was developed, where users can draw building footprints on the canvas and generate the CFD results for the same within seconds. This was developed with the help of P5 JS and Tensorflow JS. (Note: The prevalent wind direction is from the South and the location is New York City; This model was trained for ground level)

Impact ✨

This project aims to identify areas where Machine Learning can outperform traditional methods in predicting airflow around buildings with an acceptable compromise on accuracy but reduced setup and computation time. We also focus on highlighting optimal methods for generating realistic training data through model simplification, enhancing the CFD ML model's training efficiency and prediction accuracy through constraints and assumptions. Finally, we provide an intuitive design tool for fast 3D airflow prediction for building design, which allows for an interactive and real-time system for visualizing CFD predictions, enabling designers to quickly iterate and rank different design options. This methodology significantly contributes to the recognition and acceleration of high-fidelity fluid analysis using Synthetic Machine Learning (SML) framework.