Kai Kirk

Link to Design Journal
Journal Entry For
Module 6 - Evaluate Your Alternatives
Created By
Related to 120C/220C Students - Spring 2022 (1) (Related to Design Journal Entries | Winter 2022 (Linked Student))

This test evaluates mid-height parameter changes of the Twisting Cog Tower Mass for an optimal combination of metrics/goals, outlined below. The goals are a mix of floor- and surface-based measures:

Prescribed goals:

  • [surface-based] Minimize surface area of the building envelope (”Gross Surface Area” of the mass)
    • This feature was built in the previous assignment, using Element.GetParameterByName

  • [surface-based] Maximize solar insolation potential as measured by cumulative insolation available on the building envelope surfaces throughout the year. (Run using Current Sun Settings from Revit, and 2010 annual analysis).

  • [floor-based] Minimize construction cost – for simplicity, assume that the construction cost per SF will grow linearly from $700 per SF at the ground level to $1500 per SF at 750’ above the ground. A few output options were created in the custom Cost node, at each calculation step towards total cost per square foot:
    • Individual floor cost per SF
    • Total building cost, gross
    • Total building cost, per SF

New ideas:

Attempting to come up with both floor-based and surface-based metrics to practice using floor and surface parameters, I propose the following metrics:

  • [floor-based] Minimize elevator ride duration (simplified): determine the average time of an uninterrupted one-way elevator ride to the ground floor...assuming:
    • Constant occupancy per square foot (unrealistic, but enables averaging by floor area)
    • Acceleration/deceleration of +/- 4 ft/sec^2
    • Neglecting human comfort limits of jerk (da/dt) and velocity (air pressure change), the goal is to minimize the average times
    • The ride time (t) for a given floor elevation (h):

  • [surface-based] Maximize upward-facing surface area for view of the sky: similar to solar insolation.
    • Since the roof and foundation are flat, focus on the sides of the mass.
    • Discretize the walls into stories by V (and perimeter by U) to simulate the division of occupants using Surface.DivideSurfaceUV.
    • Count how many discretized surfaces have an incline angle greater than the specified $minIncline.

  • [floor-based] Minimize the seismic base shear and moment demands on the structure, assuming concentrated masses proportional to the floor area.
    • Base shear (V) is analogous to floor area if we assume constant floor density throughout the building. Floor areas contribute equally regardless of their elevations.
    • Overturning moment (M) is like construction cost—it depends on height and floor area, but the equivalent lateral seismic force introduces a cubic dependency on height. Floor areas at higher elevations have greater impact on moment demand.

Combine objectives in custom node EvaluateInputCombos2:


A couple additional custom nodes are created to get the properties of individual mass floors:

  • GetMassFloorsFromMass
    • Ensures that the mass floors used to compute the floor-based metrics uses only those from the selected Revit mass (i.e. the tower)...just in case there are other objects in the project file.
    • image
  • GetMassFloorLevelAndArea
    • Retrives the floor area (SF) and elevation (ft) above grade.

Main script:

Given a selected Revit element (i.e. the tower mass), the set of input parameters and values, and the gross output parameters, the custom node is evaluated via Function Apply.

The results are written to Excel.



The results of the Dynamo main script are scored by ranking order. The ascending/descending preference of the rank score is based on the preference to minimize or maximize the metrics.

The optimization scheme here is a simple sum of the rank scores, voided to 0 if the test case does not meet the gross floor area requirement (1.2~1.5M SF).

In this test, the optimal total score was 66 (100ft radius, 40deg spread, 300ft midsection height). This configuration is particularly good for skyward surface count and solar insolation, and relatively middle-of-the-road for everything else.

Some additional takeaways:

  • The average elevator times varied only about 1 sec across the test cases. The difference can add up over time from a productivity standpoint, but it is not drastic enough for occupants to notice.
  • A percentage ranking system will provide more info about the degree of differences between test cases. But this requires additional work to define a fair percent basis and combination rule.
  • It would be interesting to find a way to emphasize cost in a fairer way (divide cost by the rank scores?)