Create Two New Evaluator Nodes
For Stage 1, I wanted to evaluate the total energy usage of the building as well as the total amount of electricity that could be generated from by solar. For the energy usage evaluation, I did some research on average energy usage per square foot in high rise buildings, and I found this article in ScienceDirect describing a discrepancy in the energy usage (particularly through cooling consumption) between the first and top floors of high rise buildings by 140%, citing energy consumption variances from 4.0 kWh/m2/month on the first floor to 5.6 kWh/m2/month on the top floor of high rise buildings in extremely hot and humid climates, much like in Dubai. I used these numbers and modified the custom node for evaluating cost by mass floor areas from the lecture examples. Instead of creating inputs for the costs/values at the highest and lowest levels, I created inputs for the energy usage at the highest and lowest levels, using the numbers from the article but converting them from meters to feet. I then multiplied each mass floor area by the energy usage at that floor, and added them up to get the total monthly energy consumption. I also added additional logic into the node to compute the EUI by multiplying the total monthly energy consumption by 12 to get annual energy consumption, then dividing that by the gross floor area. While my EUI numbers ended up seeming quite high, they still worked in terms of comparative analysis for energy efficiency.
For the evaluation on potential electricity from solar, I expanded on the BuildingForm.SolarAnalysis custom node from the lecture examples to specify exactly how much electricity could be generated from PV panels on the roof. I used the BuildingForm.SelectRoofSurfaces to select all surfaces with a normal vector z value of > 0.5 to choose only the roof as the analysis surface for total insolation, and I used list.empty as the input for shading surfaces in the solarAnalysis.Analyze node. I kept cumulativeInsolationPointValues and cumulativeInsolationTotal as outputs but then added an additional output called potentialElectricityFromSolar which multiplies the cumulativeInsolationTotal by a new input for PV conversion efficiency rate, for which I use 0.2, and divides that number by 3 to get a monthly value (since my time study is 3 months).
Point to Ponder: I definitely think the potential electricity from solar evaluation has the potential to capture meaningful differences between building form alternatives, but in this case it stays constant because it’s only driven by the roof surface, which stays constant throughout these specific changing inputs. I think it’s helpful to think in terms of potential electricity generated from solar rather than total insolation because it can help to confirm that the building can source all of its energy from its own solar capacity. Also, while the total energy usage/EUI may not be entirely accurate in these cases, I still think they are helpful evaluation metrics for comparing the relative energy efficiency of different building forms. I think additional metrics within solar capacity and energy use could be helpful, such as more specific discrepancies between the amount of electricity generated and the amount of energy consumed during specific times out of the day.
Develop a Single-Objective Optimization Scheme
For Stage 2, I switched my changing inputs from top height and base length to top height and top length (keeping the base length constant) in order to produce more variations in the potential electricity generated from solar. My single-objective optimization scheme considers the potential electricity from solar, the EUI, the space efficiency (floor area/surface area), as well as whether the building form fits the requirement for 2500000-3000000 SF of floor area using two if tests that produce boolean scores: the first produces 1 if the building fulfills the minimum requirement and 0 if it doesn’t, and the second produces 1 if it stays below the maximum requirement and 0.5 if it exceeds the maximum.
Point to Ponder: While I tried to many different optimization schemes such as averaging and multiplying both my raw scores and scaled scores, it ended up making the most sense for me to simply add up the scaled scores for EUI, solar generation, and space efficiency, using the minimum and maximum values to scale the scores down to a more easily interpreted value, then multiplying this score by my two boolean values of whether the floor area requirements are met, to ensure that any high scoring building forms will fulfill the base requirement of at least 2500000SF gross floor area, and prioritize building forms with a gross floor area of between 2500000-3000000. For my weighing factors I used 1 for electricity from solar, -1 for EUI (since I want to prioritize a low EUI) and 5 for space efficiency, since this is my primary concern at this stage.
Point to Ponder: The main driver behind the scoring ended up being the boolean values for whether the building form fulfilled the floor area requirements, since before adding those values my highest scoring building forms were the ones with the greatest floor areas, with much more than 3000000SF. Within the building forms that fulfilled the 2500000-3000000SF requirements, the scoring was mostly driven by the floor area to surface area ratio, prioritizing building forms with the highest ratio. Since I didn’t include cost/value evaluation in my analysis, I chose to place more weight on the space efficiency ratio because I thought this would theoretically help encapsulate some of that cost-effectiveness. However, this ended up reducing a lot of the relative weight towards EUI/energy efficiency in favor of potential electricity from solar. I definitely think that are some important tradeoffs between solar generation and EUI/energy efficiency that get lost in a single evaluation (e.g., it may be more beneficial to produce less electricity from solar if it means being more energy-efficient overall).