1 of 24

MLuminance

Instantaneous Daylighting Feedback

Karim Daw | Alexander Jacobson | Ken Takahashi | Peter Ehvert

1

2 of 24

Architects

Annual-based criteria

Daylighting Experts

The unit is too deep!

No, now there is glare!

Ah, we need shading.

The windows aren’t big enough!

2

3 of 24

Can we overlay annual daylighting feedback as we sketch?

3

4 of 24

Process: Overview

  • Create Parametric Shoebox Model to explore daylight parameters e.g depth, width, window size etc
  • Use Pollination to build a Useful Daylight Illuminance(UDI) dataset
    • Collibri for iterating over parameters
  • Train TensorFlow on the UDI dataset via Google CoLab
  • Connect Rhino-Hops/PyRevit to trained model
  • Query the TensorFlow model as we sketch with needed parameters
    • In Rhino via HOPs
    • In Revit via PyRevit
  • Use daylight feedback to inform room design by adjusting room perimeter, window size and orientation

4

5 of 24

Solution: Overlay machine learning predictions of daylighting on top of the sketching process in Rhino

5

6 of 24

Process: Timeline

6

Saturday

Sunday

Create Dummy Dataset

Create Real Dataset

Revit Calling ML Model

Train Dummy Dataset

Train Real Dataset

Creating Revit UI

Build Hops Tensorflow link

Build Hops Tensorflow link

7 of 24

Building the dataset: Inputs and variation

Epw weather data from Copenhagen

Orientation is important

UDI is an annual simulation that is notoriously slow to calculate

Collibri iterates over design space

Variables: Orientation, Room width, room depth, Shuffle each corner +/- 1 meter, Room height

7

8 of 24

Building the dataset: Pollination cloud computing

950 runs on pollination (including testing)

Final training dataset is 650 simulations

Parameters for Machine Learning Model, as well as the mask of sensors inside the room were all stored as user Inputs in Pollination

8

9 of 24

Tensorflow: Summary

9

Inputs:

Outputs:

30x31 UDI Mesh

  • Side A wall length*
  • Side B wall length
  • Side C wall length
  • Side D wall length
  • Window height
  • Window width
  • Orientation
  • Room Area

10 of 24

Tensorflow: Summary

10

11 of 24

Tensorflow: Summary

11

Simulated mesh

Predicted mesh

Good Case

1.48% Average Error

Bad Case

12.7% Average Error

Rhino File

12 of 24

Rhino Workflow: Summary

User Modelled Data

Collect Rhino Data

Input Parameters

Predicted Daylight

Predicted Daylight

Predicted Daylight

12

13 of 24

Rhino Workflow: Hops and GH

13

14 of 24

Rhino Workflow: Minimal GH canvas

14

15 of 24

Revit Workflow: Summary

User Modelled Data

Collected Revit Data

Input Parameters

Predicted Daylight

Predicted Daylight

Predicted Daylight

15

16 of 24

Revit Workflow: User Interface

16

17 of 24

Revit Workflow: Retrieving Indicators by Room

17

18 of 24

Revit Workflow: Calling Trained Model with Room Data

18

19 of 24

Reflections: Lessons for next hackathon

  • It would have been better to integrate the post-processing of the data into the Pollination Recipe, instead of post-processing through Grasshopper.
  • Make it a web-interface
  • Focus on visualizing UDI results in Revit. Think about logical deployment.
  • Include spatial information to match coordinates.
  • Boundary condition for more robust application.
  • Visualize in 3d, we have the data anyway...

19

20 of 24

Team: 2 time zones

20

Copenhagen

Copenhagen

Copenhagen

Tokyo

21 of 24

Acknowledgements

Thank you to everyone at Thornton Tomasetti and AEC-Tech, we had a blast

Special thank you to Chris and Mostapha for LBT and pollination and generally being very supportive and patient

McNeel for all their opensource API’s

ML community for humbling us

21

22 of 24

Live Demo

22

23 of 24

Process: Creating Dataset (dummy)

23

24 of 24

Rhino Workflow: Hops and GH

24