DIVA is Awesome and Everyone Should Use It

We’ve been playing around with the DIVA plugin for Rhino and Grasshopper for the past month and wanted to share some of our experiences.  The DIVA plugin is being developed by Harvard University’s GSD-Squared Research Initiative and we are greatly appreciative of their efforts to make daylight simulation more accessible.

DIVA stands for Design Iterate Validate Adapt which is similar to the approach that we take with parametric modeling.  We’ve found that we tend to learn more about a design problem when we look at a large number of iterations as opposed to just choosing the best of three.  With this approach it often is possible to tease out patterns of performance which can help in developing a better intuition about how to find an optimized solution to a problem.

One of DIVA’s capabilities is to run DAYSIM climate-based metrics, such as Useful Daylight Index(UDI) and Daylight Autonomy(DA), which use weather data to calculate lighting performance over the course of the entire year.  Looking at a design’s daylighting performance in this way can help to identify the overall effectiveness of a daylighting solution and give an idea of potential energy savings.  An example of this is a study we ran with DIVA that looked at the relationship between ceiling height, window size, percent glazing and a floorplate’s Useful Daylight Index(UDI).

The first thing you’ll notice from the above animation is that false color graphics are awesome.  Well, at least they are to us.  They never fail to get people excited even if the viewer has no idea what they’re depicting.  This is a problem.  Yes, we want people to look at what we show them, but it’s also important that they understand how to read the graphics.  The general rule is that bright colors correspond to higher illuminance levels or better daylight distribution, but we’ve also found that it can be useful to use different color gradients for different metrics so that it is obvious to the viewer that we’re showing something different.  It is important to get both clients and designers to look at these graphics as a tool for improving the design rather than just another form of documentation.*

The advantage of using a tool like Grasshopper is that we can automate most if not all of the simulation process.  Using techniques similar to those we used for exploring the panel geometry of the Cleveland Medical Mart, we were able to get the definition to iterate through each analysis on its own so that we could set it to run overnight.

A challenge that came out of this process was creating all of the annotations for each iteration.  Normally, we would do this manually in something like InDesign if we only had a handful of simulations to run.  In the above animation there were over 40 simulations which would’ve meant a lot of bookkeeping and data entry.  To get around this we collected text from various parts of the Grasshopper definition and then displayed that text in the viewport using our analysis key definition.  Initially, we were baking all of the geometry and text into Rhino and then rendering it, but later realized it was much faster to use the ViewCaptureToFile command.

The filename for each image became a record of the parameter settings for that iteration.  Each parameter is separated by a character, in this case “^”, and then there is a panel component in Grasshopper that records what each value relates to.  It’s definitely not the easiest thing to read, but it has proven helpful many times.  The results file that DIVA generates is also named using this same system.

The results of a simulation are returned as an output of the DIVA Analysis component, but it is also possible to use the Grasshopper Read File component to load the results into the definition.  This approach requires a few additional components to specify the file path and remove the unneeded data (Download importDIVAResults.ghx, 20.93 kB ).  Using this method makes it possible to quickly switch between the different results files.  A problem we’ve had with the UDI 100-2000lux results is that 100 lux is lower than we want our minimum to be while the 2000 lux is an acceptable maximum.  Recently, we created a custom range by subtracting the UDI>2000 results from the Daylight Autonomy results which allows us to specify the minimum through the Daylight Autonomy settings and then use the UDI>2000 results as our maximum.


Simulation analysis has the potential to become more prevalent in the design process as it is further integrated with the 3D modeling work flow especially in the case of parametric modeling.  It’s becoming more apparent how effective parametric modeling is for exploring a multitude of design iterations and with the integration of simulation analysis those iterations can be judged against yet another metric.  We’re looking forward to the release of DIVA 2.0 which will include thermal analysis capabilities through the use of EnergyPlus and seeing how that additional metric influences something like the relationships we explored above.

*CAUTION:  False color graphics are sometimes considered “eye candy” presumably because they look so sweet!  As with real candy, you risk making someone sick if you force them to consume too much.  Always pair with a healthy dose of explanation and annotation.

One Comment

  1. Nathan Lowe says:

    Thanks for the great work and the sharing!

Leave a Comment