Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Structural design tool for performative building elements: a semi-automated Grasshopper plugin for design decision support of complex trusses
(USC Thesis Other)
Structural design tool for performative building elements: a semi-automated Grasshopper plugin for design decision support of complex trusses
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Structural Design Tool for Performative Building Elements:
A Semi-Automated Grasshopper Plugin for Design Decision Support of Complex Trusses
by
Michael Patrick Makris
A Thesis Presented to the
FACULTY OF THE USC SCHOOL OF ARCHITECTURE
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
MASTER OF BUILDING SCIENCE
August 2013
Copyright 2013 Michael Patrick Makris
I
ABSTRACT
This thesis describes the development, testing, and findings of a Rhino-Grasshopper toolset
developed to encourage real-time parametric design form experimentation through
immediate integrated structural analysis feedback, allowing for structural optimization
through iterative formal experimentation. The performance-driven design toolset is a series
of automated components that create geometry and simulate, analyze, and optimize
triangular prismatic trusses in real-time for two main structural loading types: gravity and
wind. Each element is constructed, loaded, and simulated within the Rhino-Grasshopper
design interface, returning structural performance information infographically in a native
design environment. An optimization-assist tool is included that provides designer-centric
information about proposed truss solutions such as cost, weight, deflection, and truss
complexity. In a series of trials of increasing design complexity, the toolset is tested and its
accuracy is verified against benchmark structural engineering industry software SAP2000.
This thesis argues that, equipped with immediate structural performance information,
designers can iteratively improve their architectural form and better understand the impact
of form on structural performance, while still in conceptual design. Architects will produce
more efficient, structurally informed designs when using this toolset over traditional
conceptual design tools.
II
TABLE OF CONTENTS
ABSTRACT .................................................................................................................. I
LIST OF FIGURES ...................................................................................................... X
LIST OF TABLES ..................................................................................................... XV
DEDICATION ......................................................................................................... XVI
ACKNOWLEDGEMENTS ....................................................................................... XVII
1 CHAPTER ONE: A DISCONNECT BETWEEN FORM AND STRUCTURE ................... 1
1.1 PARAMETRIC ARCHITECTURE ........................................................................................ 1
1.1.1 Form and Structure ................................................................................................. 2
1.1.2 New Design Tools................................................................................................... 3
1.1.3 Architectural Innovation and Structural Performance ............................................ 4
1.2 HYPOTHESIS .................................................................................................................... 5
1.3 THE DIFFERENCE OF PARAMETRIC DESIGN .................................................................. 6
1.3.1 Inefficiency in the Current Design Practice ............................................................ 6
1.3.2 Potentials and Pitfalls of Parametric Architecture .................................................. 7
1.3.3 The Need for Better Tools ...................................................................................... 8
1.4 GLOSSARY OF TERMS ...................................................................................................... 8
1.4.1 Parametric Design ................................................................................................... 8
1.4.2 Solution Set ............................................................................................................. 9
1.4.3 Optimization ......................................................................................................... 10
1.4.4 Stress, Strain, & Deflection .................................................................................. 12
1.4.5 Truss Design ......................................................................................................... 14
1.4.5.1 Chord ............................................................................................................. 14
1.4.5.2 Web ................................................................................................................ 14
1.4.5.3 Lateral Bracing .............................................................................................. 15
1.4.6 Structural Force Unit: kip ..................................................................................... 15
1.5 STUDY BOUNDARIES ...................................................................................................... 16
1.5.1 Limits of the Study................................................................................................ 16
1.5.2 Why This Is the Boundary .................................................................................... 17
III
1.6 SCOPE OF WORK ........................................................................................................... 18
1.6.1 Objectives ............................................................................................................. 18
1.6.2 Deliverables .......................................................................................................... 18
1.7 OVERVIEW ..................................................................................................................... 19
1.7.1 Chapter 2: Literature and Background .................................................................. 19
1.7.2 Chapter 3: Methods ............................................................................................... 19
1.7.3 Chapter 4: Data ..................................................................................................... 20
1.7.4 Chapter 5: Analysis ............................................................................................... 20
1.7.5 Chapter 6: Conclusions ......................................................................................... 21
1.7.6 Chapter 7: Future Work ........................................................................................ 21
2 CHAPTER TWO: A BACKGROUND IN INFORMED DESIGN AND STRUCTURAL
SIMULATION & EXISTING TOOLS ....................................................................... 22
2.1 INTRODUCTION TO INTEGRATED DESIGN AND SIMULATION ....................................... 22
2.1.1 Motivations ........................................................................................................... 22
2.1.2 Potential Benefits .................................................................................................. 23
2.1.3 Demonstrated Need ............................................................................................... 24
2.2 BACKGROUND AND LITERATURE REVIEW OF INTEGRATION AND SIMULATION
RESEARCH ............................................................................................................................. 25
2.2.1 Past Work in Structural Integration ...................................................................... 25
2.2.2 Optimization Development ................................................................................... 28
2.3 DEVELOPING A PARAMETRIC DESIGN TOOL ............................................................... 29
2.3.1 Modern CAD Tools .............................................................................................. 30
2.3.1.1 AutoCAD ....................................................................................................... 30
2.3.1.2 Rhinoceros ..................................................................................................... 31
2.3.1.3 Digital Project/CATIA ................................................................................... 32
2.3.1.4 SketchUp ........................................................................................................ 32
2.3.2 Parametric CAD Design Tools ............................................................................. 32
2.3.2.1 Revit ............................................................................................................... 32
2.3.2.2 Grasshopper ................................................................................................... 33
2.3.3 Publically Available Grasshopper Plugins ............................................................ 36
2.3.3.1 Karamba ......................................................................................................... 37
2.3.3.2 Millipede ........................................................................................................ 37
2.3.3.3 Kangaroo ........................................................................................................ 38
2.3.4 Corporate/Proprietary Parametric Tools ............................................................... 39
IV
2.4 STRUCTURAL ANALYSIS AND DESIGN ........................................................................... 39
2.4.1 Strength of Materials Theory ................................................................................ 40
2.4.1.1 Elastic Behavior & Linear Spring Theory ..................................................... 40
2.4.1.2 Linear Elastic Behavior ................................................................................. 41
2.4.2 Finite Element Methods ........................................................................................ 43
2.4.2.1 Stiffness Matrix Method ................................................................................ 44
2.4.2.2 Time History Analysis ................................................................................... 44
2.4.2.3 Dynamic Spring Relaxation ........................................................................... 46
2.5 OPTIMIZATION .............................................................................................................. 46
2.5.1 Genetic Optimization and Evolutionary Algorithms ............................................ 46
2.5.1.1 Genetic Optimization ..................................................................................... 47
2.5.1.2 Evolutionary Algorithms ............................................................................... 48
2.5.2 Optimization Tools ............................................................................................... 49
2.5.2.1 Galapagos ...................................................................................................... 49
2.5.2.2 Other Tools .................................................................................................... 50
3 CHAPTER THREE: DESIGNING A NEW TOOL ...................................................... 52
3.1 SOFTWARE CHOICES ..................................................................................................... 52
3.1.1 Rhino & Grasshopper ........................................................................................... 52
3.1.2 Kangaroo ............................................................................................................... 53
3.1.3 Galapagos .............................................................................................................. 55
3.2 DESIGN TOOL OVERVIEW ............................................................................................. 55
3.2.1 Geometry, Simulation, Analysis (& Optimization) .............................................. 56
3.2.1.1 Inter-Component Data Flow .......................................................................... 58
3.2.1.2 Intra-Component Data Management ............................................................. 59
3.3 GEOMETRY COMPONENT .............................................................................................. 60
3.3.1 Overview of the Geometry Component ................................................................ 60
3.3.2 Design Parameters & Inputs ................................................................................. 61
3.3.2.1 System Type .................................................................................................. 65
3.3.2.2 Curve Type .................................................................................................... 65
3.3.2.3 Custom Curve ................................................................................................ 65
3.3.2.4 Point A ........................................................................................................... 65
3.3.2.5 Point B ........................................................................................................... 66
3.3.2.6 Segments ........................................................................................................ 66
3.3.2.7 Tilt .................................................................................................................. 66
3.3.2.8 Arch Height (Above A-B Line) ..................................................................... 66
3.3.2.9 Width ............................................................................................................. 66
3.3.2.10 Depth .............................................................................................................. 67
3.3.2.11 Mid-Width Multiplier .................................................................................... 67
V
3.3.2.12 Mid-Depth Multiplier .................................................................................... 67
3.3.2.13 Twist .............................................................................................................. 67
3.3.2.14 Truss Type ..................................................................................................... 67
3.3.2.15 Move Pratt Center .......................................................................................... 68
3.3.2.16 Support Connection Type .............................................................................. 68
3.3.2.17 Support Angles .............................................................................................. 69
3.3.2.18 Custom Support Angle .................................................................................. 69
3.3.2.19 Reverse Radial Direction ............................................................................... 69
3.3.2.20 Lateral Bar Option ......................................................................................... 69
3.3.2.21 Warren Truss Strut Orientation ..................................................................... 70
3.3.2.22 Wind Direction .............................................................................................. 70
3.3.3 Automatic Generation within the Geometry Component ..................................... 70
3.3.3.1 Draw Backbone Curve ................................................................................... 71
3.3.3.2 Create Planes and Points ................................................................................ 72
3.3.3.3 Identify Truss Joints ...................................................................................... 74
3.3.3.4 Construct Truss Bars ...................................................................................... 74
3.3.4 Geometry Component Outputs ............................................................................. 75
3.4 SIMULATION COMPONENT ............................................................................................ 76
3.4.1 Overview of the Simulation Component .............................................................. 76
3.4.2 Structural Loads & Parameters ............................................................................. 78
3.4.2.1 Structural Design Section Sizes ..................................................................... 78
3.4.2.2 Applying Loads & Setting Load Cases ......................................................... 79
3.4.2.3 Establish Connection Details ......................................................................... 80
3.4.2.4 Simulation Customization and Control ......................................................... 81
3.4.3 Steps within the Simulation Component ............................................................... 82
3.4.3.1 Organize Section Data ................................................................................... 83
3.4.3.2 Create Spring Models .................................................................................... 84
3.4.3.3 Calculate Loads ............................................................................................. 84
3.4.3.4 Run Kangaroo Simulation ............................................................................. 85
3.4.3.5 Reconstitute Model ........................................................................................ 86
3.4.4 Simulation Component Outputs ............................................................................ 86
3.5 ANALYSIS COMPONENT ................................................................................................. 87
3.5.1 Analysis Inputs...................................................................................................... 88
3.5.2 Analysis Overview ................................................................................................ 89
3.5.3 Calculating Bar Stresses and Forces ..................................................................... 89
3.5.3.1 1
st
vs. n
th
Trusses ............................................................................................ 89
3.5.3.2 1
st
vs. n-1
th
and n
th
Trusses - Convergence .................................................... 89
3.5.4 Calculating Allowable Member Strengths ............................................................ 90
3.5.5 Informational 3D Text Display ............................................................................. 91
VI
3.5.6 Analysis Component Outputs ............................................................................... 92
3.6 OPTIMIZATION COMPONENT ........................................................................................ 92
3.6.1 Optimization Inputs .............................................................................................. 94
3.6.1.1 Fitness Method ............................................................................................... 94
3.6.1.2 Target Deflection ........................................................................................... 94
3.6.1.3 Cost of Connection ($) ................................................................................... 95
3.6.1.4 Cost of Steel ($/kip) ....................................................................................... 95
3.6.2 Calculating the Fitness Value ............................................................................... 95
3.6.2.1 Total Weight .................................................................................................. 96
3.6.2.2 Number of Bars and Joints (i.e. Complexity) ................................................ 97
3.6.2.3 Cost ................................................................................................................ 97
3.6.2.4 Total Weight with Deflection Limit .............................................................. 97
3.6.2.5 Cost with Deflection Limit ............................................................................ 98
3.6.3 Optimization Component Outputs ........................................................................ 98
3.7 GALAPAGOS ................................................................................................................... 98
3.7.1 Variable Definition ............................................................................................... 98
3.7.1.1 Importance of Boundaries and Step Sizes on Solution Spaces ...................... 99
3.7.2 Galapagos Settings .............................................................................................. 101
3.7.2.1 Population Size ............................................................................................ 102
3.7.2.2 Initial Boost ................................................................................................. 103
3.7.3 Running Galapagos ............................................................................................. 104
3.7.3.1 Visual Results .............................................................................................. 104
3.7.3.2 Obtaining Galapagos Results ....................................................................... 105
3.8 BENCHMARKING AND VERIFICATION TRIALS ............................................................ 106
3.8.1 Procedure ............................................................................................................ 106
3.8.1.1 Grasshopper Toolset Analysis ..................................................................... 106
3.8.1.2 SAP2000 Analysis ....................................................................................... 108
3.8.2 Trial Descriptions and Design Parameters .......................................................... 109
3.8.2.1 Trial 1 ........................................................................................................... 112
3.8.2.2 Trial 2 ........................................................................................................... 112
3.8.2.3 Trial 3 ........................................................................................................... 113
3.8.2.4 Trial 4 ........................................................................................................... 114
3.8.2.5 Trial 5 ........................................................................................................... 115
3.9 OPTIMIZATION CASE STUDIES .................................................................................... 117
3.9.1 Procedure ............................................................................................................ 117
3.9.2 Case Study Parameters, Variables, & Galapagos Settings ................................. 118
3.9.3 Case Study Descriptions ..................................................................................... 120
3.9.3.1 Case Study 1 – Structural Design ................................................................ 120
3.9.3.2 Case Study 2 – Geometry Optimization ...................................................... 121
VII
4 CHAPTER FOUR: DATA ......................................................................................122
4.1 BENCHMARKING AND VERIFICATION TRIALS ............................................................ 122
4.1.1 Nonlinear SAP2000 Analysis ............................................................................. 123
4.1.1.1 Trial 1 ........................................................................................................... 123
4.1.1.2 Trial 2 ........................................................................................................... 125
4.1.1.3 Trial 3 ........................................................................................................... 126
4.1.1.4 Trial 4 ........................................................................................................... 127
4.1.1.5 Trial 5 ........................................................................................................... 128
4.1.2 Linear SAP2000 Analysis ................................................................................... 128
4.2 OPTIMIZATION CASE STUDIES .................................................................................... 129
4.2.1 Case Study 1 ....................................................................................................... 130
4.2.2 Case Study 2 ....................................................................................................... 132
5 CHAPTER FIVE: ANALYSIS ................................................................................135
5.1 BENCHMARKING AND VERIFICATION TRIALS ............................................................ 135
5.1.1 SAP2000 Nonlinear Simulation: Summary ........................................................ 136
5.1.1.1 Qualitative Results ....................................................................................... 136
5.1.1.2 Quantitative Results ..................................................................................... 136
5.1.2 SAP2000 Nonlinear Simulation: Detailed Error Analysis .................................. 137
5.1.2.1 Accounting for Outliers ............................................................................... 141
5.1.2.2 Absolute Error Analysis .............................................................................. 141
5.1.2.3 Isolating Outlier Origins .............................................................................. 143
5.1.3 SAP2000 Linear Simulation ............................................................................... 148
5.1.3.1 Advantage of Nonlinear Simulation ............................................................ 150
5.2 OPTIMIZATION CASE STUDIES .................................................................................... 150
5.2.1 Case Study 1 ....................................................................................................... 150
5.2.2 Case Study 2 ....................................................................................................... 153
6 CHAPTER SIX: CONCLUSIONS ...........................................................................157
6.1 RESEARCH STUDY RESULTS ....................................................................................... 157
6.1.1 Clarification of Study Methods ........................................................................... 158
6.1.2 Verification Trials ............................................................................................... 158
6.1.3 Optimization Case Studies .................................................................................. 159
VIII
6.2 SUMMARY OF FINDINGS .............................................................................................. 160
7 CHAPTER SEVEN: FURTHER WORK ..................................................................161
7.1 IMPROVEMENTS TO THIS RESEARCH STUDY .............................................................. 161
7.1.1 Truss Diversity .................................................................................................... 161
7.1.1.1 Truss Types .................................................................................................. 161
7.1.1.2 Space Frame Types ...................................................................................... 161
7.1.2 Cable Structures .................................................................................................. 162
7.1.3 Diversifying Geometric Inputs ........................................................................... 162
7.1.3.1 Planes and Surfaces ..................................................................................... 162
7.1.3.2 Grids ............................................................................................................ 162
7.1.4 Truss Support Geometry ..................................................................................... 163
7.1.4.1 Single Joint Supports ................................................................................... 163
7.1.5 Structural Systems .............................................................................................. 163
7.1.6 Additional Loading Options ............................................................................... 164
7.1.6.1 Load Placement ........................................................................................... 164
7.1.6.2 Load Types & Load Factors ........................................................................ 164
7.1.7 Automated Loading Options ............................................................................... 164
7.1.7.1 Secondary Framing ...................................................................................... 165
7.1.8 Structural Member Design .................................................................................. 165
7.1.8.1 Member Sizing ............................................................................................. 165
7.1.8.2 Member Diversity ........................................................................................ 165
7.1.8.3 Member Choices .......................................................................................... 166
7.2 ISSUES NOT ADDRESSED IN THIS STUDY ..................................................................... 166
7.2.1 Multi-Objective Optimization ............................................................................. 166
7.2.1.1 Octopus ........................................................................................................ 166
7.2.2 Structural Compilation ........................................................................................ 167
7.2.3 Plastic Structural Behavior ................................................................................. 167
7.2.4 Lateral Force Design ........................................................................................... 167
7.2.4.1 Wind ............................................................................................................ 167
7.2.4.2 Earthquake ................................................................................................... 168
7.2.5 User Tests............................................................................................................ 168
IX
BIBLIOGRAPHY ......................................................................................................170
A APPENDIX A: VERIFICATION TRIALS .............................................................. A-1
A.1 VERIFICATION TRIALS 1-5 .......................................................................................... A-1
A.2 SAP2000 LINEAR ANALYSIS RESULTS ....................................................................... A-9
B APPENDIX B: OPTIMIZATION CASE STUDIES ...................................................B-1
B.1 CASE STUDY 1 .............................................................................................................. B-1
B.2 CASE STUDY 2 .............................................................................................................. B-6
X
LIST OF FIGURES
Figure 1: Grasshopper Scripting Example, Components and Spaghetti Wires ..................... 34
Figure 2: Grasshopper and Rhino, Screenshot of User Interfaces ......................................... 35
Figure 3: Grasshopper and Rhino, New Grasshopper Parameters Regenerate Rhino
Geometry ........................................................................................................................ 35
Figure 4: Design Tool Grasshopper Interface, with Components and User Inputs
Called Out ....................................................................................................................... 56
Figure 5: Screenshot of Operational Toolset in the Grasshopper and Rhino Windows ........ 57
Figure 6: Geometry Component, Screenshot in Grasshopper ............................................... 61
Figure 7: Design Parameters & Inputs, Screenshot of Grasshopper Interface Control ......... 62
Figure 8: Parametric Control Examples, Slider and Knob .................................................... 63
Figure 9: Input Control Examples, Drop-Down-Menus ........................................................ 64
Figure 10: Custom Curve Geometry Input ............................................................................ 64
Figure 11: Geometry Component Exploded, Screenshot of Grasshopper Script .................. 71
Figure 12: Geometry Component Exploded, Four Main Steps Called Out ........................... 71
Figure 13: Geometry Component Steps, Backbone Curve .................................................... 72
Figure 14: Geometry Component Steps, Local and Connection Planes ................................ 73
Figure 15: Geometry Component Steps, Triangular Sets of Points on Planes ...................... 73
Figure 16: Geometry Component Steps, Culled Joints ......................................................... 74
Figure 17: Geometry Component Steps, Truss Bars ............................................................. 75
Figure 18: Simulation Component, Screenshot in Grasshopper ............................................ 77
Figure 19: Steel Section Size Control Inputs ......................................................................... 79
Figure 20: Applied Load Control Inputs ............................................................................... 80
Figure 21: Connection Detail Control Inputs ........................................................................ 80
Figure 22: Simulation Component Control ........................................................................... 82
Figure 23: Simulation Component Exploded, Screenshot of Grasshopper Script ................. 82
Figure 24: Simulation Component Exploded, Five Main Steps Called Out .......................... 83
Figure 25: Analysis Component, Screenshot in Grasshopper ............................................... 88
Figure 26: Analysis Results Color Gradient, Grasshopper Screenshot ................................. 91
XI
Figure 27: Infographic Simulation and Analysis Results Example, Screenshot of
Rhino Viewport .............................................................................................................. 92
Figure 28: Optimization Component & Galapagos, Screenshot in Grasshopper .................. 93
Figure 29: Optimization Input Controls ................................................................................ 93
Figure 30: Galapagos Settings Interface, Screenshot of Grasshopper ................................. 102
Figure 31: Galapagos Runtime Interface and Visual Results, Screenshot of
Grasshopper .................................................................................................................. 105
Figure 32: Geometric and Massed Truss, Verification Trial 1 ............................................ 112
Figure 33: Geometric and Massed Truss, Verification Trial 2 ............................................ 113
Figure 34: Geometric and Massed Truss, Verification Trial 3 ............................................ 114
Figure 35: Geometric and Massed Truss, Verification Trial 4 (with asymmetric
support points) .............................................................................................................. 115
Figure 36: Custom Curve Input Geometry, Verification Trial 5 ......................................... 116
Figure 37: Geometric and Massed Truss, Verification Trial 5 (with truss formed
around spine custom curve) .......................................................................................... 116
Figure 38: Case Study 1, Truss Geometry with Failing Design .......................................... 120
Figure 39: Trial 1 - Grasshopper Toolset Infographic Results, Screenshot of Rhino
Viewport ....................................................................................................................... 124
Figure 40: Trial 1 – SAP2000 Calculated Force Diagram .................................................. 124
Figure 41: Trial 2 - Grasshopper Toolset Infographic Results, Screenshot of Rhino
Viewport ....................................................................................................................... 125
Figure 42: Trial 2 – SAP2000 Calculated Force Diagram .................................................. 125
Figure 43: Trial 3 - Grasshopper Toolset Infographic Results, Screenshot of Rhino
Viewport ....................................................................................................................... 126
Figure 44: Trial 3 – SAP2000 Calculated Force Diagram .................................................. 126
Figure 45: Trial 4 - Grasshopper Toolset Infographic Results, Screenshot of Rhino
Viewport ....................................................................................................................... 127
Figure 46: Trial 4 – SAP2000 Calculated Force Diagram .................................................. 127
Figure 47: Trial 5 - Grasshopper Toolset Infographic Results, Screenshot of Rhino
Viewport ....................................................................................................................... 128
XII
Figure 48: Trial 5 – SAP2000 Calculated Force Diagram .................................................. 128
Figure 49: Case Study 1, Galapagos Results, Final ............................................................. 130
Figure 50: Case Study 1, Best Fitness Solution (Generation 19) ........................................ 131
Figure 51: Case Study 2, Galapagos Results, Final ............................................................. 132
Figure 52: Case Study 2, Best Fitness Solution (Generation 24) ........................................ 134
Figure 53: Frequency Curve of Bar Error, Verification Trial 2 .......................................... 138
Figure 54: Individual Bar Percent Errors for Verification Trials 1-5 .................................. 140
Figure 55: Individual Bar Percent Errors for Verification Trials 1-5, Cropped .................. 140
Figure 56: Percentage Error Outliers as a Consequence of Absolute Errors ....................... 144
Figure 57: Percentage Error Outliers as a Consequence of Force Magnitude ..................... 145
Figure 58: Percentage Error Outliers as a Consequence of Force Magnitude, Cropped ..... 145
Figure 59: Percentage Error Outliers as a Consequence of Normalized Force
Magnitude, Cropped ..................................................................................................... 146
Figure 60: Case Study 1, Generational Population Genome Diversity ............................... 152
Figure 61: Case Study 2, Generational Population Genome Diversity (red line
indicates high fitness individual) .................................................................................. 154
Figure 62: Case Study 2, Sampling of Generation 0 Form Designs .................................... 155
Figure 63: Frequency Curve of Bar Error, Verification Trial 1 .......................................... A-1
Figure 64: Frequency Curve of Bar Error, Verification Trial 3 .......................................... A-4
Figure 65: Frequency Curve of Bar Error, Verification Trial 4 .......................................... A-6
Figure 66: Frequency Curve of Bar Error, Verification Trial 5 .......................................... A-8
Figure 67: Case Study 1, Galapagos Results, Generation 0 ................................................ B-1
Figure 68: Case Study 1, Galapagos Results, Generation 1 ................................................ B-2
Figure 69: Case Study 1, High Fitness Solution (Generation 1) ......................................... B-2
Figure 70: Case Study 1, Galapagos Results, Generation 2 ................................................ B-3
Figure 71: Case Study 1, High Fitness Solution (Generation 2) ......................................... B-3
Figure 72: Case Study 1, Galapagos Results, Generation 3 ................................................ B-4
Figure 73: Case Study 1, High Fitness Solution (Generation 3) ......................................... B-4
Figure 74: Case Study 1, Galapagos Results, Generation 5 ................................................ B-5
Figure 75: Case Study 1, Galapagos Results, Generation 10 .............................................. B-5
XIII
Figure 76: Case Study 2, Galapagos Results, Generation 0 ................................................ B-6
Figure 77: Case Study 2, Galapagos Results, Generation 1 ................................................ B-7
Figure 78: Case Study 2, High Fitness Solution (Generation 1) ......................................... B-7
Figure 79: Case Study 2, Galapagos Results, Generation 2 ................................................ B-8
Figure 80: Case Study 2, High Fitness Solution (Generation 2) ......................................... B-8
Figure 81: Case Study 2, Galapagos Results, Generation 4 ................................................ B-9
Figure 82: Case Study 2, High Fitness Solution (Generation 4) ......................................... B-9
Figure 83: Case Study 2, Galapagos Results, Generation 7 .............................................. B-10
Figure 84: Case Study 2, High Fitness Solution (Generation 7) ....................................... B-10
Figure 85: Case Study 2, Galapagos Results, Generation 8 .............................................. B-11
Figure 86: Case Study 2, High Fitness Solution (Generation 8) ....................................... B-11
Figure 87: Case Study 2, Galapagos Results, Generation 10 ............................................ B-12
Figure 88: Case Study 2, High Fitness Solution (Generation 10) ..................................... B-12
Figure 89: Case Study 2, Galapagos Results, Generation 11 ............................................ B-13
Figure 90: Case Study 2, High Fitness Solution (Generation 11) ..................................... B-13
Figure 91: Case Study 2, Galapagos Results, Generation 12 ............................................ B-14
Figure 92: Case Study 2, High Fitness Solution (Generation 12) ..................................... B-14
Figure 93: Case Study 2, Galapagos Results, Generation 13 ............................................ B-15
Figure 94: Case Study 2, High Fitness Solution (Generation 13) ..................................... B-15
Figure 95: Case Study 2, Galapagos Results, Generation 15 ............................................ B-16
Figure 96: Case Study 2, High Fitness Solution (Generation 15) ..................................... B-16
Figure 97: Case Study 2, Galapagos Results, Generation 16 ............................................ B-17
Figure 98: Case Study 2, High Fitness Solution (Generation 16) ..................................... B-17
Figure 99: Case Study 2, Galapagos Results, Generation 17 ............................................ B-18
Figure 100: Case Study 2, High Fitness Solution (Generation 17) ................................... B-18
Figure 101: Case Study 2, Galapagos Results, Generation 19 .......................................... B-19
Figure 102: Case Study 2, High Fitness Solution (Generation 19) ................................... B-19
Figure 103: Case Study 2, Galapagos Results, Generation 22 .......................................... B-20
Figure 104: Case Study 2, High Fitness Solution (Generation 22) ................................... B-20
Figure 105: Case Study 2, Galapagos Results, Generation 23 .......................................... B-21
XIV
Figure 106: Case Study 2, High Fitness Solution (Generation 23) ................................... B-21
Figure 107: Case Study 2, Galapagos Results, Generation 24 .......................................... B-22
Figure 108: Case Study 2, High Fitness Solution (Generation 24) ................................... B-22
XV
LIST OF TABLES
Table 1: Verification Trials 1-5, Design and Structural Input Parameters .......................... 110
Table 2: Optimization Case Studies; Parameters, Variables, and Galapagos Settings ........ 119
Table 3: Structural Simulation Force Results with Errors, Verification Trial 1 .................. 123
Table 4: Case Study 1, High Fitness Individuals ................................................................. 131
Table 5: Case Study 2, High Fitness Individuals ................................................................. 133
Table 6: Verification Results Trials 1-5, Nonlinear SAP2000 Benchmark ......................... 137
Table 7: Verification Results Trials 1
L
-5
L
, Linear SAP2000 Benchmark ........................... 149
Table 8: Structural Simulation Force Results with Errors, Verification Trial 2 .................. A-2
Table 9: Structural Simulation Force Results with Errors, Verification Trial 3 .................. A-3
Table 10: Structural Simulation Force Results with Errors, Verification Trial 4 ................ A-5
Table 11: Structural Simulation Force Results with Errors, Verification Trial 5 ................ A-7
Table 12: Structural Simulation Force Results with Errors, Verification Trial 1
L
.............. A-9
Table 13: Structural Simulation Force Results with Errors, Verification Trial 2
L
............ A-10
Table 14: Structural Simulation Force Results with Errors, Verification Trial 3
L
............ A-11
Table 15: Structural Simulation Force Results with Errors, Verification Trial 4
L
............ A-12
Table 16: Structural Simulation Force Results with Errors, Verification Trial 5
L
............ A-13
XVI
DEDICATION
To my Grandfather and Mother
for giving me LEGO bricks and telling me to play;
and,
to every Teacher
who ever let me ask questions.
XVII
ACKNOWLEDGEMENTS
Profound gratitude is due to the members of the thesis committee, without any of whom this
work would not be possible. Anders Carlson, Chair, has provided guidance, expert insight, a
clear sounding board, and that occasional kick in the butt. David Gerber has been a source of
invaluable help and expert knowledge, and he consistently raised the quality of this work
through his aid. Lastly, without Douglas Nobel, no part of this thesis would have happened.
Together we imagined what this thesis would aim to become. He has been a constant guide
and friend, keeping the work on track and the author focused on his goals.
For Tigran Ayrapetyan, James Tyler, and Dimitry Vergun, thanks do not properly convey
the profound effects of their instruction. Three years of difficult, often tedious, and
immensely rewarding studio instruction in undergraduate Building Science were
immeasurably worthwhile, and they have formed the basis of everything that has come
since.
Tyler Tucker has been a colleague, aide, and trusted authority for two years. His help and
advice has proved him a worthwhile and steadfast friend.
Every Masters of Building Science student current and past is due gratitude and respect.
Only those in this fellowship of scholars truly know the meaning of an MBS degree.
Without this connection and mutual support, this thesis would never have been achieved.
Finally, this work stands on the efforts of innumerable faceless others. Though from afar,
you have managed to change a life and improve a future. Thank you.
1
1 CHAPTER ONE: A DISCONNECT BETWEEN FORM AND
STRUCTURE
1.1 Parametric Architecture
The explosion in popularity of parametric design is changing the way architects conceive of
buildings, changing the way they test new ideas, and broadening the possibilities of
architectural design. However, parametric design has the potential to create disorder as well:
it can engulf designers with overwhelming sets of design solutions that in turn can become a
seemingly unending stream of proposals for engineers to analyze and design. This can easily
result in a less efficient and slower design process. One potential resolution is to integrate
structural modeling into the parametric design interface. If architects can see in real time the
effects of their design decisions on the structural performance and member sizes of their
buildings, they can make better-informed decisions. This could give architects a better tool
for understanding their proposed buildings from the outset. By integrating structural analysis
and design directly into the primary design process, architects can address structural
behavior at every stage of design rather only after primary design has concluded. Engaging
structural engineering in the design process could potentially result in more efficient, lower
cost, and structurally honest buildings.
This research study details the process of creating a parametric modeling tool for architects
to use in the design of structural building elements. Through a combination of geometry,
structural simulation, analysis, and optimization, this tool gives the architect a way of
bridging the gap between design and structural engineering. It simultaneously provides for a
flexibility of building form and structural realism. This might help to offset the prevalence
2
of inefficient architectural designs that structural engineers must heavily revise or
completely reject due to cost or feasibility. Moreover, this structural design tool may provide
inspiration for new building forms through a reengagement with structural principles.
1.1.1 Form and Structure
The division of building professions into architecture and engineering specialties creates
unfortunate consequences for building design as a whole. While the education and
professional realms of each specialty can be further developed and studied separately, this
division also creates the false sense that architecture and engineering are separate ideas and
that one must only follow the other in the design of buildings. While there is reason for the
separation of these fields, modern design and construction has necessitated that they
reengage. For thousands of years, the practice of architecture and engineering was one. In
the modern era, however, specialization has limited the emergence of master architect-
engineers to a select few, such as Santiago Calatrava. More commonly, some
architect/engineer collaborations have risen to prominence through a willingness to work in
concert from the beginning of the design process. These successful pairings include Richard
Rogers with Peter Rice, Bruce Graham with Fazlur Khan, and Cecil Balmond with Rem
Koolhaas. However, most modern Computer Aided Design (CAD) tools – the workhorse of
the modern design process – do not integrate these two fields. Some programs like Revit
(Autodesk 2013) have added structural capabilities to their architectural software, but these
still cater to professional engineers rather than architects and they are highly depended on
specialized knowledge. While this capability seeks efficiency and professional integration
through Building Information Modeling (BIM), it leaves building design a linear process
3
wherein architect designs and then engineer analyzes. Additionally, Revit currently only
allows structural design on a detailed level during design development. This thesis argues
that architects can be engaged and informed from the outset with their own set of semi-
automatic modeling tools to provide architect-friendly engineering analysis and insight even
in the earliest stages conceptual design.
1.1.2 New Design Tools
One of the most popular parametric software tools in architecture today is Grasshopper, a
free add-on to the Rhino CAD software by McNeel (Robert McNeel & Associates 2013)
(Rutten 2013). The plugin is built on top of Rhino, and yet it offers a unique set of design
tools (see Section 2.3.2.2 on page 33 for a more detailed background of Grasshopper).
Grasshopper is a parametric design interface that uses sliders, knobs, dials, and other
onscreen digital control mechanisms to make architecture fluid and editable. Parametrically
defined architectural definitions recalculate into an endless array of shapes and surfaces
dependent on the designer’s scripted setup. By design, architecture created using
Grasshopper is easy to change and refine. Using built-in Grasshopper components, architects
can experiment with form in a way not possible using traditional CAD tools. These
parametric tools can be used, however, to improve on traditional static 3D-CAD designs.
Where building form can be developed using Rhino and traditional methods, Grasshopper
can allow the designer to model hundreds of varieties of solar shades, window sizes, or
façade configurations instantly without necessitating manual redrawing and recalculation.
The ability to link traditional CAD geometries to parametric abilities means that designers
4
need not do all of their work in parametric scripting. Rather, a designer can mix the two
formats and find the workflow that best suits him or her.
This thesis’s toolset will introduce a set of semi-automated Grasshopper components that a
designer can use with new or existing CAD projects. These Grasshopper components take as
input existing CAD geometries like curves or lines, and they generate structural truss
solutions that can model real-world building loads. This means that as architects change
aspects of their design, they will instantly see how its structural performance changes
accordingly. Further, by utilizing the optimization abilities of Galapagos, a built-in
Grasshopper tool, designers will be able to use custom objective measures to explore the
countless number of variations on the structural components and find one or more that
optimally satisfy their building’s needs.
1.1.3 Architectural Innovation and Structural Performance
A dangerous aspect of the implementation of parametric CAD software into the profession is
its temptation towards spectacularly original designs that bear no relation to (or are at least
not derived from) efficient structural performance or common building methods. Architects
commonly embrace innovative solutions and new forms, and parametric modeling allows
for the quick and visually intriguing creation of structures that are wild, unique, and
otherwise extremely unusual. However, even at first glance, many of the structures coming
from design studios and architectural competitions today would be extremely difficult,
expensive, and time consuming to design accurately using traditional design-development
drafting methods. Moreover, engineers seeking to design structural solutions to parametric
form could easily find architectural ambition outpacing physical and financial limitations.
5
Architects sometimes claim advanced building structural performance from proposed form
without a detailed analysis supporting their claims. An example of this type of claim is the
commonly proposed honeycomb design form. While this form does offer known advantages
in general, material, fabrication, and construction realities create substantial unknown
factors in the structural design process. Testing, verification, and engineering guidelines are
essential in the development of any new building form. New architectural form can be
confused for structurally performative design, that is, architectural form that aids structural
performance efficiency rather than hindering it. Visually striking, parametric designs are no
exception. Designers should not claim capabilities without validation from experimental and
computational models.
Parametric models require structural testing like any others; however, they do offer an
advantage over traditional CAD designs: mathematical parameters define parametric
models. These parameters are the same that define the structure of the building. The right
tools can enable immediate and intuitive basic structural analysis at any stage of design
without input from a structural engineer. Architects designing with parametric tools are
poised to explore their design’s behavior earlier and more often than those using traditional
CAD tools.
1.2 Hypothesis
This thesis explores the idea that early simulation and design-interface feedback will result
in potentially more efficient, realistic, and innovative architectural forms. Through a set of
generative Rhino-Grasshopper components, designers can automatically populate their
designs with parametric structural truss solutions. These structures will simulate realistic
6
loading conditions and the reactions of members to them. Real-time visual feedback will
show the loaded behavior of the trusses as well as strength/failure information directly in the
design interface. The toolbox will bridge the worlds of parametric architectural design and
structural engineering to increase design efficiency through instant structural performance
feedback, design iteration, and parametric optimization. The toolset will supply intelligent
feedback to the designer, empowering architects to engage in early iterative design
exploration that will make trusses and buildings more efficient in cost and materials while
improving the overall design process.
1.3 The Difference of Parametric Design
1.3.1 Inefficiency in the Current Design Practice
Technology is revolutionizing the way the building industry designs and constructs the built
environment. Some of the most prominent and significant of these new tools have been
Computer Aided Design (CAD), machine manufacturing, pre-cast components, and
Building Information Modeling (BIM). These innovations have fundamentally changed the
way designers, engineers, and contractors make buildings. In the traditional history of
architecture, designers have been constrained by the fact that producing plans for new
buildings is an enormous undertaking: every new design is a “wicked problem” (Rittel and
Webber 1973). Architecture has focused enormous pressure on the architect to get it right
the first time, relying on early sketches and computations, often based on guesses, in
creating a final design. Changes in mid- and late-design stages can prove costly, time-
consuming, and ultimately impossible (Paulson 1976) (CURT 2004). Detailed building
design, once well developed, can be prohibitively expensive and wasteful to change.
7
Additionally, over time specialization within the building profession has linearized the
design process (Rosenman and Gero 1985) (Haymaker and Chachere 2006). Architects
traditionally produce form independent of simulation, which requires that their work be
followed by engineering revisions from all disciplines. This process produces a negotiated
design and encourages unnecessary iteration between disciplines where design and analysis
integration would save time. Architect sends to engineers. Engineers send back to architect
with revisions. Architect must integrate solutions into design and across disciplines. The
process may continue if engineering solutions displease the architect or violate the original
design intent.
This traditional process is inherently inefficient, taking up to a month or more per design
configuration (Flager and Haymaker 2007). Additionally, it limits the number of design
configurations that can be investigated in detail to on average 2.8 per project (Flager, et al.
2009). This limits design exploration and locks architects into design choices that are made
potentially long before much detailed information is known about the project.
1.3.2 Potentials and Pitfalls of Parametric Architecture
Parametric architecture presents new possibilities, and its potential could fundamentally
change the design of buildings. Designers can, for the first time, see and/or compare
potentially unlimited variations of their structure, each one unique, and each one satisfying
the logical rules set forth by the designer. Each variation can be compared and preferred
designs chosen for further development. The design possibilities are virtually endless.
However, without proper integration, parametric design could easily become a burden on
architects and engineers alike. For architects, as the possibilities grow, there is a very real
8
design tendency to move sideways instead of deeper. For engineers, detailed traditional
structural analysis of dozens of structures is simply not feasible or an efficient use of
resources.
1.3.3 The Need for Better Tools
It is logical, therefore, that in implementing parametric design tools, architects and engineers
need a better method of coordination and design development. Various studies have
demonstrated proposals to resolve aspects of this problem (see Chapter 2 for a more detailed
literature review). Moreover, even with better coordination between them, architects and
engineers require methods for the objective evaluation of so many designs. To both these
ends, this research study seeks to provide useful early design tools within Grasshopper that
enable structural solutions using a variety of trusses to be investigated quickly and
objectively, with both performance and analytics data available in real time to the designer
in a visual format and design interface that is familiar to him or her.
1.4 Glossary of Terms
This thesis uses a number of key terms. Since this thesis reaches into both architectural and
structural engineering disciplines, some readers may be less familiar with some sets of
terms. These key terms are described here, along with a quick explanation of terms used in
truss design.
1.4.1 Parametric Design
Parameters define geometric relationships between objects or properties of an object’s
dimensions. For example, the parameters of a circle would be its radius as well as the x- and
9
y-values of its center in a Cartesian plane. Parametric design links those parameters of
various objects together so that design is associative and not explicit (Burry and Murray
1997). Explicit design is akin to drawing a circle and square on paper. Erasing and
redrawing one shape (i.e. changing its parameters) does not affect the other. Associative
design would link these two shapes together. For instance, changing the location of one
shape would change the location of the other automatically.
Parametric design programs like Grasshopper take this relationship much farther by defining
geometric components in both two and three dimensions for potentially unlimited numbers
of shapes. Previously, using CAD programs, entire buildings could be drawn using lines on
a screen. However, these representations were not linked and changing one did not affect the
others. Editing the floor height of one floor does not affect the others without manually
redrawing all of them as well. When using parametric design tools to define that building,
however, changing one parameter automatically changes all the other ones that depend on it
and the shapes it defines. Similarly, if every floor is created using a single parameter Floor
Height, changing the value of that parameter will automatically regenerate every floor
simultaneously so that every relationship defined by the user is maintained.
1.4.2 Solution Set
Parametric design has the ability to quickly regenerate effectively unlimited number of
designs, each one of which follows the relationships set forth by the designer. Changing a
single parameter value results in a new design option, or design solution. Changing a
different parameter’s value then results in another new solution. Bounding the possible
values of a parameter bounds the possible number of solutions. The aggregate assembly of
10
possible solutions that can be formed by a defined set of parametric relationships and
bounded parameters is called the solution set.
A parametric object has an unlimited solution set unless each parameter has bounds for its
values and discrete steps it can take between them. For example, an object with three
parameters, each of which can take five possible values, has a solution set of:
5 × 5 × 5 = 125
possible design solutions. As most parametric design problems can easily surpass this
number of parameters, the number of design solutions in a set can quickly reach into the
billions or more. As such, parametric design programs only generate the solution specified
by the current values of each parameter.
1.4.3 Optimization
Optimization defines the process by which design solutions within a solution set are
individually evaluated in an attempt to find one or more optimal solutions. To do this an
optimization engine automatically changes one or more parameters within set boundaries
and generates the new design solution. The user must define one or more objectives for the
optimization based on the design solution produced. For example, these objectives could be
cost, size, location, density, or other user-derived metric. These objectives must be
numerically measurable by a fitness function (also called an objective function) that takes
properties of a design solution as inputs and calculates a design solution’s fitness value for
the objective in question.
11
There are numerous optimization routine types developed. The type of optimization used in
this thesis is Genetic Optimization (GO), based on the concepts of genes, genetic variation,
and genetic individuality. The algorithm used to run the genetic variation is called an
Evolutionary Algorithm (EA). For detailed descriptions of Genetic Optimization and
Evolutionary Algorithms, see Section 2.5.1 on page 46. Other types of optimization
currently developed include, but are not limited to, simulated annealing, direct Monte-Carlo
sampling, swarm-based algorithms, memetic algorithms, and graduated optimization (ASCE
2002).
Single-objective optimization seeks to find a design solution that best maximizes or
minimizes a single objective. Within a solution set, one or more design solutions best do
this. However, the limitations of computer optimization only ensure that it produces known
local optima and not necessarily a global optimum.
While exhaustive searches of non-infinite solution sets can yield a guaranteed optimum or
optima, this method is in practice highly inefficient and sometimes impossible when
parameters are widely defined and the solution set becomes unreasonably large. As such,
optimization methods like those listed above have been developed to more efficiently search
for optima.
Multi-objective optimization seeks to find design solutions that best maximize or minimize a
set of objectives. However, multiple objectives can sometimes be counter-acting, with one
objective’s improvement linked to another’s deterioration. For example, in truss design,
strength and weight are two measurements of the suitability of a proposed design. While
strength calculations favor increasing structure size and area, this can drastically increase
12
weight of the truss (with further implications on cost and the associated costs of the building
supporting a heavier truss). Weight and strength of structures often act in opposition, with
no global optimum that best fits all objectives simultaneously. This type of multi-objective
optimization therefore relies on user input to determine the relative importance of different
objectives and to select optimal cases based on these determinations.
When multiple objectives must be considered, and yet only single-objective optimization is
possible, weighting functions that determine the relative importance of multiple objectives
can be scaled and summed to create a single objective function that can be optimized
instead. This is the approach used in this research study due to the limitations of the
algorithm available in Grasshopper (see Section 2.5.2.1 on page 49).
1.4.4 Stress, Strain, & Deflection
Stress is a measure of force distributed across an area. It is a result of forces acting on matter
and that matter responding in kind to resist the force. Stress is an internal measurement of
force within a defined area or object. In structural engineering, stress is most commonly
measured in axial, shear, and bending varieties
*
, each caused by a different manifestation of
forces within structural members. This thesis deals with axial stresses almost exclusively,
which in this case are the stresses that result in a bar or beam when a force is applied along
the length of the member, often at opposing ends of the member. The most common method
of writing out a formula for stress is:
*
There are other stress and strain varieties resulting from the myriad of forces that can act on structural
elements. Torsional forces and changes in temperature are two other common causes of strain and stress that
must be considered in structural design, although they are not considered in this thesis.
13
𝜎 =
𝐹 𝐴
where F is the force applied and A is the cross-sectional area of the member.
Strain is the measurement of the change in size or length of an object (deformation), and it is
most often used to describe the changes in structural members due to applied loads and the
resulting stresses within them. Strain is measured as a change in length divided by the
original length, meaning it is a unitless measurement. Strain is calculated as:
𝜀 =
∆ 𝑙 𝑙 0
where ε is strain within the member, Δl is the deformation to the length of the member, and
l
0
is the original undeformed length of the member. This thesis will deal mainly with axial
strain in the bars of the trusses.
Deflection is a change to the shape or path of structural members as a result of applied loads.
It differs from strain in that the change does not occur in the material of the object itself but
rather in the overall shape. For example, deflection occurs when a flagpole bends in the
wind or a post bows to one side under a load. Deflection tends to be represented by a
standalone delta Δ. Δl used above represents a change in length of a member, and Δ by itself
represents a change in location, or deflection. In beams and trusses, the downwards
deflections are a primary concern in design as excess deflection can cause usability issues,
occupant comfort concerns, and environmental problems like ponding. Even more deflection
can cause structural problems like P-Delta effects, which can cause structural failure.
Calculation of deflections is highly complex and dependent on the member geometries being
14
loaded and the exact placement and magnitudes of the loads. As such, there is no single
equation to predict it. However, for regular straight beams and trusses, deflections tend to be
proportional to the load applied and the overall bending produced. For structural members
under bending, deflection is indirectly proportional to its moment of inertia
*
. For non-
straight trusses (like arches and custom shaped trusses), deflection is much more
complicated to determine.
1.4.5 Truss Design
1.4.5.1 Chord
Chord bars in trusses are the main longitudinal members that run parallel to the direction of
the truss span. They tend to run along the top and bottom of the truss. Together, top and
bottom chords resist the bending moment produced by the applied loads by acting in a
reverse moment direction produced by one’s tension and the other’s tension. Top and
bottom chords also greatly affect deflection within the truss as they are located farthest from
its neutral axis and therefore have the greatest effect on moment of inertia.
1.4.5.2 Web
Web bars are the diagonal and vertical bars that run perpendicular or nearly perpendicular to
the path truss. Web bars span from a top chord to a bottom, and vice-versa. They act to resist
shear forces produced by the applied loads. They tend to be smaller and more numerous than
the chord bars they connect.
*
The Moment of Inertia of a structural member is a property of the geometry of the member and not of the
material or the load applied. It differs based on the direction of bending, however, and it is a complicated
quantity to determine. Generally, a higher moment of inertia is caused by a bigger cross section, and it lowers
the deflection of the member.
15
1.4.5.3 Lateral Bracing
Lateral bracing bars are added between two bottom chords or two top chords to resist lateral
forces like wind and earthquake loads. Because they run between two top or bottom chords,
lateral bracing bars do not need to resist shear or bending forces for the loading and
connections assumed in this research study. Similar to how web bars resist gravity loads,
lateral bracing bars resist wind loads.
1.4.6 Structural Force Unit: kip
A kip is the common structural engineering, non-SI
*
, unit of force, equaling 1000 pounds. A
kip is shorthand for kilo-pound, or one thousand pounds. When using kips in a formula or
numeric form, it is most common to use only “kip,” and not “kips.” For instance,
10 𝑘𝑖𝑝 = 1000 𝑙𝑏
and not,
10 𝑘𝑖𝑝 𝑠 = 1000 𝑙𝑏 𝑠 .
Converting to SI units,
1 𝑘𝑖𝑝 = 4448.2216 𝑁
where N represents one Newton.
*
SI units are units in Le Système international d'unités, or The International System of Units. This system
replaced the metric system as the standard for worldwide communication in science mathematics. SI units are
mostly derived from their metric forerunners; however, some differences exist. SI and Imperial systems do
share some units as well, notably the second (s). The standard SI unit of force is Newton (N).
16
1.5 Study Boundaries
This thesis describes the development, testing, and findings of a Rhino-Grasshopper toolset
developed to encourage real-time parametric design form experimentation of structural
trusses through immediate integrated structural analysis feedback. First, the development of
the toolset is described, and each custom part of the Grasshopper interface is explained in
detail. The toolset is then tested against structural engineering industry benchmark SAP2000
for verification and accuracy analysis for a variety of increasingly complex trusses and load
combinations. Lastly, optimization examples are given to demonstrate the viability of using
this tool as a design-assist tool.
1.5.1 Limits of the Study
The toolset developed excludes many types of structural members. It focuses on structures
with members that only develop axial forces, and, within that group, only triangular
prismatic trusses are developed, while it excludes more complicated force-carrying members
such as beams, shear walls, foundations, cable structures, and compound solid bulk
structures. Specifically, the physics simulation developed cannot currently model moment,
shear, or torsional forces. As such, only structural members that ideally experience only
axial forces are included in this study, namely trusses. Cable structures are omitted as well.
The physics simulation as developed cannot model continuous or curved cables; moreover,
it cannot model cables with more than two points of connection (e.g. parabolic suspension
bridge cables that support other cables). Within the family of truss types, only the most
common are explored: Pratt and Warren trusses. The Warren trusses come in two varieties,
with and without vertical web struts. Additionally, more truss complexities are omitted: only
17
triangular prismatic trusses are included, as time constraints prevented extensions to more
complex prismatic forms.
In testing the accuracy of the structural simulation toolset, the thesis includes several
specific cases in an attempt to cover both standard and unusual configurations of increasing
complexities. It is not meant to be an exhaustive review of the structural accuracy of the
toolset, and no claim is made that the toolset will be 100% accurate under all conditions and
loads. This tool should not replace professional structural analysis software for purposes of
official building design calculations.
Similarly, the case studies for structural analysis and optimization are not exclusive. They
are intended to serve as examples and verification of versatility under standard and unusual
design parameters.
The fitness functions developed for this thesis are limited in scope and cover some of the
most common engineering concerns during design. These functions include: Weight,
Number of Members, Cost, Weight with Deflection Limits, and Cost with Deflection Limits.
There are other potential objective functions of concern to architects and engineers that this
thesis does not cover.
1.5.2 Why This Is the Boundary
The tools created as a part of this thesis are limited by the simulator used to model structural
forces and reactions within Grasshopper. Kangaroo (see Section 2.3.3.3 for a detailed
description of this Grasshopper plugin, page 38) currently models points, forces, and
momentum over time. As such, it is well suited to model axial forces between two points on
18
a line. However, forces such as bending, shear, and torsion cannot be modeled with
sufficient accuracy in this format. As a result, this thesis focuses on axial resistant form
structures exclusively. This, however, allows for the potential inclusion of most types of
trusses
*
.
The toolset developed does not cover all trusses nor does it cover all load cases. It serves as
a proof of concept for providing automatic tools for the most common cases and geometries
so that architects may model structural members early in the design process with the least
amount of time spent setting up a model.
1.6 Scope of Work
1.6.1 Objectives
The toolset described here seeks to automatically model structural solutions for proposed
architectural geometries and simulate their behavior in an immediate, useful way that can
influence designer choice and aid in the iterative design process. This thesis includes an
accounting of the development of this process, the effectiveness of this new tool, and its
validation.
1.6.2 Deliverables
The deliverable for this thesis will be a downloadable Grasshopper file that will serve as the
user interface, in which the components and design parameter controls are already set up.
Additionally, the custom packaged components will be posted as separate Grasshopper
*
While the prototypical truss consists entirely of bars that reach between exclusively two joints, and are
therefore solely in axial tension or compression, some trusses feature bars that are continuous past one or more
joints so that they can and do in fact experience other non-axial forces.
19
component files that can be integrated into designers’ digital component libraries. With an
active user community, Grasshopper encourages its users to share their creations on its
website. New, user-created Grasshopper components and software packages are available
for download continuously, and the package will be uploaded there using the username
Michael Makris and available for free download from that profile.
1.7 Overview
1.7.1 Chapter 2: Literature and Background
Chapter 2 is a more detailed explanation of the historical and current development of
integrated structural and architectural design tools. It begins with a review of some of the
computer tools on the market today that are pertinent to these developments. Following that,
there are two sections pertaining to the development and array of structural engineering tools
and the existing array of optimization tools, respectively. Lastly, there is a literature review
of the development of integrated parametric structural and architectural tools that has led to
this thesis.
1.7.2 Chapter 3: Methods
Chapter 3 begins with an overview of both the software tools chosen to develop the toolset
as well as the process contained within. Within the chapter is a systematic description of the
toolset’s workflow and the various functions performed within each packaged component.
The methods of communication between the different components are explained as well. As
part of this, the parameter inputs and data outputs that are associated with each component
type are detailed.
20
Next, the chapter contains an overview of the optimization process available with Galapagos
and an overview of how the ready-made objective functions are established and calculated.
Finally, the verification and optimization case studies used to compare this toolset to
SAP2000 and to show design-assist effectiveness are explained. The parameters and
specifications used in each case study are listed so that they may be repeated.
1.7.3 Chapter 4: Data
Results from the SAP2000 benchmark accuracy trials are reported within Chapter 4, as well
as the several optimization case studies. The chapter includes tabulated numerical results of
the forces and stresses predicted in the individual truss elements by the toolset and
SAP2000, as well as visual snapshots of the analysis results from both analyses. Within the
chapter, only tabulated results from the first verification trial are completely listed, while all
others are included in whole within Appendix A: Verification Trials. For the optimization
examples, objective results are presented on the best-fitness design solutions produced.
1.7.4 Chapter 5: Analysis
Chapter 5 contains an analytical review of the computer results from both the accuracy tests
and the optimization studies performed. For the accuracy tests, an error analysis is
performed to determine the source, frequency, and magnitude of error between this tool and
SAP2000. For the optimization tests, influential and non-influential parameters are
identified and discussed.
21
1.7.5 Chapter 6: Conclusions
Within Chapter 6, a summary of the data analyses for the accuracy tests and optimization
studies is presented, and an understanding of the necessary impact these results should and
will have on the tool’s use is developed.
1.7.6 Chapter 7: Future Work
Chapter 7 includes suggested future work to develop further the concepts and advances of
this thesis. These suggestions were inspired during the process of developing the toolset and
as a result of assessing its limitations.
22
2 CHAPTER TWO: A BACKGROUND IN INFORMED
DESIGN AND STRUCTURAL SIMULATION & EXISTING
TOOLS
2.1 Introduction to Integrated Design and Simulation
2.1.1 Motivations
This research is motivated by the notion of informing form and of enabling the architectural
designer in their native tools, methodologies, and processes. The research first targets the
need to integrate structural viability and efficiency directly into the form generation process
of architectural design in early stage conceptual and formal exploration. Intrinsic to this
design decision-making in the early stage are issues of: limited domain knowledge, i.e.
structural versus architectural; design and analysis iteration speed and therefore feedback;
access and accuracy to structural analysis; and fundamentally improving architectural
designs and the design process. The thesis is predicated on the pervasive use of parametric
exploration in contemporary design settings and on the architects’ desire for formal
exploration given the constraints of real world projects, such as fee, time, codes, life safety,
and programmatic and contextual fitness. The work is further motivated by the desire to
augment the design process with real time visual, qualitative, and quantitative cues for the
evaluation of structural fitness in particular. In response, the research approaches the domain
of early stage architectural design and its intrinsic formal exploration by building a
prototypical tool and working method for more closely coupling geometry with structural
loading, analysis, and optimization where real time visualizations provide for reinforced
learning and feedback enabling the informing of form.
23
2.1.2 Potential Benefits
Contemporary architects are embracing efforts to improve designs and design process
performance through computational methods and now, prolifically, through parametric
design (D. Gerber, The Parametric Affect: Computation, Innovation and Models for Design
Exploration in Contemporary Architectural Practice 2009). While parametric design
methodologies in architecture have arguably enabled a dramatic increase in design
exploration and of geometric and formal complexity, these methodologies have also
incurred the need to integrate further intelligent analysis of this proliferation. Evaluating the
many design solutions that now can be produced rapidly suggests the need for automated
methods rather than by human post facto analysis (D. J. Gerber, S.-H. E. Lin and B. P. Pan,
et al. 2012). Providing real time or near simultaneous analysis and feedback of concept
design and form is driving informed design decision making earlier into the design process
(Toth, et al. 2011). Coupling the common practice of parametric form exploration to
structural analysis and simulation, the work seeks to further impact design cycle latency as
well as to inform form by reducing uncertainties such as: structural fitness and efficiencies,
and later needs to redesign unsound solutions and their associated costs.
Structural evaluation in a building design is considered integral to the design process and
should now be considered more so with respect to the parametric design definition processes
(Holzer, Tengono and Downing, Developing a framework for linking design intelligence
from multiple professions in the AEC industry 2007). Cost and feasibility analyses of
structural systems should not be left to the design development stage but should be included
and integrated into the evaluation of design solution spaces when architects are still
24
considering as many possible solutions as practical (Sanguinetti, et al. 2010). An automated
structural analysis tool that can operate within commonly used design interfaces would
potentially allow designers to explore solutions iteratively where structural performance and
efficiency are increased and cost is reduced, in a more rapid and integral fashion. Having
automated structural performance information early in the design process would furthermore
allow engineers to collaborate more efficiently and intelligently, enabling them to provide
expert knowledge in a more valuable detailed fashion as well as in a timelier manner. It is
conjectured that the engineer would also be able to provide input and improve design
guidance earlier in the project design cycle, reducing the amount of structural revision and
augmentation more commonly required later. Without real-time structural analysis and
feedback within the design tool, CAD geometries have no validated physical meaning in
terms of their structural performance during initial design. Previous research has argued that
the architect lacks meaningful knowledge of the capacity with which his or her design meets
the constraints of structural and physics based reality (Bambardekar and Poerschke 2009).
2.1.3 Demonstrated Need
With this increased access to parametric modeling in the architectural profession, exploring
more complex and unconventional structural configurations has become a more common
and pressing problem. However, with these non-standard forms come non-standard
structural behaviors that are not easy to predict or design for without the incorporation of
computer based structural simulation. Most project budgets cannot afford multiple structural
analyses and instead resort to a compromised solution in which structural constraints have
been imposed on the original design, increasing design latency and creating a negative
25
impact on design intent. Given the ability of parametric design to generate expansive
solution spaces, the evaluation of these designs for structural feasibility is paramount in the
context of form finding through design exploration. This research focuses on the need for
designer centric tools to determine structural behavior quickly during parametric design,
eliminating structurally unsolvable or less efficient design solutions and influencing the
designer through visual and intuitive feedback to improve towards a more optimal design.
2.2 Background and Literature Review of Integration and
Simulation Research
The current design process in architectural practice results in a form that is more often than
not disconnected from structural simulation. This inefficient process begins with
architectural development and follows with needed structural engineering revision (Nicholas
and Burry 2007). Current modes of practice can leave both architect and engineer
dissatisfied with a negotiated and overly compromised result of poorly coordinated design
and structural design analysis processes. Architectural and structural designers often take
over a month working with a single design solution, producing a very limited set of design
alternatives (Flager and Haymaker 2007). This is primarily a design cycle latency issue that
can be solved in part by domain integration (Gerber and Lin, Designing in complexity:
Simulation, integration, and multidisciplinary design optimization for architecture 2013).
2.2.1 Past Work in Structural Integration
While it is common knowledge and now almost standard practice in contemporary
architectural design that parametric modelers provide designers the ability to generate
expansive solution spaces, these tools do so in design isolation more often than not.
26
However, numerous researchers and practitioners have begun to integrate structural
principles directly into their design exploration processes and technologies (Shea, Aish and
Gourtovaia 2005). Current standard practice for collaboration between architectural and
structural engineering domains is dependent on architectural models being exported and
imported into structural analysis programs, which requires the generation of a new structural
model with each new architectural design (Rolvink, van de Straat and Coenders 2010).
While this method permits structural analysis whenever needed, it still represents the slower
and limiting linear model of design first followed by analysis and engineering second. In
defining a linked and informed design-analysis solution, architectural and structural
parameters must continuously update and inform one another. The hurdle is to integrate
structural simulation into the common designer interface, enabling an iterative process that
improves feedback and the overall design (Turrin, von Buelow and Stouffs 2011).
One prominent precedent for this work into integration of design and simulation analysis
operates by coordinating separate computer programs running simultaneously. The work by
Sanguinetti et al. uses a “generative synthesis process (GSP)” to auto-form structures within
a design modeler and immediately ports the information to a specialized spreadsheet
program for near-instant analysis. However, the researchers concluded this procedure
remains dominated by one-way flow, as editing design parameters required a complete
regeneration of the form. They then developed another method in which a parametric
modeler cedes control to a spreadsheet. Editing the geometric parameters in the spreadsheet
instantly updated the model while producing a new structural analysis. This more interactive
approach allowed for real-time experimentation while producing instant feedback on
27
structural fitness. More recently researchers have avoided the need for custom spreadsheets
by linking commercial parametric design and analysis software so that changes to the
architecture are instantly reflected in the analysis model in a second window (Gerber and
Lin, Designing-in performance through parameterization, automation, and evolutionary
algorithms: 'H.D.S. BEAGLE 1.0' 2012).
Using computational methods to increase structural performance and decrease cost is a well-
established research topic, where cost is inclusive of time, finance, cost of complexity and
cost of fabrication and construction to name but a few. Some research has sought to provide
architects with methods to better model geometry based on performance criteria. Oxman’s
research proposed curvature analysis of surfaces as a method to calculate custom thickness,
developing an algorithm to take an input curved surface geometry and generate a smoothly
transitioning thickness gradient at every point (Oxman 2007). Significantly, this method
generates 3D model geometry as a direct result of performance information, illustrating to
designers real-world consequences of their designs as they develop them.
The introduction of CAAD design tools also allowed architects to generate an increasing
numbers of design proposals. Whereas limits of time and cost restricted traditional structural
engineers from developing more than a few structural models for any project, this increase
in design space exploration also required new methods of structural analysis automation
such as meshing, centerline modeling and BIM data associated with geometries to simplify
iterative modeling between software platforms. Other researchers and practitioners
developed methods to automate the process of model generation so that structural analysis
programs could be utilized for an increasing, but finite, number of designs proposed by
28
architects. These methods produced adequate one-off analyses in which a finite set of
architectural models produced by the architect could be individually analyzed and structural
solutions proposed. However, recent advances in computational affordability and the
adoption of parametric modeling by structural engineers can now allow architects to fine-
tune design parameters in a much more expansive and exploratory iterative process.
Researchers such as Rolvink et al. have developed complex computational and
interconnected programming to allow near-instant structural analysis within design teams.
Architects can refine designs and explore new options in one platform, and engineers can
provide structural feedback quickly and remotely from their domain specific software
platform, allowing architects to refine further their designs in near real-time (Holzer, Hough
and Burry, Parametric Design and Structural Optimisation for Early Design Exploration
2007).
2.2.2 Optimization Development
Another set of precedents includes optimization methods once domain integration has been
formalized. Researchers have begun to develop computational optimization and form
finding of structures in conjunction with parametric design iteration. Across architectural
and engineering disciplines, several different methods have been developed for this purpose.
Each has shown that computational optimization is a worthwhile next step in the process
(Shea, Aish and Gourtovaia 2005) (Holzer, Hough and Burry, Parametric Design and
Structural Optimisation for Early Design Exploration 2007) (Alfaris and Merello 2008). The
major drawbacks to date have been the computational lag of converting architectural to
structural models and the relatively high level of computer knowledge required for these
29
analyses. The interoperability and file format exchange process is a continual drawback.
While Industry Foundation Classes (IFC) is a partial solution and while some Building
Information Modeling (BIM) packages have wire, joint, and surface information embedded
in their objects to allow structural properties to be maintained between architectural and
structural models, they do not yet adequately define and set loads and constraint definitions
and checking of each member for accuracy.
2.3 Developing a Parametric Design Tool
The research problem is to enable the designer with immediate actionable feedback of a
structural solution for a given surface or curve form. The research objective is to inform
form further through integrating design process with structural simulation, sustaining
iterative analytical feedback for the design decision making of complex trusses. The
research gap is seen in the common training and domain expertise of the architect and in
their native tool kit to inform their designs through structural analysis in an intuitive and
real-time fashion. This problem results in architectural solutions that are non-optimized at
best, are typically inefficient or un-conservative, or are not physically possible at worst.
Additionally, the current work-process of architects and engineers is slow and laborious,
requiring architects and their engineers to wait on one another. This design cycle latency and
asynchronous workflow limits the number of design iterations that can be considered for
further development, and therefore arguably limits the final optimality of a particular design
process. Moreover, unlinked architectural and structural models require engineers to spend
large amounts of time reworking their analyses when architects make even small changes to
these parameters, which occurs often in the early design stages. This inefficiency can be
30
overcome in part by integration and automation. However, in order to achieve maximum
structural efficiency, engineers must be engaged in this early design stage process. Linking
architectural and structural computer models is key to developing a structurally informed
architecture while still in conceptual design, without limiting the designer's ability to explore
form and propose non-standard solutions.
The design tool created must address these needs; however, it must also be intuitive and not
overly complex. Architects and engineers commonly use different software systems, and
each is known for differing aesthetic and interface qualities. The challenge is to create a
design tool in a native environment that architects will use, understand, and yet have the
computational accuracy and modeling abilities of an engineering tool. There are many
existing architectural design tools, and each has advantages and disadvantages associated
with it. Many allow for third-party plugins to be made that increase their functional
capabilities. The following is a summary of the tools considered as platforms for further
development, as well as some other well-known industry tools.
2.3.1 Modern CAD Tools
With the introduction of Ivan Sutherland’s Sketch Pad in 1963, architectural design began
an inexorable change. CAD tools have fundamentally altered the design process, design
offices, and what can be built over the past half century. Today, a range of CAD tools offers
different capabilities depending on designer need.
2.3.1.1 AutoCAD
The standard CAD tool for detailing and creating architectural documents, Autodesk’s
AutoCAD is primarily a two-dimensional drawing environment (Autodesk 2013). Designed
31
to replicate hand drafting in a computer interface, AutoCAD specifically is meant as a
drafting tool. More recent versions of AutoCAD have introduced three-dimensional
modeling and drawing. However, in the architectural profession the tool remains primarily a
two-dimensional drafting tool. Autodesk’s other major Architectural software, Revit, serves
as its BIM-centered product.
2.3.1.2 Rhinoceros
Rhinoceros, or Rhino as it is commonly called, is a 3D NURBS
*
modeler by Robert McNeel
& Associates (Robert McNeel & Associates 2013). It is increasingly common with
architecture schools and students, which means that it is well known among young designers
but less common among established traditional architects. Rhino, too, is primarily a modeler
and not a BIM platform: it is not solely used by architects but is also popular among
designers of cars, machines, jewelry, and animation, among others. However, Rhino has
added capabilities that allow it to perform BIM tasks through its RhinoBIM plugin. Rhino is
widely popular for third-party plugins as well, which make it attractive to architects seeking
to make additional functionalities in an existing design interface.
Several versions of Rhino exist, with versions 4 and 5 the newest variety. Version 5 existed
as a beta release until November 2012 when it was released as a standalone commercial
product.
*
Non-Uniform Rational B-Spline
32
2.3.1.3 Digital Project/CATIA
Digital Project (DP) is developed by Gehry Technologies, based on the CAD program
CATIA (Gehry Technologies 2013). While CATIA was developed for mechanical and non-
architectural purposes, DP is an advanced 3D architectural modeler known for use on many
innovative Frank Gehry projects. Its high performance is coupled with advanced document
management and BIM services. However, it is not common among designers or especially
students. DP is heavily based on parametric modeling, and it straddles the CAD and
parametric realms.
2.3.1.4 SketchUp
SketchUp is another 3D modeler not solely developed for architects, but which has found
popular use among them. Developed by @Last Software, then Google, and now Trimble
Navigation, SketchUp is known for its ease of use and realistic rendering qualities, and
boasts applications in architecture, construction, game design, urban planning, and other
fields (Trimble 2013). SketchUp is a useful and easy drafting and modeling too. However, it
lacks parametric and BIM components.
2.3.2 Parametric CAD Design Tools
2.3.2.1 Revit
Revit is Autodesk’s parametric 3D design and BIM software (Autodesk 2013). Differing
itself from AutoCAD’s drafting environment, Revit is a Building Information Modeling
program that uses parametric relationships and a database system. Specializing specifically
in architecture, Revit is marketed as the next-generation of CAD tool over traditional
modeling-only tools like AutoCAD, Rhino, and SketchUp. A 3D database program, Revit
33
models building-specific items like walls, doors, floors, roofs, etc. Built to replicate the
actual components of building construction, Revit components have BIM information
embedded within them and are fully parametric to varying degrees.
Revit also includes specialty functions and abilities for non-architecture building specialties
like structures and MEP. These additional capabilities aim to unify the design and planning
process of entire buildings into one software package.
There are some notable Revit plugins available; however, the largest detriment to Revit
plugin development is its complicated and somewhat inaccessible API
*
, which discourages
many architects from engaging in Revit plugin development.
2.3.2.2 Grasshopper
Grasshopper is developed by David Rutten at Robert McNeel and Associates (Rutten 2013).
Grasshopper is a dedicated plugin and a popular extension to Rhino, especially among
architects who have found its parametric modeling useful during conceptual design.
Grasshopper is built on top of the popular Rhino API, which means that additional plugins
for Grasshopper are easier to build, and many have become popular as well.
Grasshopper operates using a click-and-drag component scripting system that replaces a
standard CAD interface as well as command line interfaces (see Figure 1, Figure 2, and
Figure 3 below). Rather than directly placing and editing geometric objects in a 3D viewport
*
Application Programming Interface (API) is a common term for an interface (or process) created by a
software maker to allow users the ability to modify that software. APIs generally allow users the option of
creating plugins that alter or add to the functions of a program. APIs can come in a variety of forms and levels
of sophistication: they can be complex standalone programs themselves, or they can exist solely as lists of
available command line functions.
34
like most CAD programs, Grasshopper requires that components, each a sub-algorithm with
its own inputs and outputs, be connected using spaghetti code. Components represent
algorithms that perform functions, run mathematical calculations, or produce new geometry
(replacing traditional command-line functions). Each variable and/or component connects to
others via spaghetti wires that pass data from one component to another. Using sliders,
toggles, and other input methods, designers can adjust the parametric values of any number
of variables. With any change to variables, Grasshopper recalculates the entire script
solution and regenerates the viewport geometries. These variables update geometries that in
turn update any that depend on them.
Figure 1: Grasshopper Scripting Example, Components and Spaghetti Wires
35
Figure 2: Grasshopper and Rhino, Screenshot of User Interfaces
Figure 3: Grasshopper and Rhino, New Grasshopper Parameters Regenerate Rhino Geometry
Figure 1, Figure 2, and Figure 3 demonstrate a simple Grasshopper script designed to create
an open cylinder in Rhino. In Figure 1, the sequence of placing components, connecting the
36
spaghetti wires, and editing parameters is shown. Figure 2 shows the user interface for
standard Rhino-Grasshopper operation. Rhino shows one or more viewports of the three
dimensional space while Grasshopper shows the scripting code. The Grasshopper window is
where the user makes changes to the definition and input parameters. Figure 3 shows how
changing the input parameters (X, Y, Z, and Radius) causes Grasshopper to reevaluate the
script and automatically update the Rhino geometries.
2.3.3 Publically Available Grasshopper Plugins
One of Grasshopper’s additional strengths is its large, collaborative, and active community
of users that continuously create new content for the program. The parametric modeler also
allows users to create custom components, or user objects, without having to program using
the Rhino API. Some user objects have produced new types of geometries, new simulation
tools, and advanced data management capabilities, and many are available for download on
the Grasshopper website (Rutten 2013). Some users have developed separate toolboxes of
their own and are known for their useful additions to Grasshopper. Many times Grasshopper
adopts the best of these add-ons to its core functions in future releases.
Some of these available components focus on structural simulation modeling in the
grasshopper environment. As part of this research study, a review of the available products
gauges the flexibility, customizability, and accessibility, capabilities of various tools. This
review is detailed here.
37
2.3.3.1 Karamba
Karamba is a closed toolbox of structural simulation tools for structurally minded designers
using Grasshopper. Developed and sold by a joint group of professionals and academics
*
, it
assigns real-world structural component types, allows users to apply forces, and analyzes
architectural and structural systems (Karamba3D 2013). Karamba’s major limitation,
however, is its cost and closed-development. In a community where most Grasshopper users
share tools freely and openly in the hopes of improving the software and helping one
another, Karamba charges a fee
†
and does not allow users to make changes or add
components of their own. Many, if not most, Grasshopper users avoid Karamba for this
reason, in addition to its steep learning curve.
2.3.3.2 Millipede
Millipede is a free structural analysis and optimization tool for linearly elastic structures,
developed by Michalatos Panagiotis and Kaijima Sawako (Panagiotis and Sawako 2013).
Millipede sits in the middle ground between Kangaroo (see Section 2.3.3.3 below) and
Karamba (see Section 2.3.3.1 above). While Millipede, like Karamba, has an established
structural analysis interface that allows designers to customize and edit their designs,
Millipede’s interface is more open to specialized design revision and editing. Like Karamba,
Millipede requires users to adjust settings manually for each structure. This fact makes it
hard to create an automated system around Millipede: there is little ability to automate the
decision-making system so that decisions about support types, material types, connection
*
Moritz Heimrath; Clemens Preisinger; Matthew Tam; Robert Vierlinger; Christoph Zimme
†
As of June 7, 2013, Student Licenses are 30€, Professional 1-year Licenses are 390€, and Professional-
Unlimited Licenses are 990€.
38
points are automated for designers. Rather, designers are required to manually make these
decisions themselves. That is adequate and good for specific design projects in which
specifications are known; however, in creating a general-purpose truss design tool, this
limits the atomization ability.
2.3.3.3 Kangaroo
Kangaroo is a joint project developed by Robert Cervellione, Giulio Piacentino, and Daniel
Piker (Piker 2013). It is a freely available plugin for Grasshopper, making it popular with a
wide variety of architects, engineers, astronomers, students, and others. Its creators have
included varying types of physical forces in the simulator (e.g. water pressure, springs,
power laws, hinges, and rockets), making it a popular plugin among various types of
Grasshopper users seeking to simulate a system over time. One of Kangaroo’s most popular
uses is for dynamic mesh relaxation among architectural designers seeking to create
catenary domes and cable/mesh structures. Another favored use investigates large systems
of particles that interact with each other in open and closed environments, like air molecules,
stars, and planets.
Components from the Kangaroo toolbox operate like any other Grasshopper components,
making them easy to connect and operate, with very little learning curve. An additional
advantage of Kangaroo is dual simulation in both standard simulation and real-time
simulation modes. Kangaroo can, like most simulation engines, calculate the end state of a
setup and display the results. However, Kangaroo can also act on a timer. In this mode,
Kangaroo visually solves for system changes in small time-steps and graphically shows
these changes in the Rhino viewport. Effectively real-time animation, Kangaroo can model
39
particles moving, meshes deflecting, and objects deforming over time and show these
changes as they happen.
Kangaroo is in continual development, but it is a surprisingly robust tool with many
available customizable features. Its largest detriment is the amount of computing power
needed to run real-time simulations. Under normal settings with medium time steps,
simulations can lag intermittently. However, under increased precision required for larger
simulations and stiffer springs, it can slow more noticeably. In these cases, only end-result
simulation would be advisable.
2.3.4 Corporate/Proprietary Parametric Tools
Some major engineering and architecture companies have developed their own in-house
parametric modeling tools. Often these propriety tools are not available for sale or public
use, and their developers keep them private to maintain a competitive advantage. The
combined difficulties of cost and corporate proprietorship makes it infeasible to study these
tools in the current research study. Some examples of corporate parametric tools are:
Salamander, Arup’s Fablon/Oasys/GSA, and Buro Happold’s SMART Form.
2.4 Structural Analysis and Design
There is a variety of structural analysis methods available to the standard engineer, each
with its own sets of strengths and limitations. To develop an architectural tool, an automatic
computer method of analysis must be established using one or more of these methods.
40
2.4.1 Strength of Materials Theory
Material scientists have developed varying empirical and theoretical methods of predicting
the strengths and reactions of different structures to applied forces. When forces are applied,
stresses are induced within an object to resist them, according to the formula:
𝜎 =
𝐹 𝐴
where σ is the stress, F is the force, and A the area of material resisting the force.
By empirical observation, it is known that applied forces also cause changes to material
shape or size. This behavior is known as the stress-strain curve of the material, and it can be
measured and graphed for individual materials. Compressive forces produce compression
stress and tension forces produce tensile stress. Other types of force-stress combinations are
shear, moment, and torsion. Each of these stresses can produce strain in the material under
loading.
2.4.1.1 Elastic Behavior & Linear Spring Theory
Through centuries of observation, it is clear that the most basic type of behavior for a
material under load is elastic. Elastic behavior dictates that a material’s reaction to a force
increases with the force, and that when not stressed to excess, elastic materials return to their
original shape and size when loads are removed. This is similar to how a spring operates in
41
everyday life. Unless the spring is overstretched, the spring always returns to its starting
position
*
.
In addition to this elastic response, springs have been shown to deform linearly with applied
compression or tension. Spring theory is based on the empirical physical equation called
Hooke’s Law:
𝐹 = − 𝑘𝑥
Also called the spring equation, this scalar, simplified version of Hooke’s Law describes the
force F produced in a spring with a stiffness k when stretched or compressed a linear
distance x. This equation assumes a mass-less, frictionless spring. Provided the stiffness
remains constant in the range of stretching, the relationship between the force and
displacement is linear. Beyond a certain distance x, however, the stiffness k may change.
Material science reveals that all elastic behavior follows Hooke’s Law. When materials are
stretched or compressed up to a certain strain, the forces needed to stretch them, as well as
the internal forces produced, follow Hooke’s Law.
2.4.1.2 Linear Elastic Behavior
For many materials, their initial behaviors under load are both linear and elastic. That is,
when loaded they experience linear increases in stress and will return to their starting shapes
when unloaded. This dual behavior is classified as Linearly Elastic behavior. Linear Elastic
behavior is most common in some materials under initial load, but may not continue given
*
Plastic behavior is the opposite of elastic behavior. Whereas elastic materials return to their starting positions
when unloaded, plastic materials will return to a slightly or highly deformed shape when unloaded.
42
enough strain. For example, standard building steel is linearly elastic up to a certain level of
stress and strain; however, after this point, it becomes nonlinear and plastic.
For a linearly elastic material (or within that material’s linearly elastic stress-strain region),
Hooke’s Law can be rewritten as:
𝜎 = 𝐸 ∙ 𝜀
where σ is the axial
*
stress in the material, ε is the axial strain in the material, and E is the
Axial Modulus of Elasticity for the material (also known as Young’s Modulus). By
measuring how σ and ε change in relation to one another for a material under changing load,
researchers can establish E for that material. E is therefore a function of the material under
consideration, and is known for many common structural materials. E
steel
is 29,000,000 psi,
E
concrete
is commonly about 3,000,000 psi, and E
wood
is normally around 1,300,000 psi.
Since,
𝐹 = 𝜎 ∙ 𝐴
where F is force, σ is axial stress, and A is cross sectional area, and,
𝜀 =
∆ 𝐿 𝐿 0
where ε is strain, ΔL is length deformation, and L
0
is original length, it is possible to rewrite
Hooke’s Law to take account of material section. That is, for a constant section material
*
Axial forces comprise compressive and tensile forces. Axial stresses are compression stress and tension
stress.
43
with area A and length L concentrically loaded along its axis and within its linearly elastic
range:
𝑘 =
𝐴 ∙ 𝐸 𝐿
From this, it is possible to model any concentrically loaded bar as a spring with stiffness k
within its linearly elastic region.
2.4.2 Finite Element Methods
For single objects or very simple systems of objects, interrelated simultaneous behaviors
(situations in which one object’s behavior affects another’s, and vice versa) can be solved
directly using a variety of methods developed by structural engineers. These methods seek
out the equilibrium (i.e. final or resting) behavior of objects under load. However, when a
system of many objects is assembled, such as a truss with many bars or a building with
moment frames, solving for all these behaviors simultaneously can become tedious,
mathematically difficult, or even impossible to do exactly.
Finite Element Methods take large systems of individual, definable objects, (i.e. elements)
for which behavior is roughly known, and define their relationships mathematically in a
complicated system of amalgamated equations. These systems of equations can cover the
contributions from hundreds, thousands, or even millions of such individual elements. The
resulting system is perfectly suited to computer solution methods, and, with the assumption
of some amount of (usually small) error, it can be solved relatively quickly. Solving for this
system of equations results in calculated equilibrium values for the internal forces within the
objects.
44
2.4.2.1 Stiffness Matrix Method
Steel and concrete frame construction is common in non-residential buildings in the United
States and most buildings in the rest of the word. In studying how these frames behave,
structural engineers have developed complex methods for accurately predicting their
behavior. Simplifying frames (using idealized behavior models) into various approximated
stiffness equations allows engineers to create complex series of matrix formulas that model
the beams and joints of buildings. Solving for these stiffness matrices produces close
approximations for the stresses produced in those structures under given loads.
Unfortunately, to solve these stiffness matrices for frames larger than a few bays
exponentially increases the size and difficulty of the calculations involved. Computers,
however, can solve these calculations quickly and predict building behavior in even the most
complex steel or concrete high-rise.
The Stiffness Matrix Method finds an equilibrium solution for the system of objects being
simulated. It does not give insight into behavior of the system between initial loading and
final solution. As such, it is a relatively fast method for structural simulation, especially for
computers.
2.4.2.2 Time History Analysis
Rather than relying on idealized structural behaviors of beams, frames, etc. to find an
equilibrium solution for a system of objects using constant forces, Time History Analysis
solves for a set of time-dependent forces and breaks the solution down into time steps.
Modeling the system over a series of tiny steps reveals changes in response of the system
between time steps, and these small changes allow for easier updates to time dependent,
45
force dependent, and deformation dependent variables within the simulation. Modeling
finite elements over time, as opposed to the equilibrium approach described above, allows
the forces between them and the relative positions of each element to be recalculated with
each time step. Each step is assumed to be linear even if the overall response is nonlinear.
By solving for the sum total of forces on each object during a given time step, the analysis
calculates how far that object moves in that time step. Once the calculation has been done
for every object across the entire simulation, the analysis moves on to the next time step and
finds new sum forces on each object all over again. These forces are recalculated using the
updated positions of the objects.
Finite element time history analysis relies on a brute-force method to consider the forces on
each object and how that object affects those around it. Through a long cycle of potentially
thousands of iterations, this method can measure various forces in simple or highly complex
structural members. Time History Analysis does not immediately solve for a final
equilibrium solution like other methods of structural analysis. Instead, it finds small
equilibrium solutions for each of the hundreds or thousands of time steps, allowing time
dependent variables to be updated in small increments. Since the response is assumed linear
from the beginning to the end of the time step, any variables that are time dependent are
updated to see if they remain the same. If not, even smaller iterations are performed within
the time step until convergence within an acceptable tolerance is achieved for all object
forces and joint displacements.
Summarily, unlike whole-system equilibrium solution methods that assume constant system
forces, Time History Analysis can incorporate changing structural forces, including
46
simulating shifting earthquake forces. Time History Analysis explicitly requires modern
computational power, and it has proven useful in unusual and abnormal structural
configurations.
2.4.2.3 Dynamic Spring Relaxation
As detailed in Section 2.4.1.1 above, elastic behavior can be modeled as spring-like using
Hooke’s Law. Systems of linearly elastic uniaxial objects, like a steel truss with many bars,
can be modeled therefore as a system of springs all connected to one another. While an
equilibrium solution for this system of springs can often be found using standard structural
analysis techniques, Dynamic Spring Relaxation combines traditional linearly elastic
analysis with time history finite element methods to model the system of springs over small
time increments iteratively. During each small increment of time, the simulation solves for
the entire system of springs and produces a new deformed shape. The computer model
produced is capable of modeling a variety of structures, including truss, cable, and cable net
systems. This approach marries the faster computational speeds of approximated linearly
elastic behavior with the versatility of time history analysis.
2.5 Optimization
2.5.1 Genetic Optimization and Evolutionary Algorithms
Genetic Optimization (GO) and Evolutionary Algorithm (EA) are umbrella terms for a
method of optimization modeled on natural selection, genetics, and evolution. Simply put,
these techniques involve testing iterative groups of possible solutions, where each group is
determined from the best solutions in the previous iteration.
47
2.5.1.1 Genetic Optimization
Genetic Optimization (GO) describes optimization driven by genetic variation among
differing solutions. That is, the solutions evaluated must have genetic-like parameters that
define them, and changing even one of these parameters must change the whole solution.
For example, changing just one gene in a person could change their hair, skin, or eye color,
making them objectively a different person; similarly, changing one parameter in a truss
could change its size, segmentation, or curvature.
GO requires that solutions can be defined in terms of genes (i.e. parameters) that can take a
set number of values. The value ranges of these genes cannot be infinitely continuous (but
they can be extremely large so long as the total value range is well defined): they must have
finite step sizes between possible values, and they must have defined boundaries. GO also
requires that all solutions have the same set of genes, so that each solution can be objectively
compared to all others. GO is well suited for optimization problems that have a well-defined
set of parameters and in which the parameters are bounded and take discrete steps.
Because of the similarities to genetics and the study of the human genome, unique solutions
in a GO process are called Individuals. Individuals all have the same set of genes, and all
their genes can take the same sets of possible values, respectively. In GO, however, no two
individuals can share the same genetic makeup: each individual can and must be described
by a unique set of parameter values. Whereas genetic twins in reality can coexist side-by-
side, genetic twins in GO have no purpose. They are often prohibited since they would
produce identical fitness values and are therefore a waste of computational power.
48
2.5.1.2 Evolutionary Algorithms
Evolutionary Algorithms (EA) describe a method for creating iterative generations of
solutions to evaluate. In Genetic Optimization, a group of solutions within the larger
solution set is called a generation, and a single unique solution within that group is called an
individual (see Section 2.5.1.1 above). The first generation evaluated is generally a random
sampling from among the entire solution set. However, certain regions of the fitness
landscape
*
tend to have better performing solutions, and these regions of increased fitness
are where the EA algorithm has better chances of finding the most optimal solution.
EA identifies solutions within those better regions while rejecting solutions that are farther
from them. Identified solutions are bred together to create a new offspring generation. The
exact breeding process is unique to different proprietary EA scripts; however, the general
process takes some genes (i.e. parameter values) from each of two parents to create a new
unique solution. An entire new generation of solutions is created in this manner. Then the
fitness value of each new solution in this new generation is evaluated, a new fitness
landscape is created, and the process starts anew.
Unlike in the natural world, individuals can exist in multiple generations, even forever, if
kept by the EA algorithm. Many EA scripts will keep the top 5%-10% of the previous
*
The fitness landscape is the imaginary visualization in the change in fitness values as solutions vary. For
example, a real-world hilly landscape could represent a fitness landscape where each point on the ground is a
different solution. Points with higher elevations would have higher fitness values and lower elevation points
would have lower fitness values. The ground points would have only two parameters to define them, their x-
and y- coordinates on a grid. Their elevation is their fitness value.
This two-dimensional example works for cases in which solutions have two parameters and a single fitness
value each. When the number of parameters increases, the visualization would increase to a four-, five-, and
six-dimensional landscape, respectively. These examples cannot be visualized, but they contain the same basic
principle that certain regions of the landscape would have generally higher fitness values than others (like the
tops of grassy hills in a hilly region).
49
generation, as measured by fitness value, from being discarded. These individuals may be
used to breed, but they need not be discarded. The 5%-10% remaining are retained because
they are the best solutions found so far. EA does not necessarily (and in practice rarely)
find(s) a new best solution each generation. Breeding the #1 and #2 individuals in a
generation will not necessarily create a new higher fitness solution. Because of this, the
previous best solutions must be retained in case they are the best that can be found.
EA and GO do not guarantee finding global best solutions. As explained in Section 1.4.3,
these optimization methods only find local optima. Given time, an EA script could always
potentially find better solutions. However, after a reasonable time with no new best
solutions, it is customary to accept a solution.
2.5.2 Optimization Tools
2.5.2.1 Galapagos
Developed by David Rutten, the Grasshopper optimization tool Galapagos is a native feature
that explores the solution set defined by a structural design problem. Built to expose
parametric designers to a simple and straightforward optimization routine, the Grasshopper
feature automatically performs much of the optimization process without user input.
Galapagos is capable of performing both Genetic Optimization and Simulated Annealing.
Specifically, the genetic optimization technique employs an Evolutionary Algorithm (EA).
Galapagos requires users to choose variable design parameters and set their boundaries and
step sizes. Parameters not defined as variable are kept constant across all solutions within
the set. After variable parameter selection, users must define a fitness variable by which
Galapagos judges the relative quality of the solution being considered. Depending on the
50
optimization task, the fitness variable may take into account the geometry of the solution,
the performance of a simulation, or both. This fitness variable must be a single value for any
individual geometric solution, and hence Galapagos is described as a single-objective
optimization program.
As discussed in Section 1.4.3, quasi-multi-objective optimization is permitted by combining
any number of discrete measurements with a weighted function into a final value. Different
measurements of the quality of a solution are given different relative importance in
determining a final fitness value. Through this process, multiple conflicting or parallel
methods of measuring fitness can be combined into a single value for the solution at hand.
The process of optimization assumes that the fitness value is a continuous measurement of
the quality of the solution. The user must define whether the goal of the optimization is to
minimize or maximize this value. Under the given method, Galapagos will then attempt to
find solutions that either minimize or maximize this value through its GA routine.
2.5.2.2 Other Tools
Besides Galapagos, other tools for Optimization work are available on the market. Some are
independent programs with their own user interfaces and controls. Others can be plugins to
existing programs. Standalone, commercial optimization software often has advanced
capabilities; however, this can require specialized user knowledge to operate and integrate
with external workflows. Plugins have the virtue of built-in integrated development and
testing behind them. One such plugin is Octopus, a multi-objective optimization plugin for
Grasshopper. Unlike Galapagos, however, Octopus does not come built-in and is developed
by a separate, third party. Octopus remains in the early stages of testing and development.
51
Alternatively, standalone commercial optimization software includes Mode Frontier and
HEEDS Mdo.
52
3 CHAPTER THREE: DESIGNING A NEW TOOL
3.1 Software Choices
For the reasons explained in Section 3.1.1 below, Grasshopper and Rhino were selected
early to serve as the design and scripting interface, over other design tools such as Revit or
AutoCAD. They serve as the programming environment to create the tool, as well as the
interface in which the tool is used. Even then, a method of structural simulation was required
as well that could be integrated with Rhino-Grasshopper models. Kangaroo, Scan&Solve,
SAP2000, Millipede, and Karamba were considered to fill this role. Ultimately, Kangaroo
was chosen as a method of physics simulation, as is detailed below. The choice of
Grasshopper as a programming and design environment also provided a logical opportunity
to use the native Galapagos optimization tool as well.
3.1.1 Rhino & Grasshopper
Rhino’s strengths lie in its conceptual design capability and plugin flexibility (Robert
McNeel & Associates 2013). Robert McNeel and Associates have developed Rhino for
additional functionalities in a way Revit and AutoCAD have not. While those later programs
are powerful construction document tools, neither is as versatile as Rhino in being an early
design tool, a central goal of this thesis. Rhino’s increasing popularity as a conceptual form
modeler makes it a good platform for creating an early structural design tool for architects.
Its popularity and accessibility to current design students makes it an excellent choice as it
ensures the plugin will operate in a system designers already know.
53
During the course of this thesis, Rhino 5 was released, superseding Rhino 4. However, as the
work on this thesis started on Rhino 4 and certain logistical constraints existed to switching
over during development, Rhino 4 remained the platform on which development continued.
However, the integrated design tool developed works on both platforms so long as the
Grasshopper versions are adequately updated.
While Rhino provides a three dimensional design view, Grasshopper acts as the user
parametric interface as well as the development-scripting interface. As a parametric
modeler, Grasshopper is already a useful design tool. More importantly, however, it
specifically allows users to create their own plugins and components, even without complex
knowledge of computer scripting. This functionality made Grasshopper the best choice for
this thesis tool, as much less time was needed to learn the Grasshopper interface. Creating a
structural design tool in Grasshopper eliminated the need to code in complex C# or other
command line languages. Instead, programming time could be spent developing the
generation of geometry, structural simulation, and optimization. Additionally, using
Grasshopper eliminated the need for designers to purchase an additional piece of software.
Grasshopper is a free plugin for all users of Rhino 4 and 5, and users of Rhino are familiar
with the basic mode of operation of Grasshopper since one is based on the other.
3.1.2 Kangaroo
For structural simulation, Kangaroo was chosen over the other alternatives for several
reasons. Kangaroo’s creators have provided it free of charge to Grasshopper community
users for experimentation and use. While other structural simulation software charges for
54
each individual license, Kangaroo is provided free for all. Users of this thesis tool are
therefore not bound by their own software-purchasing budget.
Kangaroo also was chosen for its native integration into the computational process of
Grasshopper. An external applications such as SAP2000 requires peripheral communication
with its parent program(s) to analyze structures. Kangaroo is an internal Grasshopper
component that runs completely within the Grasshopper runtime, which increases its speed
and decreases user downtime. Moreover, all Kangaroo programming occurs inside the
Grasshopper scripting environment. Kangaroo operates completely in the background. Other
options would require knowledge of the structural engineering programs they use. This
would limit users to those who already had some specialty knowledge of the tool in
question, as well as those with access to it. With Kangaroo chosen, no specialty knowledge
will be required.
The largest downside of using Kangaroo is the lack of a ready-made structural interface or
structural routines. Kangaroo is a general physics simulator, which means each new
simulation must be set up from scratch, that is, set up using the basic physical fundamental
forces. Unlike SAP2000, Kangaroo does not have a beam item or a column item premade. It
does not have specialty options for different connection types or a pre-made interface for
loading options. All these standard parts of structural simulation and analysis of buildings
must be custom made for this thesis using the Kangaroo and Grasshopper library of tools.
This presents a challenging endeavor, but it also allows for the opportunity to design an
interface specifically suited for architectural designers instead of structural engineers.
55
3.1.3 Galapagos
Using Rhino and Grasshopper suggested a natural optimization choice. Galapagos is the
built-in optimizer in Grasshopper, and its capabilities are well suited to this thesis. It allows
users to select which parameters are available for variation, and it produces visual graphs of
the optimization process, allowing designers to bypass tedious numerical examination of
results and select optimized results straight from a graph.
A notable limit of Galapagos is its focus on single-objective optimization. As discussed in
Section 1.4.3 on Optimization (see page 10), designing structural solutions can often have
multiple, conflicting objectives like cost and strength; however, as in standard structural
engineering, an acceptable method of remedying these multiple objectives is to establish
quasi-multi-objective optimization using importance (or weighting) factors on multiple
objectives. Added together, these weighted objectives form a single objective function that
Galapagos is capable of optimizing. In engineering, this same procedure is routinely used to
weigh several competing objectives, and it produces a single fitness objective value that can
be more easily understood.
3.2 Design Tool Overview
This section lays out the overall logic and workflow of the design tool created for this thesis.
The tool is broken into four semi-automatic components as described in the following Sub-
Section 3.2.1. Each of these main components is then described in more detail within its
own individual section (see Sections 3.3, 3.4, 3.5, & 3.6).
56
3.2.1 Geometry, Simulation, Analysis (& Optimization)
With a goal of designing, loading, simulating, and analyzing a structure, the tool is broken
into steps, each comprising a discrete function. This process evolved throughout the thesis
development, settling into a three-part structure (plus optimization). Within the user
interface, the tool is broken into four custom components, each with its own set of inputs
and outputs. The four component types are Geometry, Simulation, Analysis, and
Optimization (see Figure 4 below).
Figure 4: Design Tool Grasshopper Interface, with Components and User Inputs Called Out
Figure 4 depicts the final user interface within the free, downloadable Grasshopper file, with
each of the major parts called out and color-coded. This four-part script has been
preassembled to coordinate the full range of functions and pass all data as needed from
Geometry through to Optimization. Here each of the four user-components of Geometry,
Simulation, Analysis, and Optimization can be seen. Starting with Design Parameters &
57
Inputs, the user must specify a geometry to follow (either an input curve or two end points)
as well as the basic geometric properties of the truss. (The full range of inputs and the steps
to use each component are provided in the sections associated with each component.) The
Geometry component then, in real time, creates a wireframe model in the Rhino viewport.
This wireframe model and its associated data are transferred to the Simulation component.
At this step, the user must enter the Structural Loads & Parameters. The Simulation
component then passes its results on to Analysis, and so on. If any parameter is changed at
any point, Grasshopper recalculates the entire solution from the start. In this fashion, the
four-part interface continuously updates the truss solution with any changes the user makes.
The resulting truss is displayed in real time in the accompanying Rhino viewport(s) (see
Figure 5 below).
Figure 5: Screenshot of Operational Toolset in the Grasshopper and Rhino Windows
58
Figure 5 demonstrates how the structural performance information is displayed
infographically through color-associated failure states. Additional key information is
displayed in the floating text within the Rhino interface as well.
3.2.1.1 Inter-Component Data Flow
The four-part interface requires a large amount of information flow. The many “spaghetti”
links crossing between the different components and input parameters are visual
representations of how Grasshopper automatically links together different functions and
components when programmed to do so (see Figure 4 above). As part of development, many
inputs and outputs were defined as necessary for the different components to function. As a
means of saving computational time, the Simulation component, for example, uses the
outputs from Geometry rather than re-calculating the necessary information itself.
For example, the Geometry component may generate a regular triangular prismatic Pratt
truss with six segments. However, without this informed information flow, the Simulation
component would only know that the truss has 42 discrete bar elements, but it would have
no way of knowing which are chord and web bars and which are cables or solid. To ensure
that every truss member is modeled correctly, the Geometry component must pass its
parameter information along to the Simulation component in a consistent and
understandable format.
An additional benefit of breaking down this information into discrete connections and not
bundling it into one single connection from Geometry to Simulation is that it allows any
potential users to access the information as needed, in real time. Instead of hiding all the
potential information, this method makes it ordered and available. A user could access
59
precisely the locations of every truss joint, only the top chord joints, or only the base
connection joints, as needed. This makes the tool much more valuable to Grasshopper
designers who may decide to combine this design tool with other Grasshopper plugins or
designs.
3.2.1.2 Intra-Component Data Management
In addition to the many data connections for the four main components and their parameter
inputs, there are hundreds of connections made within the components themselves. Each
component is a bundle of many other sub-components, some native Grasshopper
components and others further custom-made components that perform a specialized task
(this is expounded upon further in each of the component sections). While much of the work
in developing this toolset was in establishing the methods by which geometry and simulation
could run, other work was done to ensure that the large amounts of data produced within
Grasshopper is managed and flows correctly.
Grasshopper manages data internally by what it calls a “tree” system. This data tree
establishes layers of data bundled together into sets
*
. Managing the thousands of data
simultaneously required precise control over the data at all times, and much effort has been
expended to ensure users will not have to worry about this. Unlike the outputs deliberately
made available to users on the component level, the copious amounts of data kept within the
components have been hidden for clarity and error safety.
*
The precise definitions of data trees and sets are not necessary for understanding this thesis. Users of
Grasshopper generally learn to use this management structure at an early to intermediate stage. However, there
are explanations of these terms available online.
60
3.3 Geometry Component
Creating the basic geometry of a building or structure is the most basic requirement of an
architect. In designing walls, roofs, floors, windows, etc., the architect must produce
drawings and/or models of the actual geometry to be constructed in the built environment.
Similarly, the first step in using this toolbox requires the generation of structural member
geometry. The Geometry component does this by generating a wireframe model of the truss.
The steps it performs to do so are described below.
3.3.1 Overview of the Geometry Component
The geometry component (see Figure 6) in Grasshopper ultimately has the purpose of
creating a wireframe model of the proposed truss design. This component is the primary
component for the design, and, as such, it contains all the architectural inputs that determine
location, typology, size, etc.
61
Figure 6: Geometry Component, Screenshot in Grasshopper
To accomplish this task, the Geometry component has four main steps. It first must establish
the Backbone Curve that will serve as the prime path of the truss. Next, it establishes planes
along that curve in which joints will sit, and it establishes the points themselves. Next, it
selects which points will act as joints and which to discard. Lastly, it connects those joints,
based on the typology of truss chosen, with the truss bars.
3.3.2 Design Parameters & Inputs
The Geometry component relies on user inputs to define the truss. The potential list of
inputs could be significantly longer, but twenty-two inputs have been identified that serve to
62
define a limitless variety of trusses available. The user interface contains manual parametric
controls for twenty-one of these inputs (the other being a geometric input) (see Figure 7
below). Users can use sliders/knobs/drop-down-menus to enter desired values, or they can
double click each control and enter the exact value desired.
Figure 7: Design Parameters & Inputs, Screenshot of Grasshopper Interface Control
63
For the slider and knob controls (see Figure 8 below), continuous variation of the selected
value shows how the truss design produced varies instantly. This allows designers to
customize their designs and experiment freely. The default ranges for each control are
preset; however, control sliders and knobs can be edited by the user (to change their ranges
and/or step sizes), but doing so is not recommended.
Figure 8: Parametric Control Examples, Slider and Knob
The drop-down-menu parameters are those with a fixed number of possible values (see
Figure 9 below). This is because there are only a fixed number of options possible, or
because the toolset is currently capable of performing those options specified. For instance,
for the control input Reverse Radial Direction, the only possible options could be Yes and
No. However, in selecting the Truss Type of Pratt, Warren, or modified Warren truss, these
are the only options the plugin can perform. There are other types of trusses in existence, but
these three most common types are the only three available in the tool at this time. The
purpose of the drop-down-menu is to produce an integer output. These integer outputs (i.e.
64
0, 1, 2, etc.) are used within the Geometry component to control logic and filter gates,
allowing different portions of code to be activated according to the user selections.
Figure 9: Input Control Examples, Drop-Down-Menus
The only other input type is the geometric input for the Custom Curve (see Figure 10
below). This input is unique in the user interface in that it does not have a pre-configured set
of options from which to choose. This geometric input, if enabled, requires the user to
provide a curve either by direct selection in the Rhino viewport or through Grasshopper
spaghetti connections. This input curve becomes the backbone on which the truss forms. It is
colored orange in Figure 10 because there is no input specified at the time; however, once an
input is given, it turns grey as well.
Figure 10: Custom Curve Geometry Input
Each parameter input on the Geometry component is labeled and features a tool-tip
describing its purpose and the correct data input format. For completeness, the input
parameters are listed below with a short summary of each:
65
3.3.2.1 System Type
System Type controls almost every aspect of the toolset. The two options are Beam and
Façade. A Beam system type will orient the truss primarily to resist gravity. Façade systems
will orient to resist lateral wind forces, and they will respond to changing wind direction
inputs.
3.3.2.2 Curve Type
Curve Type controls what type of Backbone Curve is created for the truss. The options are
Auto-Arc, Auto-Catenary, and Custom Curve. The first two options use the Point A and
Point B inputs (see below) to define the locations of the truss supports. Then the component
creates the associated Backbone Curve using a series of automatic algorithms that also take
into account Arch Height, Tilt, and Support Angles. The Custom Curve input uses a user-
provided geometric curve for the Backbone.
3.3.2.3 Custom Curve
The Custom Curve geometric input requires a curve input to be assigned to it manually. This
input is only used if the Custom Curve option is indicated within the Curve Type parameter.
3.3.2.4 Point A
This geometric point is created by specifying the X, Y, and Z coordinates of a point in
Cartesian space. Alternatively, a user may input a Grasshopper or Rhino point parameter
manually into the Geometry component. Point A defines the starting point of the truss when
either Auto-Arc or Auto-Catenary is selected within the Curve Type parameter.
66
3.3.2.5 Point B
This geometric point is created by specifying the X, Y, and Z coordinates of a point in
Cartesian space. Alternatively, a user may input a Grasshopper or Rhino point parameter
manually into the Geometry component. Point B defines the ending point of the truss when
either Auto-Arc or Auto-Catenary is selected within the Curve Type parameter.
3.3.2.6 Segments
Segments defines the number of inter-joint divisions within the truss. This number greatly
affects the performance, construction, and look of the truss. The Segments parameter must
be an even number.
3.3.2.7 Tilt
Tilt is a unique parameter that rotates the orientation of the entire truss around its A-B axis
(it only works when Auto-Arc or Auto-Catenary is selected within the Curve Type
parameter). The direction of gravity or wind is not affected.
3.3.2.8 Arch Height (Above A-B Line)
This parameter allows either the Auto-Arc or Auto-Catenary Backbone Curve to deviate
from a straight line into a curved shape, creating a curved truss. The Arch Height is
measured at the midpoint between Points A & B from the A-B Line.
3.3.2.9 Width
Width determines the base width for the truss as its endpoints. The width at the midpoint is
determined by multiplying this value by the Mid-Width Multiplier. Width at all other points
are determined using a second-order interpolation between the two, effectively creating a
parabolic shape when they differ.
67
3.3.2.10 Depth
The Depth parameter varies depth in the same manner as the Width parameter, except that it
affects the truss Depth.
3.3.2.11 Mid-Width Multiplier
The Mid-Width Multiplier determines the width of the truss at its midpoint by increasing or
decreasing the Width value by coefficient multiplication. A Mid-Width Multiplier parameter
of 0.75 and a Width parameter value of 4.0 will specify a width at the midpoint of the truss
of 3.0.
3.3.2.12 Mid-Depth Multiplier
The Mid-Depth Multiplier parameter varies depth in the same manner as the Mid-Width
Multiplier parameter, except that it affects the truss depth at the midpoint.
3.3.2.13 Twist
Twist is a playful parameter included as a tool in the creation of unusual and unique designs.
This option allows the truss to twist along its length from beginning to end a given amount
of radians. The input parameter value will determine the final twist at the end point and all
other points will be linearly interpolated to determine their radian rotation.
3.3.2.14 Truss Type
Truss Type determines the fundamental typology of the truss, and it is a strong determinant
of the performance of the truss. The options available at this time are: Pratt Truss, Warren
Truss, and Warren Truss with Struts.
68
3.3.2.15 Move Pratt Center
If a Pratt Truss is selected as the Truss Type, the center point can be moved a specified
number of segments along the truss using the Move Pratt Center parameter and by
specifying a positive or negative integer. The center point dictates where the opposing
diagonal web bars meet.
With practice, engineers have found that designing Pratt Trusses with varying center points
can improve truss performance. In particular, this option is advantageous when the load on a
Pratt Truss is not highest at or centered on the geometric midpoint. Moving the center point
of the truss to the location of the greatest load or geometric load median can improve Pratt
Truss performance.
3.3.2.16 Support Connection Type
The Support Connection Type input is an important choice as it affects the structural
performance of the truss greatly. The Simple Support Hinge connects two of the three end
points at each end of the truss to the base while letting the third end point hang free. This
produces a simple support
*
. The Triple Point Moment locks all three points at each end into
place, creating a moment connection. When compared to a simple support, the moment
connection often reduces forces within the truss elements, but it also can increase the forces
at the support points.
*
This input option does not dictate orthogonal restraints on the connections. Support Connection Type defines
how many of the end points are connected to the imaginary base of support. The base of support, be in
stationary or a roller, is defined within the Structural Loads & Parameters. See Section 3.4.2.3 on page 79.
69
3.3.2.17 Support Angles
Support Angles changes the geometry of the supports. Four options are available: Right
Angle, Vertical, Horizontal, and Custom Angle. Not all choices are appropriate for every
truss, and this parameter can have important aesthetic, function, and construction
implications.
3.3.2.18 Custom Support Angle
If Custom Angle is indicated as the Support Angle, the Custom Support Angle parameter
input allows for finer control over the Support Angle. This allows the user to input a custom
angle in radians at which the truss will connect to its bases. This angle will be taken in
radians from the horizontal position.
3.3.2.19 Reverse Radial Direction
Reverse Radial Direction switches the top and bottom chords of the truss, flipping all the
truss elements around the Backbone Curve. This input is useful when trying different curves
of trusses or when some chords are overstressed and others are under-stressed.
3.3.2.20 Lateral Bar Option
The Lateral Bar Option input determines which configuration of lateral bars will brace
against lateral forces and sway. There are three options. The two Single Bar options each
place one diagonal bar per truss segment between the two parallel chords, with each option a
mirror image of the other. The Double Cables option places a pair of x-configured steel
cables in each segment instead. As cables cannot resist compression forces, two cables are
required in each segment bay. Together, they ensure that any lateral sway or force is resisted
via tension.
70
3.3.2.21 Warren Truss Strut Orientation
This input option affects the direction of the struts in a Warren Truss. As such, it only affects
trusses in which Warren Truss with Struts is selected for Truss Type. While no difference
will be seen for straight trusses, Warren Trusses along an arc or catenary shape will differ.
Locally Orthogonal struts remain perpendicular to the truss Backbone Curve at their
particular position, but Parallel struts point together in the same global direction to resist the
loading forces.
3.3.2.22 Wind Direction
Only applicable to the Facade System Type, the direction of the wind controls the
orientation of the truss to resist it. This input can be either a vector or a radian angle, with
vectors representing the direction of wind flow and radians indicating the source of the
wind. The user interface is set up in default as a radian knob input. Positive radian values
will rotate the wind source direction clockwise around the z-axis while negative values will
rotate it counterclockwise. A value of zero indicates a northern wind source.
3.3.3 Automatic Generation within the Geometry Component
With the necessary parameters defined by the user, the Geometry component automatically
generates the complete wireframe truss model in real time. The Geometry component is a
bundled amalgam of sub-components which together act to create the wireframe (see Figure
11 below). Within this jumble of script, however, four main tasks are carried out (see Figure
12 below).
71
Figure 11: Geometry Component Exploded, Screenshot of Grasshopper Script
Figure 12: Geometry Component Exploded, Four Main Steps Called Out
3.3.3.1 Draw Backbone Curve
Establishing the path of the truss is dependent on many factors, but none is as important as
the Curve Type parameter. The Backbone Curve can take the form of an Arc (a portion of a
circle), a Catenary (a structural mechanics shape conducive to pure tension or compression),
72
or Custom Curve (see Figure 13 below). Drawing the arc requires only the inputs Point A
and Point B as well as a midpoint that is formed from the A-B Line and the Arch Height
input. Creating the catenary is a more complex matter that requires a piece of C# scripting
code as well as custom implementation into a Grasshopper component called Custom
Catenary. This catenary similarly runs through the Point A, Point B, and midpoint.
However, the catenary is a distinct shape from both an arc and parabola. Lastly, the Custom
Curve is self evidently based on the input curve geometry supplied by the user.
Figure 13: Geometry Component Steps, Backbone Curve
3.3.3.2 Create Planes and Points
With the Backbone created, the script generates a variety of planes on the curve, depending
on the user inputs specified. In addition to these curve-based planes, support planes are
created that model the connection angles specified (see Figure 14 below). These planes must
take into account a variety of factors, and the logical progression is more complicated than
need be explained here. There is a variety of plane sets generated, and each satisfies a given
set of design conditions, which depend on Truss Type, Warren Radial Orientation, Wind
Direction, and other factors. Simply put, the script compiles a final series of local planes
along the Backbone Curve, including the connection planes.
73
Figure 14: Geometry Component Steps, Local and Connection Planes
With the planes created, the script calculates the width and depth of the truss at each plane.
This process is complicated by the Midpoint-Depth and -Width Multipliers, which
necessitate that individual depths and widths be calculated for every plane. Once these
values are found, they must be translated into local i- and j-coordinates on each plane so that
three points can be placed (see Figure 15 below). These three points form a triangle on each
local plane, and this triangle is the basis of the triangular prismatic truss.
Figure 15: Geometry Component Steps, Triangular Sets of Points on Planes
74
3.3.3.3 Identify Truss Joints
With the set of triangular points created at each plane, the script identifies which points will
act as Truss Joints depending on the Truss Type chosen. This process also must arrange the
points into discrete sets of points. For example, alternating sets of points must be established
for the Warren Truss type depending on whether or not struts are included. See Figure 16
below.
Figure 16: Geometry Component Steps, Culled Joints
3.3.3.4 Construct Truss Bars
Lastly, the Truss Bars are constructed between the Truss Joints. There are two algorithms
present for this, one for Pratt Trusses and one for Warren Trusses. These bars are
Grasshopper line segments created between points that have been identified as joints (see
Figure 17 below). The complication is to create the multitude of bars in the correct order and
between the correct points for the required setup. The process for Creating Web Bars is
particularly complicated, as the diagonal patterns of Web Bars in trusses can be highly
dependent on the shape and situation of the truss. Numerous logical gates and custom data
management structures manage this process automatically.
75
Figure 17: Geometry Component Steps, Truss Bars
Complicating this process is the fact that the Grasshopper tool differentiates between chord,
web, and lateral resisting bars. In order to keep these bars separate and ordered in a manner
that can be understood by the Simulation component required further data management
procedures that had to be developed.
With these bars created, however, the wireframe model is complete. Rather than a single
unified geometric object, however, the Truss Bars are a set of line segments mirroring the
individual bar members within trusses. This allows them to be modeling individually so that
the Simulation component can model each separately
3.3.4 Geometry Component Outputs
While the wireframe model depicting the truss is complete, the Geometry component has
many other data outputs. These outputs are a variety of geometries, points, measurements,
and input parameters. Each is required in some way one or more of the following three
components within the user interface in Figure 4 on page 56.
76
3.4 Simulation Component
After the Geometry component has created the wireframe model of a truss, the Simulation
component has the task of automatically turning the architectural description of lines and
points into a scientifically accurate structural model. This component is the most
computationally influential of the entire toolset, and it is the slowest part of it. While the
Geometry and Analysis components are near instant, Simulation can be delayed up to
several seconds when Grasshopper runs a new solution. For these reasons, effort was taken
to make this component as efficient as possible to speed up the entire toolset and make it
more efficient.
3.4.1 Overview of the Simulation Component
To turn a wireframe model of line segments produced by the Geometry component into a
valid structural model, the Simulation component must consider a range of new parameters
defining the truss’s structural properties as well as the existing parameters and data produced
previously (see Figure 18 below). Some of these inputs are simply passed through for later
use in Analysis and Optimization; however, most of them are required to set up the
complicated and versatile structural simulation.
77
Figure 18: Simulation Component, Screenshot in
Grasshopper
Similar to the Geometry component, there are five major steps within the Simulation
component. First, it Organizes the Section Data. Second, it Creates Spring Models of every
bar (and cable, if present). Third, it Calculates Loads for the structure (both self-weight and
applied loads), and it determines the locations of each. Fourth, it Runs the Kangaroo
Simulation and extracts the results. Last, using the simulation results, the component
Reconstitutes the Truss at three different states. With three versions of the truss produced,
78
the Simulation component is complete and outputs the three new models to the Analysis
component.
3.4.2 Structural Loads & Parameters
The Simulation component requires a set of input parameters as well: to define the structural
properties of the truss; set the applied loads; establish connection details; and customize and
control the simulation. These parameters can be organized into separate groups and are
described in the following sections.
3.4.2.1 Structural Design Section Sizes
The first set of user parameters sets the selection of section sizes for the different bar types
within the truss. Currently, the toolset derives all section sizes from the American Institute
of Steel Construction proscribed design tables for A500GrB42 Steel HSS Pipes (Steel
Construction Manual 2005). The user interface has been prepared with the necessary slider
controls to select the appropriate sections at will (see Figure 19 below). While there are
drop-down-menus that contain the text versions of each section size, these menus cannot be
used for optimization purposes. As such, the index number for each section size must be
manually input in the slider below. The sections sizes are organized from largest to smallest
in terms of cross sectional area. Once the user has selected the appropriate size from the
dropdown menu, the corresponding numeric index must be set in the slider control.
79
Figure 19: Steel Section Size Control Inputs
3.4.2.2 Applying Loads & Setting Load Cases
The next set of input parameters defines the loads on the truss (see Figure 20 below). This
requires some knowledge of the load the structure will face, and the designer, at least
approximately, should know this load. It is often a consequence of external required
specifications on the design project. The Loading Method can be either Linear Loads or
Point Loads. The Loading Pattern can be chosen from Top Joints, All Joints, or Bottom
Joints. With these basic load parameters defined, there are separate load sliders for the
bottom and top joints. The appropriate sliders for Linear versus Point Loads must be used.
80
Figure 20: Applied Load Control Inputs
3.4.2.3 Establish Connection Details
While the basic Support Connection Type is defined in the inputs to the Geometry
component (i.e. simple support or moment connection), these connections can still be
affected by various detail requirements.
The first menu item defines whether either support end is mounted on a roller
*
(a common
engineering connection detail) in order to allow a limited range of motion to reduce some
internal forces (see Figure 21 below). For the beginning and ending ends, respectively, the
options are Pin-Roller, Roller-Pin, and Pin-Pin. Any support defined as a Pin has zero range
of motion.
Figure 21: Connection Detail Control Inputs
*
Pin and roller connections are connection details that define the range of motion of a structural support. Pin
connections are those that are fixed at their position on the x-, y-, and z-axes. In other words, pin connections
are fixed in space and cannot move. Roller connections allow limited movement in one axis but prevent
movement in others. Like rollers in physical space, they must roll on a supporting plane, and they may not turn
within it. Therefore, roller connections allow freedom of movement along the supporting plane in one
direction, but do not allow any movement perpendicular to that direction, either across the plane or out of it.
81
The second item defines which limited range of motion, or Direction of Freedom, a roller
has (see Figure 21 above). For instance, for a horizontal beam, Horizontal (X-Y Plane)
would be most common. However, this parameter allows the user sophisticated control over
the connection details as may be required or useful.
3.4.2.4 Simulation Customization and Control
The final group of user inputs covers operation of the Simulation component and
particularly of the Kangaroo simulation within it (see Figure 22 below). First among this
group of inputs is Self-Weight control. While the default position for this option should be
left to On, there may be times where not considering automatic self-weight might be
required. Next, the Solver Method used by Kangaroo is determined. It is highly
recommended not to change this option, as the creators of Kangaroo have not validated
results of the other non-default methods
*
. Last, the user must specify the number of
Simulation Steps Kangaroo will perform. The number of Simulation Steps indicated can
have real consequences for both accuracy of the simulation and simulation calculation time.
Simulation accuracy is estimated by the Convergence value calculated within the Analysis
component and displayed as part of the 3D text on the Rhino viewport (see Section 3.5 for
more information on these topics). However, as simulation steps and truss complexity
increases, noticeable decreases in simulation speed may occur. Designer judgment is
required to set the Simulation Steps for any simulation.
*
For reference, the solution method options presented with Kangaroo are: Basic VelVert, Yoshida, Archimedes
(6
th
Order), and Archimedes (4
th
Order). In the manual for Kangaroo, its creators warn that only Basic VelVert
is recommended and verified. Additional testing run as part of this research study found that the other three
methods do not seem to be functioning in the current release. This input option is included, therefore, in the
case that future releases of Kangaroo update these methods.
82
Figure 22: Simulation Component Control
3.4.3 Steps within the Simulation Component
The Simulation component is a custom assembly of complex arrays of sub-components and
algorithms (see Figure 23 below). It has been bundled together for user interface
convenience; however, when unbundled, its different parts can be examined. There are five
main steps to the Simulation component workflow: Organize Section Data, Create Spring
Models, Calculate Loads, Run Kangaroo Simulation, and Reconstitute the Model (Figure 24
below).
Figure 23: Simulation Component Exploded, Screenshot of Grasshopper Script
83
Figure 24: Simulation Component Exploded, Five Main Steps Called Out
3.4.3.1 Organize Section Data
With the section sizes determined for the different bar types within the truss, the first step of
Simulation is to extract all necessary information about the members from the AISC tables
(Steel Construction Manual 2005). A custom script reads the appropriate information from
the “hss-round.xlsx” file included with the design toolset. For each section chosen, the script
determines section area A (in
2
), modulus of elasticity E (ksi), yield strength F
y
(ksi), radius
of gyration r (in), and linear self-weight W (kip/ft). This information is then duplicated and
ordered into separate databases that contain the values of these five properties for each of the
bars in the truss. With those databases created, the Simulation and Analysis components can
find the appropriate information for any member at any time.
84
3.4.3.2 Create Spring Models
Elastic structural design theory dictates that each bar in an idealized truss can be treated like
an individual spring, with Hooke’s Law governing the strain within the bar (see Section
2.4.1 on page 40). Like a spring, each bar has a stiffness k that is a function of the material,
size, and length of the bar. The simulation component calculates the stiffness values for each
bar based on its geometric properties determined above. With the stiffness values known,
every bar is converted into a Kangaroo Spring object.
In addition to bars, cables can be modeled using spring theory over an elastic range. For
some situations, cables are used in truss design instead of bars, and the simulation
component considers this. Incapable of compression resistance, cables can only act in
tension. The simulation therefore separates cables from bars and properly calculates their
stiffness values as well using the supplied parameters. An advantage of Kangaroo is that it
captures the geometrically nonlinear behavior of cables. Large deformations (greater than
1% of member length) can cause elastic behavior to become nonlinear due to changes in
geometry changing member force angles and moving applied loads.
3.4.3.3 Calculate Loads
Using the loading options specified by the designer, the component places loads on the
appropriate joints automatically. For constant point loads, this process is simple and
straightforward. However, to apply linear and area loads, this process requires realistic
subdivision of loads depending on the geometry of the truss to convert all loading into
equivalent joint loads. This process replicates how live loads are divided in standard
structural analysis. Live loads are divided depending on horizontal projection lengths along
85
the members, where dead loads are divided depending on axial length of the members
involved.
Using a custom algorithm, the appropriate load for every joint is determined and a Kangaroo
Unitary Force (i.e. a vector force) is created. These forces take into account both the applied
and self-weight forces of the truss. Self-weight forces are calculated by dividing the gravity
force of each bar or cable in two and applying each half to one of its supporting joints.
With the forces established and member bars converted into springs, the simulation is ready.
3.4.3.4 Run Kangaroo Simulation
The Simulation component then feeds the computed forces and spring models into
Kangaroo. Whereas the wireframe model was the most visible output of the Geometry
component to a designer, Kangaroo requires the locations of the joints instead. Kangaroo
models these joints as massless particles with the corresponding forces of gravity and bar-
springs acting on them
*
.
Running for the specified number of simulation steps, Kangaroo proceeds to calculate the
locations of each point during every time step in sequence. The resulting output therefore is
*
Kangaroo’s underlying principle relies on calculating forces and momentum (mass × velocity) for a set of
points. Rather than using stiffness matrices and force vectors to solve a static set of equilibrium equations, this
force and momentum method operates by solving a dynamic equilibrium problem using the provided forces
and geometry as initial conditions.
This method applies to a system of springs representing the truss under simulation. The applied loads and
resisting spring forces of each member framing to a joint can be summed to find the net force applied to the
joint. Kangaroo then calculates a displacement caused by this net force. With each time increment, Kangaroo
calculates a new net force and new net displacement. As the truss deforms over many increments, it settles in a
rapid process of dynamic relaxation that takes into account geometrically nonlinear effects that result from
tension-only members and loads moving as joints move. Assuming the user has specified a sufficiently high
simulation step count, this process produces a deformed set of points representing the joints of the truss under
the applied load in equilibrium.
86
a detailed list of the locations of each joint at all time steps. The locations of the joints
during the last time step are the final equilibrium locations.
3.4.3.5 Reconstitute Model
With the location of the joints, the script then reuses the algorithms developed in the
Geometry component to reconstitute the truss model in line segment form once more. For a
simulation of n steps, the n
th
step joint locations can be automatically reformed into a truss.
However, while the 1
st
and n
th
time steps are of obvious value as initial and final positions,
the n
th
-1 time step is also required to calculate the convergence criterion mentioned
previously (and detailed further in Section 3.5). The joint lists for each of these three steps
are extracted from the joint data Kangaroo produces. The joints from each time step are then
re-formed into the ordered bar structure of the truss. For each of the three required time
steps, it uses a system of point management very similar to that in the Geometry component
to re-create the bars of the truss. This produces three trusses for each original input truss.
3.4.4 Simulation Component Outputs
With the simulation complete and new truss geometries produced, the Simulation
component passes as outputs several sets of data to the Analysis component. Most
importantly, it passes through the newly created wireframe truss geometries for the 1
st
, n-1
th
,
and n
th
trusses. It also passes through the joint locations for each truss state. Additionally it
passes through various pieces of data that detail the precise number of different types of
members as well as some of the input data received from the Geometry component.
87
3.5 Analysis Component
With the truss created, loaded, simulated, and reconstituted, the third component
automatically analyzes the new deformed shape. Since the simulation is based on elastic
spring modeling, the toolset assumes the members are infinitely capable of linear strain
deformations. However, in reality, truss members have plastic limits that cause them to no
longer exhibit elastic behavior. Inelastic behavior includes fracture or ductile plastic
deformations that require a nonlinear model of stress-strain behavior. Accordingly, the
Simulation component is incapable of identifying cases in which these plastic limits have
been broken and for which engineers would assume truss failure. The Analysis component is
meant to find members that exceed defined elastic limits as well as those whose strengths
are underutilized, and graphically display the results of the simulation to designers.
88
Figure 25: Analysis Component,
Screenshot in Grasshopper
3.5.1 Analysis Inputs
The inputs of the Analysis component include many of the same parameters defined earlier
by the user, including the material, section, and load information as well as the geometric
data passed from the Geometry component to the Simulation component (see Figure 25
above). Most importantly, however, the inputs of the Analysis component include the
primary outputs of the Simulation: the deformed truss bar geometries.
89
3.5.2 Analysis Overview
Analysis of the simulation results uses linearly elastic structural principles to calculate the
effect of the applied loads. For any axially loaded bar with an original length L
0
and
deformed length L
1
, the strain is calculated as:
𝜀 =
| 𝐿 1
− 𝐿 0
|
𝐿 0
The axial stress is calculated from the Stress-Strain equation using the bar’s modulus of
elasticity E:
𝜎 = 𝐸 ∙ 𝜀
Thus, the axial stress in a bar is found by knowing the start and end length of the bar. Once
the calculated axial stress is known for every bar in the truss, the force within the bar is
determined and compared to the allowable force within the bar. Any bars that exceed their
allowable strength are identified as failing bars.
3.5.3 Calculating Bar Stresses and Forces
3.5.3.1 1
st
vs. n
th
Trusses
By comparing the lengths of the bars within the 1
st
and n
th
truss versions produced by the
Simulation component (see Section 3.4.3.5), the Analysis component calculates strain,
stresses, and internal force in every bar, following the procedure explained above.
3.5.3.2 1
st
vs. n-1
th
and n
th
Trusses - Convergence
The final two trusses produced during the Simulation component are useful for comparison
because they provide a snapshot of the members just before the simulation ends. Using the
90
same method as above on the n-1
th
truss, the Analysis determines the internal forces in every
bar for that version as well, which usually results in slightly different values than for the n
th
truss. The differences, when small, indicate that the simulation has reached sufficient state
of equilibrium. However, if the differences are high, then the simulation was not at
equilibrium, and the simulation should be extended with further Simulation Steps. The
difference between these two versions is measured as the Convergence of the simulation. By
experimental observation and testing, Convergences of less than 0.01% are deemed very
good.
3.5.4 Calculating Allowable Member Strengths
While the applied loads have created internal forces in the bars of the truss, it is necessary to
determine if these bars have failed or not. Failure in steel design is calculated by comparing
the force in a member P with the force capacity ϕP
n
. Determining these values requires
following a series of equations for each bar under consideration (Steel Construction Manual
2005). Two custom scripts calculate the tensile and compressive allowable forces in each
bar, and the appropriate limit is used depending on whether the bar is in tension or
compression.
Once these capacities are known for every bar, the ratio of P/ϕP
n
is calculated. Any bars
with a ratio magnitude larger than or equal to 1.0 are automatically considered to fail. An
automatic color gradient then assigns each bar a color based on its performance (see Figure
26).
91
Figure 26: Analysis Results Color Gradient,
Grasshopper Screenshot
As Figure 26 shows, warmer toned results show higher tensile forces while cooler results
indicate compressive forces in the bars. Bright red (not shown in Figure 26) indicates tensile
failure while bright purple indicates compressive failure.
3.5.5 Informational 3D Text Display
The last major function of the Analysis component is to collate all the relevant simulation
and results information. Through a custom script, information on bar failures, convergence,
deflection, loads, and reaction forces is displayed in a Grasshopper 3D Text Tag in the
Rhino viewport (see Figure 27 below). This information is written in a user-friend, easy to
understand, contextually relevant format.
92
Figure 27: Infographic Simulation and Analysis Results Example, Screenshot of Rhino Viewport
3.5.6 Analysis Component Outputs
In addition to the graphical display of information that accompanies the Analysis
component, all results are made available to users via the output fields of the Analysis
component (see Figure 25). Among the options there are the deformed wireframe model,
reaction vectors (in kips), internal bar forces P, internal bar stresses f, and the infographic
colors depicting the results, in data form.
3.6 Optimization Component
In order to use Galapagos optimization, Grasshopper requires there be some objective
measure of the truss solution under consideration: the Fitness value. As detailed in Section
2.5.2 of Chapter 2, Galapagos requires a Fitness value for each solution it considers. The
Optimization component provides this value automatically. It evaluates the truss under
consideration, and provides a number of possible Fitness values depending on user
preference.
93
In order to use Galapagos and the Optimization component, the user must still manually
designate which bounded parameters Galapagos can vary, and what those bounds will be.
Right clicking on the Galapagos icon allows for identification on which sliders can be
varied. Any slider chosen as an independent variable for Galapagos optimization must be
individually and manually adjusted to set its bounds.
Figure 28: Optimization Component & Galapagos, Screenshot in
Grasshopper
Figure 29: Optimization Input Controls
94
3.6.1 Optimization Inputs
As seen in Figure 28 and Figure 29, most of the inputs in the Optimization component are
coded data streams relating to the model and simulation. However, four user inputs are
required for Optimization to function effectively.
3.6.1.1 Fitness Method
The Fitness Method chosen is the key input of the Optimization control. It determines which
factors the Optimization component takes into account when calculating the objective
measure of quality. These options are relatively self-explanatory, however, and should not
be excessively complicated for any user. The five choices are: Total Weight, Total Weight
with Displacement Limit, Number of Bars and Joints (i.e. Complexity), Cost, and Cost with
Displacement Limit. (The five Fitness Methods are covered in detail in Section 3.6.2 below.)
3.6.1.2 Target Deflection
The Target Deflection input specifies a hard limit to the truss deflection, if a Fitness Method
with Deflection Limit is enabled. If a user-given deflection is given, and the limit is enabled,
any truss that exceeds this limit will be deemed to have failed design as much as any with
failed members. In engineering terms, this serves as the Deflection Check. While there is a
slider attached in the default setup, if no input is given to the Optimization component, then
the deflection limit is assumed to be L/240, where L is the length from start to end of the
truss. As such, Target Deflection checks should be used with care.
95
3.6.1.3 Cost of Connection ($)
The Cost of Connection approximates the cost of attaching a single bar to a single joint in a
truss. This input helps to calculate the approximate cost of a truss, and is explained further in
Section 3.6.2.3 below.
3.6.1.4 Cost of Steel ($/kip)
Similarly, the Cost of Steel is an approximate estimation of the cost of steel per kip of
material. It contributes to the Cost Fitness Method.
3.6.2 Calculating the Fitness Value
As explained above in Section 3.6.1.1, there are five potential Fitness Methods from which
to choose. Appropriate fitness equations for structural simulation can take several forms, and
these five represent some of the most common and general methods of quantifying design
suitability. Structural engineers calculate loads that structures must support and typically are
expected to find the most efficient structure to support them. This thesis operates similarly,
assuming that efficiency is a goal of architectural structural design. Efficiency, however, has
several measures, and these measures are not always complimentary. Decreased cost could
use less material and therefore have more deflection. The user must select a method of
fitness evaluation appropriate to his or her design problem.
All five of the fitness methods supplied indicate improved trusses with minimization; that is,
Cost, Weight, and Complexity, and Deflection all improve with minimized values.
However, the structural fitness of any solution under consideration must take into account
whether the solution actually succeeds in supporting the required loads without any failed
96
member bars
*
. A light, low cost truss is of no value if it fails under required loading. For this
reason, each fitness method also considers a factor that measures whether the truss fails
under loading. If the proposed solution fails, the factor introduces a zero into the fitness
equation and effectively declares the solution invalid.
Since all five methods improve fitness with lower values, decreasing a failed solution’s
fitness to zero would actually improve its rating. Therefore, the fitness values (F) are
inverted by a factor of 1/F and then multiplied by 10000. Effectively, this dictates that the
fitness output of the Optimization component should always be maximized by Galapagos.
3.6.2.1 Total Weight
The simplest form of fitness evaluation for a structural system minimizes its weight. Lighter
structures require less support, need less lateral stabilization against ground motion, and tend
to cost less. The Weight Fitness Method uses the geometry of the produced truss as well as
the section properties defined by the user to calculate the close approximate weight of the
structure in real world design. The weight calculated does not take into account connections
or small details conditions; however, these contribute far less to the total weight than the
main structure itself.
Note: Total Weight only functions as an effective Optimization Method when Self-Weight is
turned On in the Simulation component controls. Otherwise, all trusses will have a self-
weight of zero.
*
Engineers as a rule consider a failed constituent member to indicate the failure of an entire truss design. This
is similar to any other structurally designed element, be it moment frame or foundation. If one part fails, the
entire design fails and is inadequate.
97
3.6.2.2 Number of Bars and Joints (i.e. Complexity)
Another simple measure of the truss effectiveness is to minimize the number of members
and connections in the truss. This component counts the number of individual members
produced by the Geometry Component and the number of joints between them. Less
fabrication and erection is required when using fewer members and fewer connections.
3.6.2.3 Cost
Approximating the cost of a truss is difficult without precise information about the
manufacturer, market conditions, and the structural requirements. However, the Cost Fitness
Method estimates an approximate cost using the number of connections and the weight of
the structure as the main indicators. Using user-specified values for the tonnage cost of steel
(influenced by how much fabrication is required for each member, availability, market
conditions, ease of transport, each of erection, etc.) and the average cost per connection
(influenced by fabrication difficulty, erection complexity, welding vs. bolting, etc), the
method produces a rough cost of the truss that can be compared to the other trusses during
optimization.
3.6.2.4 Total Weight with Deflection Limit
This Fitness Method builds on the Total Weight method to consider also whether the truss
has passed a deflection check as specified by the deflection limit specified. The Analysis
component calculates for each solution the maximum deflection within the truss. This
number is then compared against the deflection limit. If the truss passes, no change is made
to the fitness value; however, if the truss fails the deflection check, then its fitness value
becomes zero and it is invalid.
98
3.6.2.5 Cost with Deflection Limit
Similarly as with Weight, the Cost with Deflection Limit builds on the Cost method to add a
deflection check. See Section 3.6.2.4 above for an explanation.
3.6.3 Optimization Component Outputs
The Optimization outputs can be seen on the component in the Grasshopper screenshot (see
Figure 28 on page 93). Depending on which Fitness Method is chosen the Optimization
component outputs a Fitness value that reflects it. This output should act as the default
source of Fitness information to Galapagos. However, for user-convenience and
customization ability, the three individual fitness values are always given as well as separate
outputs that can be monitored or used at will. Maximum Deflection is always available, by
contrast, as an output of the Analysis component for user convenience.
3.7 Galapagos
Since Galapagos is a native Grasshopper function, there is no new custom methodology
implemented in this thesis that affects it. However, for convenience and guidance, some
remarks are made here regarding Galapagos that will aide in any optimization design
problem undertaken.
3.7.1 Variable Definition
The single most important step of implementing a Galapagos optimization is establishing
Variables and setting their bounds. For the purposes of this thesis, Variables are slider
99
parameters over which Galapagos has been granted control
*
. During an Evolutionary
Optimization run, Galapagos will change the values of some or all Variables in each
Individual
†
to test new solution configurations.
In Grasshopper, variable bounds are defined by the bounds of the slider. Galapagos changes
a variable value by moving the slider knob within the bounds of the slider. Therefore, to
change the slider bounds, right-click it, select Edit, and then proceed to change its minimum
and maximum value properties. Additionally, sliders can be set to use only floating point
numbers, integers, evens, and odds, if desired. For floating point numbers, the Digits
parameter is important, as it determines the level of precision available in the slider.
Increasing the Digit count by 1 increases the number of possible slider values by 10.
Increasing it by 2 increases the bound range by 100, and so on.
3.7.1.1 Importance of Boundaries and Step Sizes on Solution Spaces
Setting the boundaries and step sizes of the variables is an important step to ensure
optimization usability and effectiveness. Solution sets are defined by the total sum
population of possible solutions. Each variable contributes to the size of this solution set and
multiple variables contribute exponentially.
The solution set size of any optimization run equals the product of the number of possible
values for each variable. In a system of M variables where each variable has N
i
possible
values, the solution set size S is determined by:
*
Currently, Galapagos can only use sliders as input variables. Drop down menus and knobs are not eligible for
variable designation. Replacing an ineligible control with a slider, limited to the appropriate outputs, will solve
this issue.
†
See Section 2.5.1.1 on page 41 for more information on individuals.
100
𝑆 = � 𝑁 𝑖 𝑀 𝑖 = 1
This means that solution sets can increase in size quickly with each increase in the number
of variables or the number of possible variable values. For example, with three variables i =
1, 2, and 3 where each variable has N
i
= 5, 5, and 5 possible values, the solution set size
would be determined by:
𝑆 = (5) × (5) × (5) = 125
The solution set size in this case would be 125. By the same logic, adding one more variable
of the same boundary conditions would produce a set of 625 solutions and adding another
would result in a set of 3,125 solutions, each additionally variable increasing the solution set
fivefold.
Similarly, increasing the number of values a variable can take (i.e. increasing its bounds or
step sizes) produces similarly exponential growth. Starting with the same set of three
variables producing a solution set of 125 possibilities, increasing the number of possible
values for each variable by 5 produces a solution set of size determined by:
𝑆 = (10) × (10) × (10) = 1000
Doubling the variable range size from 5 to 10 results in a solution set of 1,000 possible
solutions, eight times the original 125. Doubling the variable range again would increase the
solution set another eightfold (2×2×2).
Managing boundaries and step sizes for variables, therefore, is critical to ensuring
optimization stays within a manageable range. Solution sets can quickly grow into the
101
millions or billions. While solution set sizes do not have a direct impact on Galapagos
calculation speeds, they do have an impact on determining when Galapagos has searched
though a reasonable solution range and when the decision to halt the simulation can be made
with certitude that the best truss solution has been found. Additionally, too small of
solutions sets can miss critical trusses that may improve on earlier decisions, while too large
of sets can attract Galapagos to search through minute variations in solutions that have little
net actual improvements in fitness value.
3.7.2 Galapagos Settings
Galapagos is a Genetic Optimization (GO) engine using an Evolutionary Algorithm (EA) to
create each new generation of solutions. For more information on these techniques, see
Section 2.5.1 on page 46.
Double-clicking on Galapagos opens its user interface (see Figure 30 below). Various
options are available. When using the Optimization component included in this design tool,
Fitness should be left to Maximize.
102
Figure 30: Galapagos Settings Interface, Screenshot of Grasshopper
3.7.2.1 Population Size
Once the Variables and Fitness Method are defined, the user must define the population size
for each generation within Galapagos. Population size determines the number of solutions,
or individuals
*
, Galapagos examines in each generation. Larger generation sizes mean
Galapagos can examine more variability in each generation, potentially finding
improvements to the design that would otherwise go unnoticed. However, each additional
individual analyzed requires additional computation, slowing the optimization and
decreasing the number of successive generations that can be tested in a given time span. The
user must determine a population size that appropriately manages these two effects.
Galapagos uses a color response system to guide the user. Certain Population Size inputs
turn grey (acceptable), tan (medium), orange (high), and red (very high). For the Population
*
See Section 2.5.1.1 on page 41 for information on individuals.
103
Size input, sticking with a low to medium population size is advisable. However, the larger
the solution set and the more variability exists within the parameter bounds, the higher the
population size should be.
3.7.2.2 Initial Boost
While the choice of Population Size applies to a standard generation, the first generation
uses a different number of individuals. The first generation of an EA optimization consists
of a randomly generated set of individuals generated by Galapagos. Their genes are spread
among all variable values randomly. With potentially billions of solutions in the solution set,
this distribution is unlikely to find immediately high-quality solutions with good fitness. To
increase the chances of finding higher-quality solutions from which a second generation can
be bred, Galapagos increases the size of the first generation using an Initial Boost factor to
multiply the standard generation size. Similar to other generations, the larger the first
generation is the longer Galapagos will take to calculate; however, this initial investment in
time, which only applies to one generation, can increase the overall quality of the optimized
solutions found. The user must choose an initial boost that adequately provides enough
individuals in the first generation. Galapagos uses a color response system to guide the user.
Certain Initial Boost inputs turn grey (acceptable), tan (medium), orange (high), and red
(very high). For the Initial Boost input, higher boosts are advisable for larger solution sets.
Since this is a one-time investment, medium to high boosts are acceptable given enough
simulation time latitude.
104
3.7.3 Running Galapagos
With all the necessary variables defined and a fitness value, population size, and initial boost
designated, the user must initiate the Galapagos optimization. Changes to the Grasshopper
definition or fixed parameters are prohibited during Galapagos optimization; the user must
ensure the simulation and components are set correctly before beginning.
Clicking the Solver tab will lead to the Galapagos runtime interface. Ensure that the
Evolutionary Solver button selected, and click Start Solver.
3.7.3.1 Visual Results
Galapagos EA optimization produces several visual outputs communicating the progress of
the optimization (see Figure 31 below). The large top graph indicates the distribution of
fitness for the individuals in each generation
*
. The bottom left graph indicates the relative
concentration or distribution of the individuals in each generation within the n-dimensional
fitness landscape produced by an n-variable optimization. The bottom middle graph
graphically represents the genomes of individuals along axes representing the selected
variables. Finally, the bottom right graphic lists the individuals in the selected generation
and displays each individual’s associated fitness value and genetic structure.
*
The red line indicates the median fitness value for that generation. The orange top and bottom lines indicate
minimum and maximum values for that generation. (The bottom orange line is not visible in Figure 31 as the
minimum fitness value was consistently zero [i.e. failed trusses] in this particular optimization simulation.) The
orange shaded portion represents the middle 50% of solutions in each generation, while the top and bottom
yellow, shaded sections represent the top and bottom 25% of solutions in each generation, respectively.
105
Figure 31: Galapagos Runtime Interface and Visual Results, Screenshot of Grasshopper
3.7.3.2 Obtaining Galapagos Results
Within Galapagos, each new best solution is identified with an arrow shaped tick mark
within the orange graph, along the top orange line (see Figure 31). Best solutions are carried
over from one generation to the next; until there is a better solution found, it remains in the
population pool. After completing a Galapagos optimization (the program will run until told
to stop), the entire spectrum of individuals tested is available for evaluation. Unfortunately,
at current, these results cannot be exported from Galapagos
*
. To examine an individual,
select its generation in the top graph: a blue bar will highlight the generation selected. The
list of individuals within that generation is then displayed in the bottom right graphic, along
with the fitness value of each. To examine an individual, click on it and it will highlight in
*
As such, make sure not to close Galapagos after a run until all necessary information has been extracted.
Once closed, Galapagos deletes all data.
106
blue. Then Reinstate that individual (using the button directly above): the slider variables in
Grasshopper will change and the Rhino viewport will display the reinstated solution.
To withdraw data about selected individuals, it is currently necessary to manually record this
data. Any best solutions found should have their parameters recorded and an image saved.
3.8 Benchmarking and Verification Trials
Verification of the structural accuracy of the design tool produced requires that a series of
trials are performed comparing it to an acceptable industry standard. For this research study,
SAP2000 serves as that standard. Identical trusses are generated, loaded, and analyzed in
each software. The resultant forces produced by each are compared as a measure of toolset
performance accuracy.
3.8.1 Procedure
The following is a description of the procedure for carrying out a verification trial between
the design toolset and SAP2000.
3.8.1.1 Grasshopper Toolset Analysis
1) Generate Geometry: Set the Design Parameters and Inputs so that the Geometry
component creates a wireframe truss design. This involves choosing truss size,
location, type, etc. (See Section 3.8.2 below for details on each Trial, including the
parameters chosen for each.)
2) Load, Simulate, & Analyze: Set the Structural Loads & Parameters so that the
Simulation component can properly create and run the structural model. This
involves setting bar sizes, defining connection details, simulation step count, etc. The
107
Analysis component automatically analyzes and displays the deformed and analytical
simulation results in the Rhino viewport. (See Section 3.8.2 below for details on each
Trial, including the structural and loading parameters chosen for each.)
3) Design Structure: Perform structural design iteration, and set appropriate bar sizes.
After an initial first pass at setting member sizes in the Structural Loads &
Parameters inputs, structural design requires the designer iteratively improve the
design until a satisfactory, structurally sound solution is found. The Analysis reveals
which elements within the truss fail as a result of loading. Re-setting these element
sizes to larger, stronger bar sections improves the design. Over-designed truss
elements show as green from the Analysis. Re-setting these elements to smaller
sections improves the truss cost and weight. The member sizes available are from the
AISC steel pipe tables (Steel Construction Manual 2005) and are collated in the
excel file “hss-round.xlsx,” custom created using SAP2000. (See Section 3.8.2 below
for details on each Trial, including the member sizing parameters chosen for each.)
4) Export Geometry: Save the wireframe truss model as files for SAP2000 analysis.
Once a satisfactory structural truss design is complete, the wireframe truss design is
accepted as the trial geometry and the structural loads are accepted as the trial
loading. Bake the wireframe model to Rhino in four steps. Top Chords, Bottom
Chords, Web Bars, and Lateral Bars must be baked separately into those four groups
(each is a separate layer in Rhino). Each group of line segments is saved to a DXF
file. Four .dxf files exist for each test trial.
5) Extract Results: Extract the results of the simulation by saving the data from the All
Forces, P (kips) output of the Analysis component. Connect the output to a
108
Grasshopper Panel; once connected, right click the Panel and select Copy Data Only.
Paste this data into an Excel document. The forces will be ordered in the same order
as the bars.
3.8.1.2 SAP2000 Analysis
6) Import Bar Geometries: With a new blank SAP2000 project, import the wireframe
truss geometry. Use the Import function within SAP2000 to separately import each
DXF file. After importing, ensure the new bars are grouped and the group is named
appropriately. SAP2000 identifies all bars at their exact locations, and creates joints
automatically between them.
7) Renumber Members: Renumber all bars within the SAP2000 model. SAP2000
automatically reorders all bar elements when imported from DXF files. In order that
the final force results from Grasshopper and SAP2000 be compared appropriately,
the bar numbering scheme within SAP2000 must match. Use the manual numbering
dialog box to renumber all bars in SAP2000 to match (select Edit: Change Labels).
8) Define & Assign Structural Options: Define the bar material, section sizes, and load
pattern in SAP2000; then, assign section sizes, frame releases, joint loads, and
support restraints as appropriate. The Material must be defined as A500GrB42 steel
with a F
y
value of 42 ksi. Use the Define Frame Sections dialog box to define the (at
most) four different steel pipe section sizes chosen during Grasshopper structural
design; use the AISC13.pro section reference file. Use the Define Load Pattern
dialog box to define the appropriate load pattern. Assign section sizes to groups
simultaneously: select all members of a group using the group tool and then Assign
Frame Section to all members at one. Do this for all four groups. Assign Frame
109
Releases so that every bar has one torsion end released and all four moment ends
released. This will model an idealized truss connection. Assign Joint Loads to every
joint appropriately. This task must be done manually and is laborious and slow.
Match the load on every joint with its corresponding load from the Grasshopper
toolset. Lastly, Assign Support Restraints so that each support point models the
correct pin or roller condition. Lastly, with the Analysis Options, set the Degrees of
Freedom (DOF) to Space Frame (all six DOF checked).
9) Enable Nonlinear Analysis: Within the Define Load Cases dialog box, enable “Non-
Linear Analysis.” With the dialog box open, delete the Modal load case. Modify the
Dead load case: in Modify, set the Analysis Type to Nonlinear. Then set the
Geometric Nonlinearity Parameters to P-Delta plus Large Displacements.
10) Run Analysis & Extract Results: Select Run Analysis, and then Run Now. Once the
simulation is done, export the data to an excel file. Use Display: Show Tables. From
that dialog box, select ANALYSIS RESULTS: Element Output: Frame Output: Table:
Element Forces. Select OK. In the table generated, select Filter Table in the top
menu. Implement a Quick filter, using Field “Station,” Operator “=,” and Value “0.”
The resulting table should show one force per bar. Export the table to Excel.
3.8.2 Trial Descriptions and Design Parameters
The geometric, structural, and loading parameters defining each design trial are described in
this section. Tests are performed using the method described above in Section 3.8.1. The
trial parameters are detailed below in Table 1 below so that they may be replicated and
repeated at will.
110
Table 1: Verification Trials 1-5, Design and Structural Input Parameters
1 2 3 4 5
System Type Beam Beam Beam Beam Beam
Curve Type Arc Arc Catenary Catenary Custom Curve
Custom Curve Input None None None None See Trial 5 Figure
Point A (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0)
Point B (40,0,0) (30,0,0) (30,0,0) (40,0,10) (0,0,0)
Segments 12 8 16 18 12
Tilt 0.0 0.0 0.0 0.0 0.0
Arch Height 0.0 0.0 14.0 10.0 0.0
Width 3.0 2.0 4.0 2.0 3.0
Depth 4.0 3.0 3.0 2.0 3.0
Mid-Width Mult. 1.0 1.0 1.0 1.0 1.0
Mid-Depth Mult. 1.0 1.0 1.0 1.0 1.0
Twist 0.0 0.0 0.0 0.0 0.0
Truss Type Pratt Truss Warren Truss Warren Truss Warren Truss Warren w/ Struts
Move Pratt Center 0 0 0 0 0
Support Connection Type S.S. Hindge S.S. Hindge T.P. Moment T.P. Moment T.P. Moment
Support Angles Vertical Vertical Right Angle Right Angle Right Angle
Custom Support Angle None None None None None
Reverse Radial Direction No No No No No
Lateral Bar Option Single Bar: Opt. 1 Single Bar: Opt. 2 Single Bar: Opt. 1 Single Bar: Opt. 2 Single Bar: Opt. 1
Warren Truss Strut Orientation Locally Orthogonal Locally Orthogonal Locally Orthogonal Locally Orthogonal Locally Orthogonal
Wind Direction 0.0 0.0 0.0 0.0 0.0
Structural Loads and
Parameters
Top Chord HSS 3.500×.313 HSS 2.500×.125 HSS 5×.188 HSS 6×.188 HSS 7×.500
Numeric HSS Choice 88 127 91 85 31
Bottom Chord HSS 10×.500 HSS 6×.188 HSS 6×.188 HSS 10×.250 HSS 18×.500
Numeric HSS Choice 20 85 85 48 6
Laterl Bars HSS 3×.188 HSS 3×.125 HSS 1.9×.145 HSS 1.9×.145 HSS 6.625×.312
Numeric HSS Choice 114 123 129 129 58
Web Bars HSS 5×.250 HSS 3×.125 HSS 1.9×.188 HSS 1.9×.188 HSS 8.625×.500
Numeric HSS Choice 83 123 126 126 24
Load Method Linear Loads Linear Load Linear Load Point Loads Linear Load
Loading Pattern Top Joints Bottom Joints All Joints Top Joints Top Joints
Top Chord Linear Load 5.0 0.0 5.0 0.0 3.0
Bottom Chord Linear Load 0.0 3.0 5.0 0.0 0.0
Top Chord Point Load 0.0 0.0 0.0 20.0 0.0
Bottom Chord Point Load 0.0 0.0 0.0 0.0 0.0
Connection Type Pin-Pin Pin-Pin Pin-Pin Pin-Pin Pin-Pin
Roller Connection - DOF Horrizontal Horrizontal Horrizontal Horrizontal Horrizontal
Self Weight No No No No No
Solver Basic VelVert Basic VelVert Basic VelVert Basic VelVert Basic VelVert
Simulation Steps 500 500 500 500 500
Trials
Design Parameters and
Inputs
111
In each trial, a unique truss is created by varying some or all of the design parameters
*
. The
five trusses are designed to communicate increasing truss complexity, from standard
common flat trusses common in buildings and roofs; to more complex two-dimensional
catenaries; to a non-standard, free-form truss design.
After geometry design, the trusses are loaded to varying degrees and in varying Load
Patterns. In this way, they reflect the varying types of load conditions engineers often
calculate when designing trusses.
With geometry established and loads applied, the trials are structurally designed to support
their loads. This involves iteratively selecting member sizes for the bars, observing real-time
colored analysis results in the Rhino viewport, and selecting a new member size to better fit
the performance conditions. (See Section 3.8.1.1 above for a more detailed description of
this process.) Once all structural design is complete, the analytical force results for each bar
are recorded. After the SAP2000 analysis on the identical truss is completed, results from
that model are recorded as well. The Grasshopper and SAP2000 results for each trial are
*
Trials 1-5 were performed using a simplified version of the Design Parameters. At the time of verification
tests, the Design Parameters were limited to: Curve Shape (with a Custom Curve input), Point A, Point B,
Segments, Tilt, Height, Width, Depth, Truss Type, Move Center, Support Connection Type, Support Angles
(with no Custom Angle option), and Lateral Bar Option.
Parameters not available at that time were: System Type, Mid-Depth Multiplier, Mid-Width Multiplier, Twist,
Reverse Radial Direction, Warren Truss Strut Orientation, and Wind Direction.
Despite these additions, the fundamental Geometry outputs are unchanged. The Geometry output still produces
a wireframe model that communicates with the Simulation component in the same manner. The additional
Design Parameters do not affect the Simulation of the truss; rather, they only add more geometric complexity
when desired. As they do not affect the Simulation, they have no effect on toolset structural force accuracy.
In order to clarify trial parameters, values for the later additions have been added to Trials 1-5 in order that
they may be replicated in their entirety using the newer parameter option set.
112
described in Chapter 4 (see Section 0 on page 122) while the detailed tabulated results are
given in Appendix A: Verification Trials.
For simplicity and to allow simultaneous comparison, the design and structural input
parameters devised, for each of the five trials, are tabulated together in Table 1 above.
3.8.2.1 Trial 1
Trial 1 is a flat Pratt Truss, simply supported, and loaded moderately (see Figure 32 below).
This simple truss is designed to replicate mass-produced trusses common in commercial
construction. For its design and structural parameters, see Table 1 above.
Figure 32: Geometric and Massed Truss, Verification Trial 1
3.8.2.2 Trial 2
Trial 2 is a flat Warren Truss without struts, simply supported, and loaded lightly (see Figure
33 below). Like Trial 1, it is designed to replicate common steel trusses available in the
construction industry. For its design and structural parameters, see Table 1 above.
113
Figure 33: Geometric and Massed Truss, Verification Trial 2
3.8.2.3 Trial 3
Trial 3 is an auto-generated catenary Warren Truss without struts, 3-pin moment connected
at each end, and loaded heavily (see Figure 34 below). This truss demonstrates the ability of
the design tool to auto-generate curves from user inputs and two support point locations. The
catenary is chosen over an arc as the curve type for its pure-tension and pure compression
properties. Ideally, this maximizes the truss bars’ compression forces and minimizes
bending stress on the truss. For its design and structural parameters, see Table 1 above.
114
Figure 34: Geometric and Massed Truss, Verification Trial 3
3.8.2.4 Trial 4
Trial 4 is an auto-generated asymmetric catenary Warren Truss without struts, 3-pin moment
connected at each end, and loaded heavily with joint loads instead of linear loads (see Figure
35 below). This truss models a more complex configuration in which the supports are not on
the same X-Y plane. This result is a truss in which the high point is not mid-span and creates
asymmetric loads in the bar members. For its design and structural parameters, see Table 1
above.
115
Figure 35: Geometric and Massed Truss, Verification Trial 4 (with asymmetric support
points)
3.8.2.5 Trial 5
Trial 5 auto-generates a truss along a user-defined custom path (see Figure 36 below). It
forms a Warren Truss with struts, 3-pin moment connections at each end, and a moderate
load (see Figure 37 below). This truss represents the most complex category of trusses,
designed around free-form, custom forms. The non-planar shape produces asymmetric
forces, and it produces large lateral forces within the truss. This most complex instance of
the five trials is designed to test the analysis complexity limits of the toolset. For its design
and structural parameters, see Table 1 above.
116
Figure 36: Custom Curve Input Geometry, Verification Trial 5
Figure 37: Geometric and Massed Truss, Verification Trial 5 (with truss formed around spine
custom curve)
117
3.9 Optimization Case Studies
Demonstrations of the Grasshopper design tool in realistic case studies are essential to
showing its effectiveness, versatility, and potential. Optimization case studies are performed
here to test and evaluate the optimization potential of the toolset. The general design
procedure used in these studies is detailed in Section 3.9.1 below, and the particular
parameters, variables, and settings used in each are detailed in Section 3.9.2.
3.9.1 Procedure
Each case study uses Galapagos to optimize a particular design example under a defined
condition. Those conditions can be due to loads, geometry, or material limitations. As such,
the particular procedure to set up each case study is unique. However, the general process is
as follows.
1) Determine Case Study Boundaries: Each case study should test a defined facet of the
Grasshopper toolset. Setting every parameter as a variable would produce no
meaningful results. As in real world design and engineering, some constraints always
exist on the project. Examples of areas of investigation include geometry
optimization, structural section optimization, connection detail optimization, support
placement optimization, truss typology optimization, and potential combinations
thereof.
2) Identify Variables: Select those variables (i.e. Grasshopper sliders) that affect the
area of study. For example, the four bar section sliders affect member size selection
and truss weight. An investigation of geometry generation and optimization would
suggest certain design sliders as appropriate variables. With the sliders selected,
118
right-click on the Galapagos component and choose Selected Sliders. This gives
Galapagos control over the indicated sliders.
3) Set Variable Bounds: Galapagos varies each variable within the set bounds of the
slider component in Grasshopper. Opening the slider options for each variable, set
the upper and lower limits as well as the step sizes. See Section 3.7.1 on page 98 for
more information.
4) Set Known Parameter Values: With variables selected, all remaining parameters will
remain unaffected by Galapagos optimization. Set these parameters to the
appropriate values for the case study.
5) Set Galapagos Settings: Open the Galapagos control panel and select the appropriate
settings for the case study. See Section 3.7.2 on page 101 for more information.
6) Run Galapagos: Commence Galapagos optimization. During the optimization, no
action can be taken in Grasshopper. See Section 3.7.3 on page 104 for more
information.
7) Record Data: When deemed sufficiently progressed, halt the Galapagos optimization
by selecting Stop in the Galapagos optimization interface. See Section 3.7.3.2 on
page 105 for information on how to retrieve optimization results.
3.9.2 Case Study Parameters, Variables, & Galapagos Settings
Selections and values for each of the parameters and Galapagos settings are detailed below
in Table 2. Additionally, Table 2 indicates which sliders were selected as variables in the
optimization.
119
Table 2: Optimization Case Studies; Parameters, Variables, and Galapagos Settings
1 2
System Type Beam Beam
Curve Type Arc ‡
Custom Curve Input None None
Point A (0,0,0) (-10,0,0)
Point B (40,0,0) (50,0,0)
Segments 16 ‡
Tilt 0.0 0.0
Arch Height 0.0 ‡
Width 2.0 ‡
Depth 4.0 ‡
Mid-Width Mult. 1.0 ‡
Mid-Depth Mult. 1.0 ‡
Twist 0.0 0.0
Truss Type Warren Truss Warren w/ Struts
Move Pratt Center 0 0
Support Connection Type S.S. Hindge ‡
Support Angles Vertical Right
Custom Support Angle None None
Reverse Radial Direction No No
Lateral Bar Option Single Bar: Opt. 1 Single Bar: Opt. 1
Warren Truss Strut Orientation Locally Orthogonal Locally Orthogonal
Wind Direction 0.0 0.0
Structural Loads and
Parameters
Top Chord ‡ HSS 5.500×.375
Numeric HSS Choice ‡ 60
Bottom Chord ‡ HSS 5.500×.375
Numeric HSS Choice ‡ 60
Laterl Bars ‡ HSS 5.500×.375
Numeric HSS Choice ‡ 60
Web Bars ‡ HSS 5.500×.375
Numeric HSS Choice ‡ 60
Load Method Point Loads Linear Load
Loading Pattern Top Joints All Joints
Top Chord Linear Load 0.0 2.0
Bottom Chord Linear Load 0.0 2.0
Top Chord Point Load 25.0 0.0
Bottom Chord Point Load 0.0 0.0
Connection Type Pin-Roller Pin-Pin
Roller Connection - DOF Horrizontal Horrizontal
Self Weight Yes Yes
Solver Basic VelVert Basic VelVert
Simulation Steps 25 30
Fitness Method Total Weight Total Weight
Targer Deflection 0.1 0.1
Cost of Connection 250 250
Cost of Steel 8000 8000
Galapagos Settings
Fitness Maximize Maximize
Max. Stagnant 50 50
Population 150 150
Initial Boost 10 10
Maintain 5 5
Inbreeding 50 75
Optimization Inputs
‡ Indicates Case Study V ariable
Design Parameters and
Inputs
Case Studies
120
3.9.3 Case Study Descriptions
3.9.3.1 Case Study 1 – Structural Design
Case Study 1 investigates and demonstrates structural member size design. For a simple,
non-complex straight truss, Case Study 1 seeks to optimize the Total Weight through
efficient member sizing. The Design Parameters & Inputs remain constant in this case study,
keeping the geometry of the truss identical. Only the bar section sizes are variables.
This case study emulates a portion of the process of structural design for a truss. Given a
fixed geometry, the design tool is set to find the least weight combination of section sizes.
An initial (failing) design of the structural truss is shown in Figure 38 below. Relatively
simple in geometry, the truss is heavily loaded with a total of 1,400 kip. For detailed design
and structural parameters, see Table 2 above.
Figure 38: Case Study 1, Truss Geometry with Failing Design
121
3.9.3.2 Case Study 2 – Geometry Optimization
Case Study 2 investigates the Grasshopper tool’s ability to optimize the geometry of a truss
to improve performance and weight. A relative reversal from Case Study 1, Case Study 2
gives Galapagos control over several geometric variables and sets structural parameters
constant.
This case study emulates conceptual design of trusses, and it does not partake in member
size structural design. Bar member sizes are fixed for the optimization. Additionally, each
bar member is set to an identical size HSS 5.500×.375. Effectively, this case study imitates a
design problem where only one steel member size is available, but it can be cut to any
length. Using this one section size, the designated span must support a given load.
Architectural freedom is given to Galapagos to experiment with form across the span to find
a form of high weight efficiency.
As there is no beginning geometry associated with this case study, no initial figure can be
shown. The truss must cover a 60 ft span supporting a total linear load of 6 klf
*
, for a total of
360 kip. For detailed design and structural parameters, see Table 2 above.
*
klf is an abbreviation for kips per linear foot.
122
4 CHAPTER FOUR: DATA
Chapter 4 encompasses results of the five Verification Trials and the Optimization Case
Studies. This chapter presents summaries of the numerical findings of each trial and case
study and contains figures detailing the Grasshopper and SAP2000 results. The raw force
data for Trial 1 is presented here along with screenshots of the truss performance results in
Grasshopper and SAP2000. However, raw data for Trials 2-4 is exclusively presented in
Appendix A.
4.1 Benchmarking and Verification Trials
Creating a truss design tool with structural simulation capabilities requires testing that
simulation and analysis engine on various design trusses for verification of its accuracy.
Five trials of varying complexity simulate identical trusses in both the Grasshopper toolset
and SAP2000. The internal member (bar) forces predicted by each program are used as
comparative measures of simulation performance accuracy. The procedure used in each of
the five Verification trials is detailed in Section 3.8.1 on page 106, and the design
parameters and structural input information used in each trial are detailed in Table 1 on page
110.
123
4.1.1 Nonlinear SAP2000 Analysis
4.1.1.1 Trial 1
Table 3: Structural Simulation Force Results with Errors, Verification Trial 1
SAP2000
(Nonlinear)
SAP2000
(Nonlinear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 109.156 109.154 0.0 0.00 57 55.188 55.187 0.0 0.00
2 47.720 47.719 0.0 0.00 58 77.469 77.469 0.0 0.00
3 0.302 0.303 0.2 0.00 59 99.805 99.805 0.0 0.00
4 -33.728 -33.728 0.0 0.00 60 122.800 122.800 0.0 0.00
5 -54.022 -54.021 0.0 0.00 61 122.397 122.396 0.0 0.00
6 -60.839 -60.839 0.0 0.00 62 99.989 99.988 0.0 0.00
7 -60.839 -60.839 0.0 0.00 63 77.396 77.395 0.0 0.00
8 -54.022 -54.021 0.0 0.00 64 55.124 55.122 0.0 0.00
9 -33.728 -33.728 0.0 0.00 65 33.059 33.057 0.0 0.00
10 0.302 0.303 0.2 0.00 66 10.941 10.940 0.0 0.00
11 47.720 47.719 0.0 0.00 67 10.941 10.940 0.0 0.00
12 109.156 109.154 0.0 0.00 68 33.059 33.057 0.0 0.00
13 -0.002 0.000 100.0 0.00 69 55.124 55.122 0.0 0.00
14 150.845 150.847 0.0 0.00 70 77.396 77.395 0.0 0.00
15 273.700 273.701 0.0 0.00 71 99.989 99.988 0.0 0.00
16 368.896 368.894 0.0 0.00 72 122.397 122.396 0.0 0.00
17 436.692 436.687 0.0 0.00 73 0.000 0.000 0.0 0.00
18 477.278 477.271 0.0 0.01 74 6.066 6.065 0.0 0.00
19 477.278 477.271 0.0 0.01 75 6.198 6.198 0.0 0.00
20 436.692 436.687 0.0 0.00 76 6.254 6.254 0.0 0.00
21 368.896 368.894 0.0 0.00 77 6.207 6.206 0.0 0.00
22 273.700 273.701 0.0 0.00 78 6.211 6.211 0.0 0.00
23 150.845 150.847 0.0 0.00 79 6.177 6.177 0.0 0.00
24 -0.002 0.000 100.0 0.00 80 6.211 6.211 0.0 0.00
25 109.468 109.466 0.0 0.00 81 6.207 6.206 0.0 0.00
26 47.937 47.936 0.0 0.00 82 6.254 6.254 0.0 0.00
27 0.251 0.251 0.2 0.00 83 6.198 6.198 0.0 0.00
28 -33.955 -33.955 0.0 0.00 84 6.066 6.065 0.0 0.00
29 -54.357 -54.356 0.0 0.00 85 0.000 0.000 0.0 0.00
30 -61.207 -61.206 0.0 0.00 86 0.000 0.000 100.0 0.00
31 -61.207 -61.206 0.0 0.00 87 -96.279 -96.277 0.0 0.00
32 -54.357 -54.356 0.0 0.00 88 -78.767 -78.766 0.0 0.00
33 -33.955 -33.955 0.0 0.00 89 -61.265 -61.263 0.0 0.00
34 0.251 0.251 0.2 0.00 90 -43.878 -43.877 0.0 0.00
35 47.937 47.936 0.0 0.00 91 -26.582 -26.582 0.0 0.00
36 109.468 109.466 0.0 0.00 92 -17.978 -17.978 0.0 0.00
37 0.303 0.304 0.3 0.00 93 -26.582 -26.582 0.0 0.00
38 0.280 0.281 0.5 0.00 94 -43.878 -43.877 0.0 0.00
39 -0.140 -0.140 0.1 0.00 95 -61.265 -61.263 0.0 0.00
40 0.150 0.150 0.2 0.00 96 -78.767 -78.766 0.0 0.00
41 0.069 0.069 0.1 0.00 97 -96.279 -96.277 0.0 0.00
42 0.184 0.185 0.3 0.00 98 0.000 0.000 100.0 0.00
43 0.184 0.185 0.3 0.00 99 0.000 0.000 100.0 0.00
44 0.069 0.069 0.1 0.00 100 -96.575 -96.574 0.0 0.00
45 0.150 0.150 0.2 0.00 101 -78.684 -78.682 0.0 0.00
46 -0.140 -0.140 0.1 0.00 102 -61.225 -61.223 0.0 0.00
47 0.280 0.281 0.5 0.00 103 -43.901 -43.900 0.0 0.00
48 0.303 0.304 0.3 0.00 104 -26.580 -26.580 0.0 0.00
49 122.800 122.800 0.0 0.00 105 -17.905 -17.905 0.0 0.00
50 99.805 99.805 0.0 0.00 106 -26.580 -26.580 0.0 0.00
51 77.469 77.469 0.0 0.00 107 -43.901 -43.900 0.0 0.00
52 55.188 55.187 0.0 0.00 108 -61.225 -61.223 0.0 0.00
53 32.980 32.979 0.0 0.00 109 -78.684 -78.682 0.0 0.00
54 11.028 11.027 0.0 0.00 110 -96.575 -96.574 0.0 0.00
55 11.028 11.027 0.0 0.00 111 0.000 0.000 100.0 0.00
56 32.980 32.979 0.0 0.00
Grasshopper Toolset Grasshopper Toolset
124
Figure 39: Trial 1 - Grasshopper Toolset Infographic Results, Screenshot of Rhino Viewport
Figure 40: Trial 1 – SAP2000 Calculated Force Diagram
125
4.1.1.2 Trial 2
Figure 41: Trial 2 - Grasshopper Toolset Infographic Results, Screenshot of Rhino Viewport
Figure 42: Trial 2 – SAP2000 Calculated Force Diagram
126
4.1.1.3 Trial 3
Figure 43: Trial 3 - Grasshopper Toolset Infographic Results, Screenshot of Rhino Viewport
Figure 44: Trial 3 – SAP2000 Calculated Force Diagram
127
4.1.1.4 Trial 4
Figure 45: Trial 4 - Grasshopper Toolset Infographic Results, Screenshot of Rhino Viewport
Figure 46: Trial 4 – SAP2000 Calculated Force Diagram
128
4.1.1.5 Trial 5
Figure 47: Trial 5 - Grasshopper Toolset Infographic Results, Screenshot of Rhino Viewport
Figure 48: Trial 5 – SAP2000 Calculated Force Diagram
4.1.2 Linear SAP2000 Analysis
Whereas the standardized procedure described in Section 3.8.1 calls for SAP2000 to run a
nonlinear analysis, often in structural engineering linear analyses are run because they
provide easier methods of analysis and are computationally quicker. Linear analyses are
first-order approximations of the results, and they do not take into account P-Delta effects
caused by changes in bar positions and whole truss deflections during simulation. The errors
129
caused by these approximations vary in magnitude, depending on the size and scope of
deflections produced. Conventional linear analysis, in many circumstances, meets
engineering quality concerns and nonlinear analysis is not required.
As a means of comparison, versions of Trials 1-5 are included in this research report using
Linear SAP2000 analyses. These Trials, dubbed 1
L
-5
L
, use the same SAP2000 models as the
nonlinear trials, differing only in that they are performed using the Linear Analysis Type
option. The resulting data from these trials is presented in Appendix A, Section A.2.
4.2 Optimization Case Studies
The results from the Optimization case studies are presented here. Each case study explores
one area of optimization interest. Screenshots of the Galapagos interface, screenshots of the
Rhino interface, and details on high fitness individuals are presented here. See Table 2 on
page 119 for detailed information on the experimental setup of each optimization run.
Within the iterative generations of each case study, Galapagos identifies when a new, best-
fitness individual has been found with a small grey arrow (see Section 3.7.3.1 on page 104
for more information). Each of these new temporary best fitness solutions are presented as
individual data points for each case study in this section, and they are designated high fitness
individuals. Section 4.2.1 and Section 4.2.2 below contain tables detailing the controlling
variable values of those high fitness individuals. With these variable values and the study
information in Table 2 on page 119, each high fitness individual solution can be
independently replicated using the Grasshopper tool. The final high fitness individual is
130
designated as the case study’s best fitness individual, as it remains the solution with the best
fitness found.
High fitness individuals are designated by the number of the generation from which they
emerge, since Galapagos only marks one new best-fit individual per generation. The
correlation between high fitness individuals and Galapagos interface results can be seen in
the following sections.
4.2.1 Case Study 1
Figure 49: Case Study 1, Galapagos Results, Final
131
Table 4: Case Study 1, High Fitness Individuals
1 2 3 19
Top Chord HSS 8.625×.312 HSS 7.625×.328 HSS 6.625×.375 HSS 6.625×.375
Numeric HSS Choice 41 49 50 50
Bottom Chord HSS 12.750×.375 HSS 12.750×.375 HSS 14×.375 HSS 10×.500
Numeric HSS Choice 21 21 16 20
Lateral Bars HSS 3×.216 HSS 3×.216 HSS 4×.250 HSS 3.500×.216
Numeric HSS Choice 108 108 90 102
Web Bars HSS 5.563×.258 HSS 5.563×.258 HSS 6×.188 HSS 6.625×.188
Numeric HSS Choice 76 76 85 82
Results
Fitness 1466.70581 1517.30336 1570.893235 1578.388514
Total Weight (kip) 6.818 3.691 6.366 6.336
\
Variables
High Fitness Individual (Generation #)
Note between Figure 49 and Table 4 that each high fitness individual is called out by a grey
arrow mark in the Galapagos interface.
In addition to Table 4 above, which gives the final objective weight information for the best
fitness individual from generation 19, Figure 50 below is a screenshot of that solution in
Rhino.
Figure 50: Case Study 1, Best Fitness Solution (Generation 19)
132
In addition to the final Galapagos interface results shown in Figure 49 and the Rhino
screenshot of the best fitness solution in Figure 50, Galapagos results from various
generations and Rhino screenshots of high fitness solutions from throughout the case study
are detailed in Appendix B: Optimization Case Studies, Section B.1.
4.2.2 Case Study 2
Figure 51: Case Study 2, Galapagos Results, Final
133
Table 5: Case Study 2, High Fitness Individuals
1 2 4 7 8 10 11 12
Curve Type Arc Arc Arc Arc Arc Arc Arc Arc
Segments 10 8 6 6 6 6 6 6
Arch Height 12.3 10.6 10.7 9.6 9.7 9.8 9.8 9.8
Width 2.9 2.6 2.9 2.4 2.4 2.4 2.4 2.4
Depth 1.6 2.2 2.1 1.6 1.7 1.7 1.6 1.7
Mid-Width Mult. 0.6 0.8 0.6 0.6 0.6 0.6 0.6 0.6
Mid-Depth Mult. 0.4 0.3 0.4 0.9 0.8 0.7 0.7 0.6
Support Connection Type S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge
Results
Fitness 1130.37988 1160.96332 1199.0445 1218.27697 1219.18933 1222.82356 1225.86976 1227.72701
Total Weight(kip) 8.847 8.614 8.340 8.208 8.202 8.178 8.157 8.145
13 15 16 17 19 22 23 24
Curve Type Arc Arc Arc Arc Arc Arc Arc Arc
Segments 6 6 6 6 6 6 6 6
Arch Height 9.9 10.0 9.9 9.8 9.2 9.6 9.7 9.6
Width 2.3 2.2 2.2 2.2 2.2 2.3 2.2 2.2
Depth 1.7 1.6 1.6 1.6 1.6 1.6 1.6 1.5
Mid-Width Mult. 0.6 0.7 0.7 0.7 1.0 0.8 0.8 0.8
Mid-Depth Mult. 0.6 0.6 0.6 0.6 0.4 0.5 0.5 0.5
Support Connection Type S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge S.S. Hindge
Results
Fitness 1229.07565 1229.83459 1231.30901 1236.25257 1236.98559 1237.17901 1238.27785 1239.73331
Total Weight (kip) 8.136 8.131 8.121 8.089 8.084 8.083 8.076 8.066
Variables
Variables
High Fitness Individual (Generation #)
High Fitness Individual (Generation #)
In addition to Table 5 above, which gives the final objective weight information for the best
fitness individual from generation 24, Figure 52 below is a screenshot of that solution in
Rhino.
134
Figure 52: Case Study 2, Best Fitness Solution (Generation 24)
In addition to the final Galapagos interface results shown in Figure 51 and the Rhino
screenshot of the best fitness solution in Figure 52, Galapagos results from various
generations and Rhino screenshots of high fitness solutions from throughout the case study
are detailed in Appendix B: Optimization Case Studies, Section B.2.
135
5 CHAPTER FIVE: ANALYSIS
In this chapter, results of the various Verification Trials and Optimization Cast Studies are
discussed. The first part of the chapter, Section 5.1, is devoted to the five Verification Trials
performed using SAP2000. These trials examine five designed trusses, each designed with
the toolset to varying degrees of complexity, and analyze the performance of each truss in
both the Grasshopper toolset and in SAP2000, measuring the predicted structural forces
produced. Chapter 4 and Appendix A: Verification Trials contain the data collected during
those trials. This chapter contains an analysis of those results and summary findings
concerning the accuracy of the toolset. The second part of the chapter, Section 5.1.3, is
devoted to results from the optimization case studies. These case studies are designed to
demonstrate the ability of the toolset to improve truss design using Evolutionary
Optimization methods, specifically Galapagos, when using objective measures such as cost
and weight. This chapter contains an analysis of those results and summary findings
concerning the ability of the toolset to accurately improve objective design measures
through optimization.
5.1 Benchmarking and Verification Trials
The standardized procedure for each of these trials is detailed in Section 3.8.1 (page 106),
and the design parameters used to create each trial are presented in Table 1 (page 110).
Force data for Trial 1 is detailed in Section 4.1.1.1 (page 123) while data for Trials 2-4 is
detailed in Appendix A, Section A.1 (page A-1).
136
5.1.1 SAP2000 Nonlinear Simulation: Summary
5.1.1.1 Qualitative Results
The five trials show very similar predictions between the two programs for each of the five
trusses. Qualitatively, the user interfaces shown in Figure 39 through Figure 48 show that
the general behaviors of the trusses in the five trials are roughly the same when comparing
Grasshopper and SAP2000. The main chords experience similar tension and compression
patterns under the same loading, and the same members undergo the greatest forces in each
of the five tests. This shows that the Grasshopper toolset is capable of predicting the general
structural behavior of prismatic trusses and of determining where in the truss the maximum
forces will occur. The coloring scheme of the infographic results accurately depicts which
bars are most stressed, and it signifies to designers which bars require redesign.
5.1.1.2 Quantitative Results
In each of the force data tables for Trials 1-5 (see Table 3, Table 8, Table 9, Table 10, and
Table 11, respectively), error results are calculated for each individual bar. Using SAP2000
as the benchmark, forces produced in each bar using the Grasshopper toolset are measured
against their SAP2000 counterparts. Percentage error (%) and absolute magnitude errors (in
kips) are calculated for each bar.
Table 6 below is a summary of the results for Trials 1-5. Averaging individual bars’
percentage errors over each trial gives average percentage errors of 5.44%, 14.38%, 0.26%,
0.34% and 0.01% for Trials 1, 2, 3, 4, and 5, respectively. Averaging individual bars’
absolute errors gives results of 0.00 kip, 0.00 kip, 0.03 kip, 0.02 kip, and 0.00 kip,
137
respectively. Along with averages, median values are calculated for both types of errors.
Finally, a maximum absolute error in kips is given for each trial.
Table 6: Verification Results Trials 1-5, Nonlinear SAP2000 Benchmark
Trial # of Bars
Average
Error (%)
Median
Error (%)
Average
Error (kip)
Median
Error (kip)
Maximum
Error (kip)
1 111 5.44 0.00 0.00 0.00 0.01
2 42 14.38 0.01 0.00 0.00 0.00
3 78 0.26 0.13 0.03 0.01 0.10
4 87 0.34 0.10 0.02 0.01 0.14
5 111 0.01 0.00 0.00 0.00 0.02
5.1.2 SAP2000 Nonlinear Simulation: Detailed Error Analysis
Using average percentage error to determine general tool accuracy would indicate that Trials
1 & 2 performed worst and reveal the potential for significant possible error (14.38%!) when
using the toolset; however, averaging the percentage errors for all the members within a trial
is not a highly dependable indicator of the overall accuracy of that trial or the general
performance of the toolset.
For Trial 2, in particular, the high average percentage error of 14.38% would suggest that
the truss modeled poorly in the Grasshopper toolset. This, however, is inaccurate.
Examining Table 8 (page A-2) reveals that 27 of 42 (64%) bars in the truss have errors less
than 0.1%, that 34 of 42 (81%) bars have errors less than 0.5%, and that 36 of 42 (86%) bars
have errors less than 5%. Five of the six remaining bars with error over 5% have errors
equal to or greater than 100%. This shows that while the truss as a whole has an average
percentage error of 14.38%, only 5 out of 42 bars are causing the majority of the error.
138
Otherwise, the firm majority of the bars have very little error. Figure 53 below is a
frequency graph showing the distribution of bar percentage error for Trial 2.
0
5
10
15
20
25
30
35
40
0.0 20.0 40.0 60.0 80.0 100.0
Frequency of Bars
Bar Percentage Error (%)
Bar Error Distribution for T rial 2, Nonlinear Analysis
Figure 53: Frequency Curve of Bar Error, Verification Trial 2
Figure 53 demonstrates visually that while most bars have very low error, some outliers
exist that skew the average percentage error for Trial 2 higher.
This trend occurs in the other four trials as well: the vast majority of bar percentage errors
are very low. (Frequency curves for Trials 1, 3, 4, and 5 are shown in Appendix A:
Verification Trials; they are Figure 63, Figure 64, Figure 65, and Figure 66, respectively.)
For these reasons, Table 6 also includes the median percentage errors for the bars of Trials
1-5. Median error, as opposed to average error, indicates the mid-point of the error
distribution
*
. Median values for bar percentage errors give designers better estimates of the
*
In statistics, assuming a normal distribution, the median value is also known as the mean of the distribution
( μ). This value is accompanied by the standard deviation of the distribution ( σ).
139
magnitude of error to expect for any individual bar, as the distribution of errors for the bars
falls equally as often above as below this median value.
Using a median of the percentage errors instead of an average, Trial 2 actually performs
very well, with a median percentage error of only 0.01%. This improvement holds true for
all five trials: Trials 1-5 have median percentage errors of only 0.00%, 0.01%, 0.13%,
0.10%, and 0.00%, respectively. Median percentage errors so low indicate that a designer
using this truss design tool can expect the force results from Grasshopper to have very low
percentage errors in general; however, some large bar percentage errors do exist as outliers.
These outliers skew the results and make average percentage errors for each trial an
unreliable measure of tool accuracy. They also make using the median percentage error an
uncertain measure of tool accuracy. These large outliers would cause a large standard
deviation that would indicate that even if the median is small, there might be some large
errors present in the model.
As Figure 54 shows below, outliers for some trials exist far outside the region where most
bars’ errors lie. These outliers skew the trial average percentage errors out of proportion to
the overall performance of that trial. In Figure 55 below, cropping out the outliers reveals a
more accurate picture of the high concentration of individual member errors below 1.0%.
140
0.0
20.0
40.0
60.0
80.0
100.0
120.0
1 2 3 4 5
Bar Error (%)
Trial
Bar Percentage Errors For T rials 1-5, Nonlinear Analysis
Trial 1
Trial 2
Trial 3
Trial 4
Trial 5
Figure 54: Individual Bar Percent Errors for Verification Trials 1-5
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
1 2 3 4 5
Bar Error (%)
Trial
Bar Percentage Errors For T rials 1-5, Nonlinear Analysis,
Cropped
Trial 1
Trial 2
Trial 3
Trial 4
Trial 5
Figure 55: Individual Bar Percent Errors for Verification Trials 1-5, Cropped
Using median percentage error as a measure of accuracy and dependability, the toolset
performs very well, with each trial performing within 0.13% of SAP2000. Using these trials
as a guide to further toolset performance, designers can expect that the majority of predicted
bar force results from the Grasshopper toolset have errors of around only 0.13%. However,
141
the toolset must account for all bar forces, not just the majority that has low percentage
errors.
5.1.2.1 Accounting for Outliers
Using median percentage errors as a measure of toolset accuracy is not justifiable, however,
without determining that the outliers are indeed not a concern to designers. Engineers
designing trusses cannot accurately model 95% of bars but incorrectly model the remaining
5%. If even one bar is badly designed and fails because a structural model inaccurately
predicts internal forces too low, the truss design is invalid as a result.
Considering absolute bar error (in kips) as opposed to percentage bar error (%) reveals the
sources of these outliers.
5.1.2.2 Absolute Error Analysis
Included in Table 6 above are absolute error values for each trial, in addition to the
percentage error values. Absolute error is a measure of the actual force differences predicted
in each individual bar when comparing SAP2000 simulations and Grasshopper simulations.
For each trial, absolute force error in each bar is included in its force results data table (see
Table 3, Table 8, Table 9, Table 10, and Table 11). These absolute differences between
SAP2000 and Grasshopper force data represent the actual error in kips that a designer would
encounter by using the Grasshopper toolset.
When performing structural design and considering structural performance of steel bars,
forces produced by loading are compared to the force capacities of the bars. The
Grasshopper toolset calculates both these values and displays the ratio-performance of each
142
bar infographically as a colored representation of each bar in the Rhino viewport. This
colored response image communicates to the designer truss performance in a timely and
intuitive manner. Therefore, ensuring that these absolute errors in force predictions are low
is essential to ensuring the accuracy and usability of the toolset.
Table 6 contains averages and median values of the absolute errors for each trial. Trials 1-5
have average absolute bar errors rounded to the nearest hundredth of a kip (or 10 lb) of 0.00
kip, 0.00 kip, 0.03 kip, 0.02 kip, and 0.00 kip, respectively. Those same trials have median
absolute bar errors of 0.00 kip, 0.00 kip, 0.01 kip, 0.01 kip, and 0.00 kip.
These absolute bar errors are extremely low: much lower than the percentage bar errors
discussed above. For Trials 1, 2, and 5 both average and median bar error is 0.00 kip. In
Trials 3 and 4 average and median bar errors are equal or less than 0.03 kip, or 30 lb. In
structural engineering of large trusses, forces as low as 30 lb are considered very small, and
errors in this range are to be expected. It is common when designing in kips (as is usual) to
only carry one decimal of precision. This research study carries two for extra scrutiny;
however, standard practice would round these Trial 3 and 4 errors down to 0.0 kip.
In the last column of Table 6, values for the maximum absolute bar error in each trial are
given. For Trials 1-5, the maximum absolute bar error among all bars is 0.01 kip, 0.00 kip,
0.10 kip, 0.14 kip, and 0.02 kip. Among all five trials, therefore, the maximum force error a
designer can expect between SAP2000 and Grasshopper is 140 pounds. While a 0.14 kip
error is noticeable in structural design, it is small and very unlikely to be the deciding factor
in the overall structural calculations. Errors of this magnitude are factored into structural
design principles: approximations as well as differences between engineered construction
143
drawings and actual construction work produce changes to building loads far greater than
0.14 kips regularly. Because structural engineering calculations can only be well-informed
predictions of the forces that buildings will actually experience, structural engineers by rule
and law must include safety factors in their calculations that assume small errors will occur.
A maximum expected force error of 0.14 kips is well within structural engineering limits.
For this reason, it is acceptable to conclude that the Grasshopper toolset has a high degree of
accuracy for initial design-informing purposes. The Verification Trials demonstrate that the
Grasshopper toolset is accurate to within acceptable, practical engineering design tolerances
for member force errors.
5.1.2.3 Isolating Outlier Origins
An analysis of where the maximum percentage error originates remains a valid pursuit. In
Section 5.1.2 above, outliers are presented as problematic in using average percentage error
for Trials 1-5. In Figure 54, numerous error outliers are shown far outside the clusters of
other errors. The frequency curves in Figure 53, Figure 63, Figure 64, Figure 65, and Figure
66 show how the bar percentage errors are distributed and show clusters of bar errors sitting
far outside the low error range that is most common. The presence of persistent inaccurate
outliers across several trials suggests that in some instances the toolset is incorrectly
calculating structural forces and producing large percentage errors when compared to
SAP2000.
From observation of the Force Result Tables (Table 3, Table 8, Table 9, Table 10, and Table
11), it is clear that all these outliers of percentage error occur when there is little to no
absolute error difference in the bar under consideration. Figure 56 below supports this
144
conclusion. Figure 56 contains a graph of percentage errors vs. absolute errors, taken from
the five Force Result data tables, for each bar from each of the five Trials. From Figure 56, it
is clear that the outliers with high percentage bar errors only exist when there are small
absolute bar errors; however, there is no inversely proportional general trend between
percentage and absolute errors. There are far more bars with both low absolute errors as well
as low percentage errors than there are outliers. Rather than a general trend of increasing
percentage error as absolute error increases, there is some mechanism causing individual
bars to experience high percentage errors.
0.0
20.0
40.0
60.0
80.0
100.0
120.0
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16
Bar Percentage Error (%)
Bar Absolute Error (kip)
Bar Percentage Error vs. Absolute Error (Nonlinear Analysis)
Trial 1
Trial 2
Trial 3
Trial 4
Trial 5
Figure 56: Percentage Error Outliers as a Consequence of Absolute Errors
Another examination of the Force Result Tables reveals that bars with high percentage
errors tend to have smaller magnitude structural forces. In essence, it is possible that large
percentage error outliers are a result of members with small absolute forces. Figure 57 below
shows this relationship while Figure 58 below shows a closer cropped version.
145
0.0
20.0
40.0
60.0
80.0
100.0
120.0
-1000.0 -800.0 -600.0 -400.0 -200.0 0.0 200.0 400.0 600.0
Bar Percentage Error (%)
Structural Force in Bar (kip)
Bar Percentage Error as a Consequence of Force
Magnitude, Nonlinear Analysis
Figure 57: Percentage Error Outliers as a Consequence of Force
Magnitude
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
-300.0 -200.0 -100.0 0.0 100.0 200.0 300.0
Bar Percentage Error (%)
Structural Force in Bar (kip)
Bar Percentage Error as a Consequence of Force Magnitude, Nonlinear Analysis
Figure 58: Percentage Error Outliers as a Consequence of Force Magnitude, Cropped
Figure 57 and Figure 58 show a definite inversely proportional relationship between bar
percentage error and the structural force in that bar (from SAP2000). They show that all
members with high percentage error values reside within the region of smallest member
forces closest to zero. As magnitudes of force increase, percentage errors decrease.
146
Figure 57 and Figure 58 show data from all five trials simultaneously by using absolute
structural force as the controlling variable; however, forces in the five Verification Trials
vary greatly in magnitude. For instance, in Trial 2, the majority of the bar forces are in the
tens of kips or even zero. On the other hand, in Trial 5, the majority of forces is near or
above 100 kip, while some forces are several hundred kips. To account for this great
disparity in trial scale, the controlling structural forces in the five trials and in Figure 58 can
be normalized so that all five trials can be more equitably compared. Dividing each
structural force in each trial by the maximum force in that trial normalizes the structural
forces so that each trial’s maximum bar force is 1.0, and bars in the five trials are compared
together in a way that eliminates effects originating from different trials having inequitable
loading. Normalized in this way, the effects of bar forces on the outlying percentage errors
are shown in Figure 59 below.
0.0
0.2
0.4
0.6
0.8
1.0
1.2
-0.40 -0.30 -0.20 -0.10 0.00 0.10 0.20 0.30 0.40
Bar Percentage Error (%)
Structural Force in Bar (normalized as a ratio of trial maximum force)
Bar Percentage Error as a Consequence of Force Magnitude, Nonlinear Analysis
(Normalized)
Figure 59: Percentage Error Outliers as a Consequence of Normalized Force Magnitude, Cropped
Figure 59 even more clearly demonstrates the inversely proportional relationship between
bar percentage errors and (normalized) bar force magnitudes than does Figure 58. As the
147
magnitude of simulated force in a bar in the Grasshopper toolset increases, its percentage
error compared to SAP2000 decreases.
Bars with percentage errors equal to or greater than 0.4% exclusively occur (in Trials 1-5)
within the normalized force range of 0.00 to 0.05, according to observation of Figure 59. As
a result, designers using the Grasshopper toolset should be aware that bars with less than 5%
of the maximum force bar in any design truss might have higher potential errors above
0.4%. (Nevertheless, it is important to note that the majority of bars with forces of less than
5% of the maximum force still have percentage errors of less than 0.4%, according to
observation of Figure 59. Many in fact, in Trials 1-5, have errors of close to 0.0% despite
their small, normalized force.)
It is likely that higher percentage bar errors as a consequence of small axial bar forces are a
result of small inaccuracies affecting members with already small forces disproportionately.
Whereas differences in the methods and simulation engines behind SAP2000 and the
Grasshopper toolset are bound to cause small differences in bar forces between the two
programs
*
, members with already small forces are affected by these errors more. This causes
disproportionately large percentage errors in some members; however, as is concluded in
*
An investigation of the source of these small differences shows that the convergence of the Grasshopper
toolset is not the cause.
Selecting the number of simulation steps affects the convergence of the simulation. Convergence is a measure
of the single largest percent change of a bar force between the final simulation step and the step before it. With
a convergence of 0.01%, every bar in a simulation has settled to within 0.01% of its final value. Sometimes,
convergences will never completely decrease to 0.0% due to minute vibrations in the simulation.
When errors of more than 0.01% occur between Grasshopper and SAP2000, and convergence is less than or
equal to 0.01%, these errors cannot be the result of lack of simulation convergence, as Grasshopper has settled
and will not change its force values by more than 0.01%. Increasing the simulation step count will not change
the results or move them closet to those of SAP2000. The errors in these cases are due to fundamental
differences between SAP2000 and Grasshopper, not due to Grasshopper convergence or lack thereof.
148
Section 5.1.2.2 above, these small force errors are insignificant in general engineering
design and performance considerations of the truss. Members with disproportionately large
percentage errors (i.e. 100% or more) should, in general, not worry designers using this
toolset as an early gauge of structural truss performance. Bars with larger, dominating forces
drive the major design considerations, drive truss performance results, and have the highest
level of accuracy.
5.1.3 SAP2000 Linear Simulation
Running SAP2000 with a linear Analysis Type enabled (instead of the nonlinear type as
instructed in the procedure within Section 3.8.1.2) results in linear versions of Trials 1-5.
These alternative trials are dubbed Trials 1
L
-5
L
, and their Grasshopper toolset and SAP2000
results are displayed in Table 12, Table 13, Table 14, Table 15, and Table 16 within
Appendix A: Verification Trials. Results from Trials 1
L
-5
L
are organized in the same manner
as those from Trials 1-5. Percentage and absolute errors are determined for each bar in each
trial, using SAP2000 as the accepted benchmark.
Table 7 below shows the overall results for Trials 1
L
-5
L
. Average and median errors for each
trial are given for both the percentage and absolute errors measured for each bar.
Additionally, a maximum error in kips is given for each trial; this value describes the bar
most in error during that trial.
149
Table 7: Verification Results Trials 1
L
-5
L
, Linear SAP2000 Benchmark
Trial # of Bars
Average
Error (%)
Median
Error (%)
Average
Error (kip)
Median
Error (kip)
Maximum
Error (kip)
1
L
111 6.71 0.00 0.13 0.00 2.69
2
L
42 1.32 1.01 0.28 0.15 1.56
3
L
78 7.68 0.73 0.15 0.14 0.49
4
L
87 112.64 0.57 0.18 0.11 0.86
5
L
111 8.69 2.12 2.61 1.92 13.97
Table 7 shows that errors for Trials 1
L
-5
L
are higher than those for Trials 1-5. Comparing
Table 6 and Table 7 reveals that average errors, median errors, and maximum absolute
errors all increase for the linear analysis
*
.
As discussed above in Section 5.1.2, median absolute error is the most useful measure of
error when determining the accuracy of structural member forces. Structural analysis
requires predicted force magnitudes be compared to calculated strengths for each bar.
Median absolute error predicts the midpoint around which errors for each bar are half-
greater and half-smaller.
Table 7 shows that median absolute errors for Trials 1
L
-5
L
are 0.00 kip, 0.15 kip, 0.14 kip,
0.11 kip, and 1.92 kip, respectively. As discussed in Section 5.1.2 for nonlinear analysis,
engineering tolerances for error exist; however, median errors of this magnitude exceed
those tolerances. The result is that, for at least half (and mostly like a large majority) of the
bars in each of Trials 1
L
-5
L
, the absolute errors are too high to be considered acceptable.
*
This is true except for three instances in which the error decreases or stays the same: average percentage error
for Trial 2/2
L
decreases while both median errors for Trial 1/1
L
remain the same at 0.00.
150
5.1.3.1 Advantage of Nonlinear Simulation
Comparing Trials 1
L
-5
L
and Trials 1-5 reveals that the Grasshopper toolset accurately
predicts the nonlinear behavior of finite deformations to be expected in long span trusses.
That is, with long trusses, deformations in the bars and deflection of the truss causes
increased P-Delta effects. These effects are nonlinear in nature and conventional simplistic
linear analysis does not account for them appropriately. While traditional short span trusses
may use linear analysis effectively and within engineering tolerances, the custom form and
long trusses produced by the Grasshopper toolset evaluated here are analyzed most
effectively with nonlinear effects. Based on the results of Trials 1-5 and Trials 1
L
-5
L
, the
Grasshopper toolset improves greatly over traditional linear analyses tools and produces
accurate nonlinear results for structural evaluation of trusses.
5.2 Optimization Case Studies
Optimization Case Study 1 is designed to implement a structural design process wherein
structural member sizes are chosen automatically amid static truss geometry. Case Study 2 is
designed to implement a geometry design process wherein form is altered amid a static
structural member sizes. In each case, Total Weight is selected as the objective measure of
fitness.
5.2.1 Case Study 1
Case Study 1 examines 1,500 individual solutions in generation 0 and another 150 in each
subsequent generation. According to Table 4 (page 131), the first high fitness individual,
from generation 1, has a weight of 6.818 kip, or 6,818 lb. Ultimately, the best fitness
individual, from generation 19, has a weight of 6.336 kip, or 6,336 lb.
151
The generation 1 high fitness solution is not a starting design solution; rather, it is the best
design solution from the first 1,650 solutions evaluated. Nevertheless, taking this first high
fitness individual as a starting point, Cast Study 1 demonstrates a truss weight improvement
of 482 lb, or 7.1% off the starting weight.
To achieve this 7.1% drop in total truss weight, Case Study 1 changed all four bar section
sizes. Table 4 shows that Top, Bottom, Lateral, and Web bars all change in the search for
better solutions. While the Top and Web bars decreased in size to save weight, the Bottom
and Lateral bars actually increased in area, increasing their weight. This complex interplay
between different variables demonstrates the complexities of efficient structural design: it is
a nonlinear design that must be iterated and continuously improved.
One advantage of optimization structural design, however, is that, unlike traditional manual
structural design, several design paths can be explored simultaneously. When a structural
engineer manually designs a truss, he or she typically starts with a proposed design solution
and iterates successive solutions from it. Using this Grasshopper design tool, however, a
designer simultaneously evaluates many different initial designs in generation 0, from which
a smaller group is further investigated in generation 1 and beyond.
The genome graph at the bottom middle of the Galapagos interface shows each individual as
a line across the graph. Each vertical line in the graph is a particular gene (i.e. variable)
within that optimization run. Potential gene values spread out along the vertical gene axis,
and individuals cross that axis at the location of their respective gene. Observing the genome
graph for a particular generation reveals the relative genetic similarities or differences
among the individuals within that generation. Generations with a wide distribution of
152
individuals in their genome graphs are more diverse while generations with close or
overlapping individuals are less diverse. Figure 60 below shows the generational genome
evolution for Case Study 1.
Figure 60: Case Study 1, Generational Population Genome Diversity
Figure 60 shows that by generation 5, most individuals have settled their genome around
what would become the best fitness solution. However, during generations 0 to 5, the EA
process searches through many different combinations of variables simultaneously in a way
structural designers cannot replicate manually. This wide search through possible gene
combinations allows Galapagos to find the particular variable combination that, while
seemingly counterintuitive, increases some bar sizes and yet decreases the truss weight
overall.
Case Study 1 demonstrates the ability of the Grasshopper design tool to perform specialized
structural design of truss bar section sizes using the Galapagos optimization engine.
153
Decreasing the weight of the truss solutions by 7.1%, Case Study 1 also demonstrates that
this toolset is capable of creative solutions to structural design member sizing problems.
5.2.2 Case Study 2
Case Study 2 explores geometric effects on truss weight. Given control over eight variables
(Curve Type, Segments, Arch Height, Width, Depth, Mid-Width Multiplier, Mid-Depth
Multiplier, and Support Connection Type), Galapagos searches for design solutions that
lessen the overall weight of the truss.
From Generation 1 to Generation 24, Case Study 2 produces sixteen new high fitness
individual solutions. Over the course of this optimization, optimal truss design weight is
lowered from 8.847 kip, or 8,847 lb., to 8.066 kip, or 8,066 lb. This 8.8% reduction in
weight saves 781 lb. from the structure.
Observing the progression of high fitness individual design solutions (see Rhino screenshot
figures in Section B.2), it is clear that the overall design form settles early in the
optimization run. The high fitness individuals from generations 1, 2, 4, 7, …, 23, and 24 all
rely on the same basic design form: a narrow, shallow arc truss with few segments,
narrowing widths and depths at the midpoint, and simple supports. Table 5 on page 133
details the variable values for each individual. The genome graphs for the high fitness
individuals show a similar result. Figure 61 below shows the genome progression among ten
of the generations.
154
Figure 61: Case Study 2, Generational Population Genome Diversity (red line indicates high fitness individual)
Figure 61 shows that through Generation 4, Galapagos continues to explore a range of
diverse genetic mixes. However, by Generation 7, this diversity has mostly been eliminated,
and by Generation 12, it is almost entirely gone. Despite this early diversity of genomes,
however, Figure 61 also reveals that the high fitness individuals do not change greatly from
Generation 1 to Generation 24. The red line in each generation indicates the high fitness
individual from that generation. Comparing this 2-D representation of the genetic makeup of
each individual supports the observation that after Generation 1, little geometric change is
found more optimal other than small tweaks to variable values.
Table 5 and Figure 61 show that after Generation 1, Galapagos finds the most valuable
geometric improvements to the truss come from small changes to variable values. Rather
than attempt radical new forms, Galapagos tweaks the existing high fitness formula. In early
generations, on the other hand, Galapagos explores many different form combinations in
search of high performance, low weight trusses.
155
Figure 62: Case Study 2, Sampling of Generation 0 Form Designs
Figure 62 shows twenty examples of truss solutions evaluated in Generation 0 of Case Study
2. These twenty representative solutions were selected for their varying form shapes and
design aesthetics. They represent the diversity of design solutions examined in the early
generations of Galapagos optimization.
Case Study 2 ultimately rejects the vast majority of form designs and explores only one
specific corridor of the genome graphs shown in Figure 61. While ultimately most
objectively fit, this corridor locks Galapagos into a narrow search for smaller and smaller
improvements to weight through small tweaks to variable values. When geometry
exploration and expression of new form is determined to be as important as weight
156
reduction, Galapagos needs to expand out of narrow genome search patterns and try new
form compositions once more.
Case Study 2 effectively reduces the total weight of the design truss by 8.8%. However, it
fails to explore divergent form designs farther than the early generations. Future work must
attempt to correct this problem and enable optimization among diverse design possibilities.
157
6 CHAPTER SIX: CONCLUSIONS
The Grasshopper toolset created for this research study creates and models structural truss
solutions for proposed and auto-generated architectural geometries, and it simulates their
behaviors in real-time structural performance simulations. The toolset performs a real-time
analysis of the truss simulation and displays directly in the Rhino design interface
infographic performance results in both colored and numeric forms. A Grasshopper-native
interface allows architectural designers real-time parameter input control with structural
results that recalculate automatically. This real-time designer control of structural simulation
results in real-time, useful information in the design interface that can affect designer choice
and aid in the iterative design process. The toolset’s ability to model structural trusses based
on designer geometry inputs allows conceptual designs to originate from either CAD
processes or parametric definitions, aided with additional structural performance
information traditionally unavailable until later in the design process.
6.1 Research Study Results
A Grasshopper toolset predicting structural forces, truss performance feedback, and
automatic optimization capabilities requires testing and verification of said capacities. Five
Verification Trials are presented in this study to measure the accuracy of the toolset against
the structural engineering benchmark industry standard SAP2000. Additionally, three
optimization case studies are presented to demonstrate the optimization potential of the
toolset to improve structural truss design through objective measures.
158
6.1.1 Clarification of Study Methods
The Optimization Case Studies and Verification Trials performed are non-exhaustive and do
not prove conclusively beyond all doubt the accuracy or optimization potential of the
Grasshopper toolset. Five Verification Trials are presented and three Optimization Case
Studies are presented as generalized examples of the toolset in practice. From these
examples, conclusions are drawn to support the claims of tool accuracy and optimization
potential. While additional trials and case studies could be performed to provide further
guidance on these issues, five trials and three case studies are deemed sufficient to test a
variety of design examples and form generalized conclusions. Providing additional examples
of trials and case studies would have taken additional study time that otherwise was spent
further developing the toolset capabilities and the Grasshopper design interface. Further
work (see Chapter 7) could include performing additional Verification Trials and
Optimization Case Studies.
6.1.2 Verification Trials
The results of the five Verification Trials presented in Section 4.1 suggest strongly that the
Grasshopper toolset is highly accurate to around 0.13% error or less for individual bar
members. More importantly, the maximum absolute error found during all five trials is 0.14
kip, or 140 lb. The vast majority of absolute bar errors are less than this value, which is
already within most engineering tolerances for member force error in the design of bars for a
truss. A maximum median error of 0.01 kip for all five trials suggests that designers can
expect errors in the Grasshopper toolset’s simulation of about ten pounds for each bar for the
scale of truss and loading used. Less than rounding errors in most engineering problems, this
159
0.01 kip median error strongly suggests that the Grasshopper toolset is highly accurate and
dependable for conceptual design purposes.
6.1.3 Optimization Case Studies
Case Studies 1 and 2 demonstrate the ability of the Grasshopper design tool to reduce truss
weights and improve objective measures of truss design. In each case, the total weight is
reduces by 7.1% and 8.8% respectively.
Nevertheless, these case studies also demonstrate that the toolset cannot yet explore
divergent design forms simultaneously beyond a few generations. Galapagos investigates the
highest fitness forms to the exclusion of others. In this respect, the tool fails to offer
designers multiple high fitness design possibilities at the conclusion of an optimization run.
Decreasing Galapagos’s Inbreeding setting may be one method to increase longevity of
divergent genetic strains during optimization. By allowing the optimization engine more
freedom in creating each new generation (by not requiring as “inbred” of individuals),
decreasing diversity in genetic strains might be reduced. However, decreasing inbreeding to
an excess may prevent or at best hinder Galapagos from finding new higher fitness
solutions. Further case studies and increased Galapagos capabilities may provide more light
on this genetic homogeneity problem.
Ultimately, using the Optimization component with Galapagos does improve object truss
design measures. However, further work is needed to provide a more comprehensive design
and optimization tool.
160
6.2 Summary of Findings
This research study shows that the Grasshopper toolset can automatically and effectively
create structural truss solutions based on parametric design inputs as well as custom user-
created form. Architectural designers can automatically populate their 3-dimensional Rhino
designs with parametric structural solutions that simulate realistic loading conditions and
structural truss performance. Real-time visual feedback shows the loaded behavior of the
trusses as well as strength/failure information directly in the design interface.
This Grasshopper toolset, through a series of Verification Trials, is shown to be a highly
accurate structural simulator of triangular prismatic trusses under design loads. Moreover,
Optimization Case Studies demonstrate its ability improve objective measures of truss
design like total truss weight.
This toolset integrates parametric architectural design and structural engineering to increase
design effectiveness through real-time structural performance feedback, design iteration, and
parametric optimization. The Grasshopper toolset supplies intelligent feedback to the
designer, empowering architects to engage in early iterative design exploration that could
make buildings more efficient in cost and materials while improving the overall design
process.
161
7 CHAPTER SEVEN: FURTHER WORK
This chapter presents research issues that are not addressed in this study and aspects of this
study that could be improved.
7.1 Improvements to this Research Study
7.1.1 Truss Diversity
Grasshopper scripting time limitations narrowed the focus of this research study to
triangular prismatic trusses. Further, it limited the types of trusses to Pratt and Warren
trusses.
7.1.1.1 Truss Types
Further Truss Type options could be developed within the Geometry Component. Additional
truss types would require additional scripting within the Simulation and Analysis
components as well; however, they would not change the fundamental progression data in
the toolset. Additional truss types could be added to support Bowstring, Lenticular, Brown,
Brunel, Howe, Allan, and Parker truss types. These types could be included and use the
current Kangaroo simulation.
7.1.1.2 Space Frame Types
While triangular prismatic trusses are common in truss design, other three dimensional
frame types are available. These include flat (two-dimensional) trusses, square prismatic
trusses (and every increasing polygonal cross sections after that), and various proper space
frames. These structural typologies could be developed without upgrades to the Kangaroo
simulation engine.
162
7.1.2 Cable Structures
Non-continuous cable structures are possible to model within the current Kangaroo
simulation. Development priorities eliminated these structure types from this research study
and Grasshopper toolset, however. Cable-stayed tension structures could be modeled with
further scripting additions.
7.1.3 Diversifying Geometric Inputs
While the current Grasshopper toolset allows for custom curve inputs, users could
potentially specify more complex forms on which trusses could be generated.
7.1.3.1 Planes and Surfaces
User-defined planes or surfaces would be a relatively simple upgrade to the current toolset.
The input plane or curved surface would be automatically divided into a series of curves
(using a variety of potential methods). Each curve would then become the basis for a
separate truss, modeled in the current Grasshopper toolset.
7.1.3.2 Grids
An extension of user-defined planes, a user could specify a grid on which trusses would
cover each line segment. Additional development would be required for the Geometry
component to identify each grid segment as a separate truss backbone curve. An example of
grid application would be for designing warehouse roofs or other long span structures with
interior columns.
163
7.1.4 Truss Support Geometry
7.1.4.1 Single Joint Supports
The trusses in the current Grasshopper toolset all generate with three end joints in every
truss. While these trusses can be modeled as both moment and hinge supported, all three end
joints are created regardless. Difficulties in developing consistent support script within the
Geometry component required that all trusses generated have three joints at each end.
Further scripting could add the option to reduce this end condition to two or even one joint
supports to further model more realistic structural trusses as built.
7.1.5 Structural Systems
A key aspect of the current research study is its focus on truss design. While trusses are
efficient and common structural systems, other systems are commonly used in building
design too; however, the current toolset cannot model non-axially resistant systems (e.g.
bending behavior in beams), due to limitations of Kangaroo development. With further
development, it might be possible to model the other fundamental structural forces in
Kangaroo. These are shear, bending, and torsion. If made possible, further structural system
types could be included in the toolset. These include beams, beam-columns, shear walls,
foundations and other bulk solids, cable structures (suspension and other continuous cable
structures), and shell structures. Adding these additional system types would greatly
improve the potential reach of the toolset across architects and engineers.
164
7.1.6 Additional Loading Options
7.1.6.1 Load Placement
The current Structural Load Inputs and Parameters cover only a small range of the possible
and common loading conditions faced by structural spans. In addition to linear and equal
point loads, some structures face unequal point loads, single point loads, changing linear
loads, loads on only one chord, triangular loads, etc. The high variety of loads that structural
engineers can account for in traditional design far exceeds the loading options developed for
the toolset at present. Adding additional loading options would be accomplished with further
scripting within the Simulation component.
7.1.6.2 Load Types & Load Factors
Structural engineers must design for live loads, dead loads, snow loads, and other gravity
loads both separately and simultaneously. The current toolset Structural Loads & Parameters
account only for a single total gravity load (excepting self-weight) or wind load. Additional
scripting within the Simulation component could add additional input options for different
load types, each of which could have a different load factor either manually specified or
provided by the toolset.
7.1.7 Automated Loading Options
In addition to more loading options as described above in Section 7.1.6, automated loading
capabilities would serve architectural designers without structural training. Additional
scripting within the Simulation component could calculate joint loads automatically given
loading conditions (roof, office floor, storage floor, assembly floor, etc.), anticipated truss
spacing (i.e. tributary area), and construction techniques (concrete slab versus steel deck
165
floors/roofs). Given these parameters, the Simulation component could calculate an
estimated live and dead load distribution for the structural member, and it could calculate
joint loads for each point in the truss.
7.1.7.1 Secondary Framing
In addition to general floor and live load conditions, an input parameter could specify
secondary framing to be supported. This could include joists for a girder or mullions for a
façade, among other potential uses.
7.1.8 Structural Member Design
The Structural Loads & Parameters limit users to a finite selection of round HSS pipe sizes.
Various improvements could be made to this design process.
7.1.8.1 Member Sizing
The current steel pipe member sizes available for truss design are taken from the AISC HSS
options (Steel Construction Manual 2005). This full list is excessive, however, and many
member sizes are extremely similar. Designers seeking to select member sizes have little
information other than the knowledge that the member sizes are sorted by decreasing cross
sectional areas. The member sizes available could be more efficiently narrowed in order to
provide only the most efficient or readily available options for designers.
7.1.8.2 Member Diversity
Structural truss bars in the Simulation component are defined by the member size chosen for
that category of bar. The four categories of bar are: Top Chord, Bottom Chord, Web Bar,
and Lateral Bar. In truss design, however, it is sometimes common to vary bar sizes to
166
respond more efficiently to the stresses produced in each individual bar rather than to design
all bars of a type identically. Increased design options for custom bar sizing could increase
truss efficiency by decreasing overdesign in many bars.
7.1.8.3 Member Choices
In addition to HSS Steel Pipe, some trusses use other member types for their bars. HSS
Square and Rectangular sections are available commercially. L and double-L sections are
also common in lightweight trusses. Increasing the member section types would increase
tool versatility.
7.2 Issues not Addressed in this Study
7.2.1 Multi-Objective Optimization
Single-Objective Optimization is relatively logical process whereby the solution found to
have the highest fitness can be determined from the list of solutions examined. However,
Multi-Objective Optimization has no single fitness value. Multiple fitness values measuring
competing objectives complicate choosing a most optimal solution. Further work should be
done to explore multi-objective optimization in Grasshopper using this toolset.
7.2.1.1 Octopus
Octopus is a relatively new plugin available on the Grasshopper community pages for
download. Not included in the native Grasshopper component database, it is a plugin
developed specifically to enable Multi-Objective Optimization in the program. Further work
should explore how Octopus could be used to improve structural designs using this toolset.
167
7.2.2 Structural Compilation
The current toolset models individual structural elements without contribution from other
elements in the building. Realistic building design, however, must simultaneously account
for all structural members and their effects on one another. Further work should explore how
multiple layers of structural elements could be designed simultaneously. For example, this
toolset could model a beam under load, the column that supports it, and the foundation under
that.
7.2.3 Plastic Structural Behavior
The bar elements in this toolset are limited to idealized linearly elastic behavior under all
conditions. However, steel bars in trusses can be designed to assume plastic deformations as
well. Elastic-plastic design techniques could be implemented within the Simulation
Component to better represent design techniques used in standard structural steel design
today. This development could broaden the use by structural engineering students and
practitioners, but would have limited use with architects.
7.2.4 Lateral Force Design
The Grasshopper design tool focuses on static gravity loads in structural trusses. While there
is an option to model façade trusses resisting static wind loads, this capability has been
developed to a limited extent. Lateral design encompasses wind and earthquake loads
primarily (though other lateral load conditions can apply, such as ice and flood loads).
7.2.4.1 Wind
Wind design, like gravity design, assumes maximum static loads applied to the structural
member. As such, further work in wind design could be done using the current Kangaroo
168
simulation engine. The current design tool requires point and linear loads be supplied by the
user; however, a more architect-friendly intuitive approach would use wind speed or air
pressure to calculate loads automatically on façade trusses. As such, determining wind loads
for structural design would require an additional automated script.
In addition to façade systems, gravity-resisting trusses must be designed to withstand lateral
wind forces in some cases. An additional automated script paired with designer input could
calculate lateral wind loads for loaded gravity trusses. Such a simulation would model the
behavior of trusses under load in high winds, allowing for more accurate and comprehensive
design solutions.
7.2.4.2 Earthquake
Earthquake loads can be designed assuming for a maximum static force, and they can be
designed according to a dynamic response spectrum. Additionally, earthquake loads are
modeled differently than dead, live, and wind loads. Further work to integrate earthquake
loads into the Grasshopper toolset would require significant additional scripting within the
Simulation component.
7.2.5 User Tests
The stated goals of this research project are to increase design feasibility, efficiency, and
exploration while reducing design latency. This thesis proposes that the Grasshopper toolset
developed has the potential to some or all of these tasks, and anecdotal development testing
has suggested it may. However, user tests are required before claims of design process
improvements can be made. Further work may include investigations of the following topics
related to using the toolset:
169
1) Ease of Use of the Toolset
2) Learned Structural Competency through Use of the Toolset
3) Qualitative User Assessments of Toolset Impact on Design Forms
4) Structural Feasibility of Designs Produced
5) Potential for Reducing the Number of Failing Designs
6) Potential for Reducing Time Spent to Achieve Working Design/Time per Design
Iteration
7) Potential for Increasing Design Iterations within the Solution Space
170
BIBLIOGRAPHY
Alfaris, Anas, and Riccardo Merello. "The Generative Multi-Performance Design System."
Silicon + Skin: Biological Processes and Computation: Proceedings of the 28th
Annual Conference of the Association for Computer Aided Design in Architecture
(ACADIA). Minneapolis, Minnesota: University of Minnesota, 2008. 448-457.
ASCE. Recent Advances in Optimal Structural Design. Edited by Scott A. Burns. Reston,
VA: American Society of Civil Engineers, 2002.
Autodesk. AutoCAD. 2013. http://www.autodesk.com/products/autodesk-autocad/overview.
—. Revit. 2013. http://www.autodesk.com/products/autodesk-revit-family/overview.
Bambardekar, Suhas, and Ute Poerschke. "The Architect as Performer of Energy Simulation
in the Early Design Stage." Building Simulation 2009: Eleventh International IBPSA
Conference. Glasgow, Scotland, 2009. 1306-1313.
Burry, Mark, and Zolna Murray. "Computer Aided Architectural Design Using Parametric
Variation and Associative Geometry." Edited by Bob Martens, Helena Linzer and
Andreas Voigt. 15th eCAADe Conference: Challenges of the Future.
Österreichischer Kunst- und Kulturverlag, Vienna, Austria: Vienna University of
Technology, 1997.
CURT. Collaboration, Integrated Information, and the Project Lifecycle in Building Design
and Construction and Operation. WP-1202, Architectural/Engineering Productivity
Committee, Construction Users Roundtable, 2004.
Flager, F, and J Haymaker. "A Comparison of Multidisciplinary Design, Analysis and
Optimization Processes in the Building Construction and Aerospace Industries."
Edited by I Smith. 24th International Conference on Information Technology in
Construction. Maribor, Slovenia, 2007. 625-630.
171
Flager, Forest, Benjamin Welle, Prasun Bansal, Grant Soremekun, and John Haymaker.
"Multidisciplinary Process Integration and Design Optimization of a Classroom
Building." Edited by B-C Bjork. Journal of Information Technology in Construction
14 (2009): 595-612.
Gehry Technologies. Digital Project. 2013. http://www.gehrytechnologies.com/digital-
project.
Gerber, David Jason, and Shih-Hsin Eve Lin. "Designing in complexity: Simulation,
integration, and multidisciplinary design optimization for architecture."
SIMULATION, April 2013.
Gerber, David Jason, Shih-Hsin Eve Lin, Bei Penny Pan, and Aslihan Senel Solmaz.
"Design optioneering: multi-disciplinary design optimization through
parameterization, domain integration and automation of a genetic algorithm." Edited
by Lira Nikolovska and Ramtim Attar. SimAUD 2012. Orlando, Florida, 2012. 23-
30.
Gerber, DJ. The Parametric Affect: Computation, Innovation and Models for Design
Exploration in Contemporary Architectural Practice. Cambridge, MA: Harvard
Design School, 2009.
Gerber, DJ, and S-HE Lin. "Designing-in performance through parameterization,
automation, and evolutionary algorithms: 'H.D.S. BEAGLE 1.0'." Edited by Thomas
Fischer, Kaustuv De Biswas, Jeremy J Ham, Ryusuke Naka and Huang Weixin.
CAADRIA 2012: Beyond Codes and Pixels. Chennai, India, 2012. 141-150.
Haymaker, J, and J Chachere. "Coordinating Goals, Preferences, Options and Analyses for
the Stanford Living Laboratory Feasibility Study." In Intelligent Computing in
Engineering and Architecture, edited by I. Smith, 320-327. New York, NY:
Springer, 2006.
172
Holzer, Dominik, Richard Hough, and Mark Burry. "Parametric Design and Structural
Optimisation for Early Design Exploration." International Journal of Architectural
Computing 5, no. 4 (December 2007): 625-643.
Holzer, Dominik, Yamin Tengono, and Steven Downing. "Developing a framework for
linking design intelligence from multiple professions in the AEC industry." Edited
by Andy Dong, Andrew Vande Moere and John S. Gero. Computer-Aided
Architectural Design Futures (CAADFutures) 2007. Sydney, Australia: Springer
Netherlands, 2007. 303-316.
Karamba3D. Karamba. 2013. http://www.karamba3d.com/.
Kilian, Axel. "Design innovation through constraint modeling." International Journal of
Architectural Computing 4, no. 1 (2006): 87-105.
Maher, A, and Mark Burry. "The Parametric Bridge: Connecting Digital Design Techniques
in Architecture and Engineering." Connecting - Crossroads of Digital Discourse
(Proceedings of the 2003 Annual Conference of the Association for Computer Aided
Design In Architecture). Indianapolis, Indiana, 2003. 39-47.
Nicholas, P, and M Burry. "Import As: Interpretation and Precision Tools." CAADRIA 2007:
Proceedings of the 12th International Conference on Computer Aided Architectural
Design Research in Asia. Nanjing, China, 2007. 249-257.
Oxman, Neri. "Get Real Towards Performance-Driven Computational Geometry."
International Journal of Architectural Computing 5, no. 4 (December 2007): 663-
684.
Panagiotis, Michalatos, and Kaijima Sawako. SawaPan Design. 2013.
http://www.sawapan.eu/.
Paulson, Boyd C. "Designing to Reduce Construction Costs." Journal of the Construction
Division 102, no. 4 (December 1976): 587-592.
173
Piker, Daniel. Kangaroo. 2013. http://www.grasshopper3d.com/group/kangaroo.
Rittel, Horst W J, and Melvin M Webber. "Dilemmas in a General Theory of Planning."
Policy Sciences (Elsevier Scientific Publishing Company) 4, no. 2 (1973): 155-169.
Robert McNeel & Associates. Rhinoceros. 2013. http://www.rhino3d.com/.
Rolvink, Anke, Roel van de Straat, and Jeroen Coenders. "Parametric Structural Design and
beyond." International Journal of Architectural Computing 8, no. 3 (2010): 319-336.
Rosenman, M.A., and J.S. Gero. "A System for Integrated Optimal Design." In Design
Optimization, edited by J.S. Gero, 259-294. New York, NY: Academic Press, 1985.
Rutten, David. Grasshopper. 2013. http://www.grasshopper3d.com/.
Sanguinetti, Paola, Marcelo Bernal, Maher El-Khaldi, and Matthew Erwin. "Real-Time
Design Feedback: Coupling Performance-Knowledge with Design Iteration for
Decision-making." SimAUD 2010. Orlando, FL, 2010. 23-30.
Schierle, G. "Interdisciplinay Design Optimization: A Search Method." Journal of
Optimization Theory and Applications (Plenum) 23, no. 1 (September 1977): 125-
135.
Shea, Kristina, Robert Aish, and Marina Gourtovaia. "Towards integrated performance-
driven generative design tools." Automation in Construction 14, no. 2 (March 2005):
253-264.
Steel Construction Manual. 13th. Chicago, IL: American Institute of Steel Construction,
2005.
174
Toth, Bianca, Flora Dilys Salim, Robin Drogemuller, John H. Frazer, and Jane R. Burry.
"Closing the loop of design and analysis: Parametric modelling tools for early
decision support." Edited by Christiane Herr, Ning Gu, Stanislav Roudavski and
Marc Aurel Schnabel. Circuit Bending, Breaking and Mending: Proceedings of the
16th International Conference on Computer-Aided Architectural Design Research in
Asia. Newcastle, Australia, 2011. 525-534.
Trimble. SketchUp. 2013. http://help.sketchup.com/en/contact.
Turrin, Michela, Peter von Buelow, and Rudi Stouffs. "Design explorations of performance
driven geometry in architectural design using parametric modeling and genetic
algorithms." Advanced Engineering Informatics (Elsevier Science) 25, no. 4
(October 2011): 656-675.
A-1
A APPENDIX A: VERIFICATION TRIALS
A.1 Verification Trials 1-5
0
20
40
60
80
100
120
0.0 20.0 40.0 60.0 80.0 100.0
Frequency of Bars
Bar Percentage Error (%)
Bar Error Distribution for T rial 1, Nonlinear Analysis
Figure 63: Frequency Curve of Bar Error, Verification Trial 1
A-2
Table 8: Structural Simulation Force Results with
Errors, Verification Trial 2
SAP2000
(Nonlinear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 14.267 14.267 0.0 0.00
2 -13.764 -13.766 0.0 0.00
3 -13.764 -13.766 0.0 0.00
4 14.267 14.267 0.0 0.00
5 0.000 0.000 100.0 0.00
6 76.282 76.283 0.0 0.00
7 103.906 103.905 0.0 0.00
8 76.282 76.283 0.0 0.00
9 0.000 0.000 100.0 0.00
10 14.026 14.023 0.0 0.00
11 -13.229 -13.229 0.0 0.00
12 -13.229 -13.229 0.0 0.00
13 14.026 14.023 0.0 0.00
14 0.236 0.237 0.3 0.00
15 0.237 0.239 0.7 0.00
16 0.237 0.239 0.7 0.00
17 0.236 0.237 0.3 0.00
18 31.865 31.865 0.0 0.00
19 -18.338 -18.339 0.0 0.00
20 18.297 18.298 0.0 0.00
21 -0.046 -0.046 0.1 0.00
22 -0.046 -0.046 0.1 0.00
23 18.297 18.298 0.0 0.00
24 -18.338 -18.339 0.0 0.00
25 31.865 31.865 0.0 0.00
26 31.860 31.860 0.0 0.00
27 -17.801 -17.800 0.0 0.00
28 17.821 17.819 0.0 0.00
29 -0.073 -0.073 0.4 0.00
30 -0.073 -0.073 0.4 0.00
31 17.821 17.819 0.0 0.00
32 -17.801 -17.800 0.0 0.00
33 31.860 31.860 0.0 0.00
34 0.000 0.000 0.0 0.00
35 -0.054 -0.054 0.3 0.00
36 -0.039 -0.039 0.3 0.00
37 -0.054 -0.054 0.3 0.00
38 0.000 0.000 0.0 0.00
39 0.000 0.000 100.0 0.00
40 0.000 0.000 100.0 0.00
41 0.000 0.000 100.0 0.00
42 0.000 0.000 100.0 0.00
Grasshopper Toolset
A-3
Table 9: Structural Simulation Force Results with Errors, Verification Trial 3
SAP2000
(Nonlinear)
SAP2000
(Nonlinear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 -65.969 -65.922 0.1 0.05 40 6.502 6.487 0.2 0.02
2 -52.973 -52.925 0.1 0.05 41 -5.114 -5.132 0.4 0.02
3 -44.939 -44.890 0.1 0.05 42 -5.114 -5.132 0.4 0.02
4 -43.060 -43.012 0.1 0.05 43 6.502 6.487 0.2 0.02
5 -43.060 -43.012 0.1 0.05 44 -12.796 -12.809 0.1 0.01
6 -44.939 -44.890 0.1 0.05 45 6.829 6.819 0.1 0.01
7 -52.973 -52.925 0.1 0.05 46 -8.327 -8.335 0.1 0.01
8 -65.969 -65.922 0.1 0.05 47 0.667 0.660 1.0 0.01
9 -105.138 -105.239 0.1 0.10 48 1.330 1.326 0.3 0.00
10 -107.497 -107.591 0.1 0.09 49 -5.738 -5.742 0.1 0.00
11 -86.227 -86.316 0.1 0.09 50 -7.285 -7.283 0.0 0.00
12 -50.202 -50.283 0.2 0.08 51 2.836 2.827 0.3 0.01
13 -29.428 -29.506 0.3 0.08 52 -1.111 -1.115 0.3 0.00
14 -50.202 -50.283 0.2 0.08 53 -6.582 -6.593 0.2 0.01
15 -86.227 -86.316 0.1 0.09 54 5.612 5.605 0.1 0.01
16 -107.497 -107.591 0.1 0.09 55 -11.541 -11.557 0.1 0.02
17 -105.138 -105.239 0.1 0.10 56 5.704 5.689 0.3 0.01
18 -66.304 -66.253 0.1 0.05 57 -4.338 -4.357 0.4 0.02
19 -53.486 -53.433 0.1 0.05 58 -4.338 -4.357 0.4 0.02
20 -45.858 -45.807 0.1 0.05 59 5.704 5.689 0.3 0.01
21 -44.322 -44.271 0.1 0.05 60 -11.541 -11.557 0.1 0.02
22 -44.322 -44.271 0.1 0.05 61 5.612 5.605 0.1 0.01
23 -45.858 -45.807 0.1 0.05 62 -6.582 -6.593 0.2 0.01
24 -53.486 -53.433 0.1 0.05 63 -1.111 -1.115 0.3 0.00
25 -66.304 -66.253 0.1 0.05 64 2.836 2.827 0.3 0.01
26 -0.899 -0.894 0.5 0.00 65 -7.285 -7.283 0.0 0.00
27 1.641 1.639 0.1 0.00 66 0.000 0.000 0.0 0.00
28 -0.884 -0.883 0.1 0.00 67 -1.036 -1.033 0.3 0.00
29 0.854 0.855 0.1 0.00 68 0.316 0.325 2.7 0.01
30 0.854 0.855 0.1 0.00 69 2.700 2.712 0.5 0.01
31 -0.884 -0.883 0.1 0.00 70 3.745 3.760 0.4 0.02
32 1.641 1.639 0.1 0.00 71 2.700 2.712 0.5 0.01
33 -0.899 -0.894 0.5 0.00 72 0.316 0.325 2.7 0.01
34 -5.738 -5.742 0.1 0.00 73 -1.036 -1.033 0.3 0.00
35 1.330 1.326 0.3 0.00 74 0.000 0.000 0.0 0.00
36 0.667 0.660 1.0 0.01 75 0.000 0.000 0.0 0.00
37 -8.327 -8.335 0.1 0.01 76 0.000 0.000 0.0 0.00
38 6.829 6.819 0.1 0.01 77 0.000 0.000 0.0 0.00
39 -12.796 -12.809 0.1 0.01 78 0.000 0.000 0.0 0.00
Grasshopper Toolset Grasshopper Toolset
A-4
0
10
20
30
40
50
60
70
80
0.0 20.0 40.0 60.0 80.0 100.0
Frequency of Bars
Bar Percentage Error (%)
Bar Error Distribution for T rial 3, Nonlinear Analysis
Figure 64: Frequency Curve of Bar Error, Verification Trial 3
A-5
Table 10: Structural Simulation Force Results with Errors, Verification Trial 4
SAP2000
(Nonlinear)
SAP2000
(Nonlinear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 -50.736 -50.806 0.1 0.07 45 -11.774 -11.770 0.0 0.00
2 -48.413 -48.457 0.1 0.04 46 -4.876 -4.883 0.2 0.01
3 -44.324 -44.343 0.0 0.02 47 -9.508 -9.510 0.0 0.00
4 -41.387 -41.391 0.0 0.00 48 -7.896 -7.896 0.0 0.00
5 -38.471 -38.466 0.0 0.01 49 -7.307 -7.316 0.1 0.01
6 -35.809 -35.805 0.0 0.00 50 -11.182 -11.173 0.1 0.01
7 -34.189 -34.203 0.0 0.01 51 -4.931 -4.942 0.2 0.01
8 -33.538 -33.575 0.1 0.04 52 -13.590 -13.569 0.2 0.02
9 -32.887 -32.956 0.2 0.07 53 -3.227 -3.241 0.4 0.01
10 -160.559 -160.440 0.1 0.12 54 -15.154 -15.126 0.2 0.03
11 -130.461 -130.397 0.0 0.06 55 2.370 2.353 0.7 0.02
12 -107.131 -107.113 0.0 0.02 56 4.483 4.471 0.3 0.01
13 -87.446 -87.464 0.0 0.02 57 -13.186 -13.169 0.1 0.02
14 -73.035 -73.074 0.1 0.04 58 0.421 0.408 3.1 0.01
15 -65.788 -65.831 0.1 0.04 59 -12.850 -12.834 0.1 0.02
16 -67.275 -67.301 0.0 0.03 60 -0.634 -0.644 1.6 0.01
17 -77.790 -77.778 0.0 0.01 61 -12.376 -12.366 0.1 0.01
18 -96.027 -95.960 0.1 0.07 62 -2.657 -2.667 0.4 0.01
19 -125.832 -125.691 0.1 0.14 63 -11.080 -11.077 0.0 0.00
20 -53.987 -54.052 0.1 0.06 64 -4.915 -4.919 0.1 0.00
21 -50.810 -50.846 0.1 0.04 65 -9.438 -9.443 0.1 0.00
22 -46.231 -46.246 0.0 0.02 66 -8.222 -8.219 0.0 0.00
23 -42.544 -42.547 0.0 0.00 67 -6.974 -6.984 0.1 0.01
24 -38.990 -38.987 0.0 0.00 68 -11.543 -11.531 0.1 0.01
25 -35.526 -35.523 0.0 0.00 69 -4.609 -4.623 0.3 0.01
26 -33.196 -33.209 0.0 0.01 70 -14.703 -14.682 0.1 0.02
27 -31.909 -31.946 0.1 0.04 71 -2.036 -2.050 0.7 0.01
28 -30.579 -30.647 0.2 0.07 72 -16.818 -16.788 0.2 0.03
29 -0.526 -0.517 1.7 0.01 73 3.954 3.935 0.5 0.02
30 1.536 1.538 0.2 0.00 74 0.000 0.000 0.0 0.00
31 0.103 0.106 2.5 0.00 75 3.553 3.546 0.2 0.01
32 0.607 0.609 0.3 0.00 76 3.748 3.745 0.1 0.00
33 0.712 0.716 0.5 0.00 77 4.260 4.258 0.0 0.00
34 0.166 0.164 1.0 0.00 78 4.510 4.508 0.0 0.00
35 0.383 0.386 0.8 0.00 79 4.940 4.940 0.0 0.00
36 0.824 0.825 0.1 0.00 80 5.280 5.279 0.0 0.00
37 -0.693 -0.691 0.3 0.00 81 5.283 5.279 0.1 0.00
38 6.244 6.224 0.3 0.02 82 5.385 5.380 0.1 0.01
39 -15.112 -15.090 0.1 0.02 83 0.000 0.000 0.0 0.00
40 2.223 2.209 0.6 0.01 84 0.000 0.000 0.0 0.00
41 -14.516 -14.498 0.1 0.02 85 0.000 0.000 0.0 0.00
42 0.162 0.149 7.8 0.01 86 0.000 0.000 0.0 0.00
43 -13.266 -13.254 0.1 0.01 87 0.000 0.000 0.0 0.00
44 -1.894 -1.904 0.5 0.01
Grasshopper Toolset Grasshopper Toolset
A-6
0
10
20
30
40
50
60
70
80
0.0 20.0 40.0 60.0 80.0 100.0
Frequency of Bars
Bar Percentage Error (%)
Bar Error Distribution for T rial 4, Nonlinear Analysis
Figure 65: Frequency Curve of Bar Error, Verification Trial 4
A-7
Table 11: Structural Simulation Force Results with Errors, Verification Trial 5
SAP2000
(Nonlinear)
SAP2000
(Nonlinear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 231.186 231.194 0.0 0.0 57 97.325 97.327 0.0 0.0
2 191.408 191.410 0.0 0.0 58 102.742 102.738 0.0 0.0
3 62.140 62.126 0.0 0.0 59 -308.044 -308.043 0.0 0.0
4 290.001 289.992 0.0 0.0 60 420.785 420.788 0.0 0.0
5 161.941 161.928 0.0 0.0 61 354.711 354.711 0.0 0.0
6 -80.580 -80.587 0.0 0.0 62 -246.227 -246.225 0.0 0.0
7 37.333 37.331 0.0 0.0 63 6.437 6.432 0.1 0.0
8 -213.988 -213.981 0.0 0.0 64 77.696 77.693 0.0 0.0
9 -327.000 -326.993 0.0 0.0 65 37.085 37.087 0.0 0.0
10 -84.543 -84.527 0.0 0.0 66 -97.263 -97.268 0.0 0.0
11 262.632 262.644 0.0 0.0 67 47.055 47.058 0.0 0.0
12 118.091 118.094 0.0 0.0 68 72.847 72.849 0.0 0.0
13 -809.782 -809.790 0.0 0.0 69 -133.562 -133.574 0.0 0.0
14 -260.358 -260.362 0.0 0.0 70 94.551 94.562 0.0 0.0
15 -264.997 -265.002 0.0 0.0 71 -10.397 -10.402 0.0 0.0
16 -106.714 -106.703 0.0 0.0 72 -14.389 -14.391 0.0 0.0
17 -109.919 -109.908 0.0 0.0 73 0.000 0.000 0.0 0.0
18 31.246 31.259 0.0 0.0 74 18.697 18.697 0.0 0.0
19 31.262 31.276 0.0 0.0 75 -41.299 -41.300 0.0 0.0
20 -93.211 -93.201 0.0 0.0 76 -78.247 -78.243 0.0 0.0
21 -88.093 -88.084 0.0 0.0 77 -107.227 -107.223 0.0 0.0
22 -300.756 -300.764 0.0 0.0 78 -43.677 -43.678 0.0 0.0
23 -296.928 -296.936 0.0 0.0 79 9.963 9.963 0.0 0.0
24 -908.423 -908.435 0.0 0.0 80 2.155 2.157 0.1 0.0
25 110.337 110.344 0.0 0.0 81 -199.601 -199.596 0.0 0.0
26 123.170 123.177 0.0 0.0 82 -36.471 -36.468 0.0 0.0
27 -230.369 -230.356 0.0 0.0 83 39.724 39.724 0.0 0.0
28 -213.654 -213.642 0.0 0.0 84 -6.214 -6.214 0.0 0.0
29 -158.029 -158.031 0.0 0.0 85 0.000 0.000 0.0 0.0
30 -148.826 -148.828 0.0 0.0 86 0.000 0.000 0.0 0.0
31 77.979 77.967 0.0 0.0 87 -20.472 -20.472 0.0 0.0
32 72.860 72.848 0.0 0.0 88 -67.017 -67.018 0.0 0.0
33 148.313 148.301 0.0 0.0 89 -90.272 -90.272 0.0 0.0
34 130.611 130.598 0.0 0.0 90 -74.403 -74.396 0.0 0.0
35 158.758 158.762 0.0 0.0 91 -51.955 -51.953 0.0 0.0
36 144.419 144.423 0.0 0.0 92 2.904 2.905 0.0 0.0
37 -64.204 -64.208 0.0 0.0 93 33.137 33.136 0.0 0.0
38 -0.362 -0.360 0.7 0.0 94 41.096 41.092 0.0 0.0
39 157.679 157.682 0.0 0.0 95 -71.143 -71.147 0.0 0.0
40 -99.273 -99.276 0.0 0.0 96 73.694 73.695 0.0 0.0
41 -92.120 -92.114 0.0 0.0 97 -11.502 -11.502 0.0 0.0
42 196.566 196.564 0.0 0.0 98 0.000 0.000 0.0 0.0
43 -191.873 -191.870 0.0 0.0 99 0.000 0.000 0.0 0.0
44 60.553 60.546 0.0 0.0 100 -15.523 -15.523 0.0 0.0
45 176.921 176.929 0.0 0.0 101 72.799 72.801 0.0 0.0
46 -87.679 -87.680 0.0 0.0 102 -3.307 -3.308 0.0 0.0
47 -36.334 -36.337 0.0 0.0 103 35.652 35.648 0.0 0.0
48 108.099 108.106 0.0 0.0 104 21.223 21.224 0.0 0.0
49 15.216 15.216 0.0 0.0 105 3.897 3.899 0.0 0.0
50 -33.949 -33.955 0.0 0.0 106 -53.806 -53.803 0.0 0.0
51 140.195 140.207 0.0 0.0 107 -67.125 -67.118 0.0 0.0
52 -102.684 -102.690 0.0 0.0 108 -37.332 -37.332 0.0 0.0
53 67.145 67.145 0.0 0.0 109 -67.016 -67.019 0.0 0.0
54 47.108 47.111 0.0 0.0 110 -22.771 -22.771 0.0 0.0
55 -97.937 -97.940 0.0 0.0 111 0.000 0.000 0.0 0.0
56 11.709 11.711 0.0 0.0
Grasshopper Toolset Grasshopper Toolset
A-8
0
20
40
60
80
100
120
0.0 20.0 40.0 60.0 80.0 100.0
Frequency of Bars
Bar Percentage Error (%)
Bar Error Distribution for T rial 5, Nonlinear Analysis
Figure 66: Frequency Curve of Bar Error, Verification Trial 5
A-9
A.2 SAP2000 Linear Analysis Results
Table 12: Structural Simulation Force Results with Errors, Verification Trial 1
L
SAP2000
(Linear)
SAP2000
(Linear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 109.954 109.154 0.7 0.80 57 56.444 55.187 2.2 1.26
2 47.454 47.719 0.6 0.27 58 79.021 77.469 2.0 1.55
3 -1.157 0.303 126.1 1.46 59 101.599 99.805 1.8 1.79
4 -35.880 -33.728 6.0 2.15 60 124.176 122.800 1.1 1.38
5 -56.713 -54.021 4.7 2.69 61 124.176 122.396 1.4 1.78
6 -63.658 -60.839 4.4 2.82 62 101.599 99.988 1.6 1.61
7 -63.658 -60.839 4.4 2.82 63 79.021 77.395 2.1 1.63
8 -56.713 -54.021 4.7 2.69 64 56.444 55.122 2.3 1.32
9 -35.880 -33.728 6.0 2.15 65 33.866 33.057 2.4 0.81
10 -1.157 0.303 126.1 1.46 66 11.289 10.940 3.1 0.35
11 47.454 47.719 0.6 0.27 67 11.289 10.940 3.1 0.35
12 109.954 109.154 0.7 0.80 68 33.866 33.057 2.4 0.81
13 0.000 0.000 0.0 0.00 69 56.444 55.122 2.3 1.32
14 152.778 150.847 1.3 1.93 70 79.021 77.395 2.1 1.63
15 277.778 273.701 1.5 4.08 71 101.599 99.988 1.6 1.61
16 375.001 368.894 1.6 6.11 72 124.176 122.396 1.4 1.78
17 444.445 436.687 1.7 7.76 73 0.000 0.000 0.0 0.00
18 486.112 477.271 1.8 8.84 74 6.250 6.065 3.0 0.18
19 486.112 477.271 1.8 8.84 75 6.250 6.198 0.8 0.05
20 444.445 436.687 1.7 7.76 76 6.250 6.254 0.1 0.00
21 375.001 368.894 1.6 6.11 77 6.250 6.206 0.7 0.04
22 277.778 273.701 1.5 4.08 78 6.250 6.211 0.6 0.04
23 152.778 150.847 1.3 1.93 79 6.250 6.177 1.2 0.07
24 0.000 0.000 0.0 0.00 80 6.250 6.211 0.6 0.04
25 109.954 109.466 0.4 0.49 81 6.250 6.206 0.7 0.04
26 47.454 47.936 1.0 0.48 82 6.250 6.254 0.1 0.00
27 -1.157 0.251 121.7 1.41 83 6.250 6.198 0.8 0.05
28 -35.880 -33.955 5.4 1.93 84 6.250 6.065 3.0 0.18
29 -56.713 -54.356 4.2 2.36 85 0.000 0.000 0.0 0.00
30 -63.658 -61.206 3.9 2.45 86 0.000 0.000 0.0 0.00
31 -63.658 -61.206 3.9 2.45 87 -97.900 -96.277 1.7 1.62
32 -56.713 -54.356 4.2 2.36 88 -80.100 -78.766 1.7 1.33
33 -35.880 -33.955 5.4 1.93 89 -62.300 -61.263 1.7 1.04
34 -1.157 0.251 121.7 1.41 90 -44.500 -43.877 1.4 0.62
35 47.454 47.936 1.0 0.48 91 -26.700 -26.582 0.4 0.12
36 109.954 109.466 0.4 0.49 92 -17.800 -17.978 1.0 0.18
37 0.000 0.304 0.30 93 -26.700 -26.582 0.4 0.12
38 0.000 0.281 0.28 94 -44.500 -43.877 1.4 0.62
39 0.000 -0.140 0.14 95 -62.300 -61.263 1.7 1.04
40 0.000 0.150 0.15 96 -80.100 -78.766 1.7 1.33
41 0.000 0.069 0.07 97 -97.900 -96.277 1.7 1.62
42 0.000 0.185 0.18 98 0.000 0.000 0.0 0.00
43 0.000 0.185 0.18 99 0.000 0.000 0.0 0.00
44 0.000 0.069 0.07 100 -97.900 -96.574 1.4 1.33
45 0.000 0.150 0.15 101 -80.100 -78.682 1.8 1.42
46 0.000 -0.140 0.14 102 -62.300 -61.223 1.7 1.08
47 0.000 0.281 0.28 103 -44.500 -43.900 1.3 0.60
48 0.000 0.304 0.30 104 -26.700 -26.580 0.5 0.12
49 124.176 122.800 1.1 1.38 105 -17.800 -17.905 0.6 0.11
50 101.599 99.805 1.8 1.79 106 -26.700 -26.580 0.5 0.12
51 79.021 77.469 2.0 1.55 107 -44.500 -43.900 1.3 0.60
52 56.444 55.187 2.2 1.26 108 -62.300 -61.223 1.7 1.08
53 33.866 32.979 2.6 0.89 109 -80.100 -78.682 1.8 1.42
54 11.289 11.027 2.3 0.26 110 -97.900 -96.574 1.4 1.33
55 11.289 11.027 2.3 0.26 111 0.000 0.000 0.0 0.00
56 33.866 32.979 2.6 0.89
Grasshopper Toolset Grasshopper Toolset
A-10
Table 13: Structural Simulation Force Results with
Errors, Verification Trial 2
L
SAP2000
(Linear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 14.063 14.267 1.4 0.20
2 -14.063 -13.766 2.1 0.30
3 -14.063 -13.766 2.1 0.30
4 14.063 14.267 1.4 0.20
5 0.000 0.000 0.0 0.00
6 77.344 76.283 1.4 1.06
7 105.469 103.905 1.5 1.56
8 77.344 76.283 1.4 1.06
9 0.000 0.000 0.0 0.00
10 14.063 14.023 0.3 0.04
11 -14.062 -13.229 5.9 0.83
12 -14.063 -13.229 5.9 0.83
13 14.062 14.023 0.3 0.04
14 0.000 0.237 0.24
15 0.000 0.239 0.24
16 0.000 0.239 0.24
17 0.000 0.237 0.24
18 32.191 31.865 1.0 0.33
19 -18.395 -18.339 0.3 0.06
20 18.395 18.298 0.5 0.10
21 0.000 -0.046 0.05
22 0.000 -0.046 0.05
23 18.395 18.298 0.5 0.10
24 -18.395 -18.339 0.3 0.06
25 32.191 31.865 1.0 0.33
26 32.191 31.860 1.0 0.33
27 -18.395 -17.800 3.2 0.60
28 18.395 17.819 3.1 0.58
29 0.000 -0.073 0.07
30 0.000 -0.073 0.07
31 18.395 17.819 3.1 0.58
32 -18.395 -17.800 3.2 0.60
33 32.191 31.860 1.0 0.33
34 0.000 0.000 0.0 0.00
35 0.000 -0.054 0.0 0.05
36 0.000 -0.039 0.04
37 0.000 -0.054 0.05
38 0.000 0.000 0.0 0.00
39 0.000 0.000 0.0 0.00
40 0.000 0.000 0.0 0.00
41 0.000 0.000 0.0 0.00
42 0.000 0.000 0.0 0.00
Grasshopper Toolset
A-11
Table 14: Structural Simulation Force Results with Errors, Verification Trial 3
L
SAP2000
(Linear)
SAP2000
(Linear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 -65.781 -65.922 0.2 0.14 40 6.325 6.487 2.6 0.16
2 -52.868 -52.925 0.1 0.06 41 -4.978 -5.132 3.1 0.15
3 -44.925 -44.890 0.1 0.03 42 -4.978 -5.132 3.1 0.15
4 -42.869 -43.012 0.3 0.14 43 6.325 6.487 2.6 0.16
5 -42.869 -43.012 0.3 0.14 44 -12.690 -12.809 0.9 0.12
6 -44.925 -44.890 0.1 0.03 45 6.790 6.819 0.4 0.03
7 -52.868 -52.925 0.1 0.06 46 -8.156 -8.335 2.2 0.18
8 -65.781 -65.922 0.2 0.14 47 0.612 0.660 7.9 0.05
9 -104.985 -105.239 0.2 0.25 48 1.126 1.326 17.8 0.20
10 -107.098 -107.591 0.5 0.49 49 -5.551 -5.742 3.4 0.19
11 -85.885 -86.316 0.5 0.43 50 -7.266 -7.283 0.2 0.02
12 -50.090 -50.283 0.4 0.19 51 2.842 2.827 0.5 0.01
13 -29.409 -29.506 0.3 0.10 52 -0.978 -1.115 14.0 0.14
14 -50.090 -50.283 0.4 0.19 53 -6.564 -6.593 0.4 0.03
15 -85.885 -86.316 0.5 0.43 54 5.498 5.605 1.9 0.11
16 -107.098 -107.591 0.5 0.49 55 -11.396 -11.557 1.4 0.16
17 -104.985 -105.239 0.2 0.25 56 5.765 5.689 1.3 0.08
18 -66.357 -66.253 0.2 0.10 57 -4.417 -4.357 1.4 0.06
19 -53.605 -53.433 0.3 0.17 58 -4.417 -4.357 1.4 0.06
20 -45.894 -45.807 0.2 0.09 59 5.765 5.689 1.3 0.08
21 -44.076 -44.271 0.4 0.19 60 -11.396 -11.557 1.4 0.16
22 -44.076 -44.271 0.4 0.19 61 5.498 5.605 1.9 0.11
23 -45.894 -45.807 0.2 0.09 62 -6.564 -6.593 0.4 0.03
24 -53.605 -53.433 0.3 0.17 63 -0.978 -1.115 14.0 0.14
25 -66.357 -66.253 0.2 0.10 64 2.842 2.827 0.5 0.01
26 -1.308 -0.894 31.6 0.41 65 -7.266 -7.283 0.2 0.02
27 1.228 1.639 33.5 0.41 66 0.000 0.000 0.0 0.00
28 -1.021 -0.883 13.5 0.14 67 -0.771 -1.033 33.9 0.26
29 0.456 0.855 87.5 0.40 68 0.466 0.325 30.3 0.14
30 0.456 0.855 87.5 0.40 69 2.813 2.712 3.6 0.10
31 -1.021 -0.883 13.5 0.14 70 3.937 3.760 4.5 0.18
32 1.228 1.639 33.5 0.41 71 2.813 2.712 3.6 0.10
33 -1.308 -0.894 31.6 0.41 72 0.466 0.325 30.3 0.14
34 -5.551 -5.742 3.4 0.19 73 -0.771 -1.033 33.9 0.26
35 1.126 1.326 17.8 0.20 74 0.000 0.000 0.0 0.00
36 0.612 0.660 7.9 0.05 75 0.000 0.000 0.0 0.00
37 -8.156 -8.335 2.2 0.18 76 0.000 0.000 0.0 0.00
38 6.790 6.819 0.4 0.03 77 0.000 0.000 0.0 0.00
39 -12.690 -12.809 0.9 0.12 78 0.000 0.000 0.0 0.00
Grasshopper Toolset Grasshopper Toolset
A-12
Table 15: Structural Simulation Force Results with Errors, Verification Trial 4
L
SAP2000
(Linear)
SAP2000
(Linear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 -50.843 -50.806 0.1 0.04 45 -11.660 -11.770 0.9 0.11
2 -48.271 -48.457 0.4 0.19 46 -4.753 -4.883 2.7 0.13
3 -44.271 -44.343 0.2 0.07 47 -9.567 -9.510 0.6 0.06
4 -41.226 -41.391 0.4 0.16 48 -7.923 -7.896 0.3 0.03
5 -38.346 -38.466 0.3 0.12 49 -7.207 -7.316 1.5 0.11
6 -35.714 -35.805 0.3 0.09 50 -11.091 -11.173 0.7 0.08
7 -34.105 -34.203 0.3 0.10 51 -4.962 -4.942 0.4 0.02
8 -33.463 -33.575 0.3 0.11 52 -13.630 -13.569 0.4 0.06
9 -32.789 -32.956 0.5 0.17 53 -3.065 -3.241 5.7 0.18
10 -159.580 -160.440 0.5 0.86 54 -15.180 -15.126 0.4 0.05
11 -129.817 -130.397 0.4 0.58 55 2.391 2.353 1.6 0.04
12 -106.633 -107.113 0.5 0.48 56 4.280 4.471 4.5 0.19
13 -87.044 -87.464 0.5 0.42 57 -13.110 -13.169 0.5 0.06
14 -72.650 -73.074 0.6 0.42 58 0.584 0.408 30.1 0.18
15 -65.377 -65.831 0.7 0.45 59 -12.902 -12.834 0.5 0.07
16 -66.834 -67.301 0.7 0.47 60 -0.724 -0.644 11.0 0.08
17 -77.340 -77.778 0.6 0.44 61 -12.303 -12.366 0.5 0.06
18 -95.618 -95.960 0.4 0.34 62 -2.523 -2.667 5.7 0.14
19 -125.476 -125.691 0.2 0.22 63 -11.148 -11.077 0.6 0.07
20 -53.807 -54.052 0.5 0.24 64 -4.975 -4.919 1.1 0.06
21 -50.632 -50.846 0.4 0.21 65 -9.345 -9.443 1.0 0.10
22 -46.016 -46.246 0.5 0.23 66 -8.106 -8.219 1.4 0.11
23 -42.331 -42.547 0.5 0.22 67 -7.024 -6.984 0.6 0.04
24 -38.781 -38.987 0.5 0.21 68 -11.547 -11.531 0.1 0.02
25 -35.459 -35.523 0.2 0.06 69 -4.506 -4.623 2.6 0.12
26 -33.176 -33.209 0.1 0.03 70 -14.604 -14.682 0.5 0.08
27 -31.908 -31.946 0.1 0.04 71 -2.092 -2.050 2.0 0.04
28 -30.658 -30.647 0.0 0.01 72 -16.785 -16.788 0.0 0.00
29 -1.195 -0.517 56.7 0.68 73 3.996 3.935 1.5 0.06
30 0.803 1.538 91.6 0.74 74 0.000 0.000 0.0 0.00
31 -0.409 0.106 125.8 0.51 75 3.770 3.546 5.9 0.22
32 0.052 0.609 1070.9 0.56 76 3.951 3.745 5.2 0.21
33 0.192 0.716 272.7 0.52 77 4.424 4.258 3.7 0.17
34 -0.226 0.164 172.7 0.39 78 4.677 4.508 3.6 0.17
35 -0.005 0.386 7726.4 0.39 79 5.076 4.940 2.7 0.14
36 0.441 0.825 87.1 0.38 80 5.390 5.279 2.1 0.11
37 -0.967 -0.691 28.5 0.28 81 5.394 5.279 2.1 0.11
38 6.176 6.224 0.8 0.05 82 5.475 5.380 1.7 0.10
39 -15.006 -15.090 0.6 0.08 83 0.000 0.000 0.0 0.00
40 2.001 2.209 10.4 0.21 84 0.000 0.000 0.0 0.00
41 -14.320 -14.498 1.2 0.18 85 0.000 0.000 0.0 0.00
42 0.217 0.149 31.1 0.07 86 0.000 0.000 0.0 0.00
43 -13.244 -13.254 0.1 0.01 87 0.000 0.000 0.0 0.00
44 -2.010 -1.904 5.3 0.11
Grasshopper Toolset Grasshopper Toolset
A-13
Table 16: Structural Simulation Force Results with Errors, Verification Trial 5
L
SAP2000
(Linear)
SAP2000
(Linear)
Bar # Forces (kip) Forces (kip) Error (%) Error (kip) Bar # Forces (kip) Forces (kip) Error (%) Error (kip)
1 222.171 231.194 4.1 9.0 57 91.812 97.327 6.0 5.5
2 185.791 191.410 3.0 5.6 58 97.697 102.738 5.2 5.0
3 59.784 62.126 3.9 2.3 59 -300.969 -308.043 2.4 7.1
4 284.267 289.992 2.0 5.7 60 406.817 420.788 3.4 14.0
5 157.274 161.928 3.0 4.7 61 347.354 354.711 2.1 7.4
6 -79.676 -80.587 1.1 0.9 62 -243.645 -246.225 1.1 2.6
7 33.940 37.331 10.0 3.4 63 7.622 6.432 15.6 1.2
8 -211.382 -213.981 1.2 2.6 64 75.094 77.693 3.5 2.6
9 -320.531 -326.993 2.0 6.5 65 35.198 37.087 5.4 1.9
10 -81.886 -84.527 3.2 2.6 66 -93.597 -97.268 3.9 3.7
11 254.599 262.644 3.2 8.0 67 45.586 47.058 3.2 1.5
12 121.145 118.094 2.5 3.1 68 75.204 72.849 3.1 2.4
13 -803.591 -809.790 0.8 6.2 69 -131.532 -133.574 1.6 2.0
14 -259.006 -260.362 0.5 1.4 70 94.234 94.562 0.3 0.3
15 -263.576 -265.002 0.5 1.4 71 -13.210 -10.402 21.3 2.8
16 -105.234 -106.703 1.4 1.5 72 -2.430 -14.391 492.2 12.0
17 -108.336 -109.908 1.5 1.6 73 0.000 0.000 0.0 0.0
18 30.657 31.259 2.0 0.6 74 19.096 18.697 2.1 0.4
19 30.673 31.276 2.0 0.6 75 -39.874 -41.300 3.6 1.4
20 -91.721 -93.201 1.6 1.5 76 -76.180 -78.243 2.7 2.1
21 -86.756 -88.084 1.5 1.3 77 -103.807 -107.223 3.3 3.4
22 -297.549 -300.764 1.1 3.2 78 -41.754 -43.678 4.6 1.9
23 -293.739 -296.936 1.1 3.2 79 10.531 9.963 5.4 0.6
24 -899.951 -908.435 0.9 8.5 80 2.135 2.157 1.0 0.0
25 112.740 110.344 2.1 2.4 81 -192.987 -199.596 3.4 6.6
26 125.608 123.177 1.9 2.4 82 -36.873 -36.468 1.1 0.4
27 -227.106 -230.356 1.4 3.2 83 39.690 39.724 0.1 0.0
28 -210.574 -213.642 1.5 3.1 84 -5.706 -6.214 8.9 0.5
29 -154.884 -158.031 2.0 3.1 85 0.000 0.000 0.0 0.0
30 -145.602 -148.828 2.2 3.2 86 0.000 0.000 0.0 0.0
31 77.763 77.967 0.3 0.2 87 -19.267 -20.472 6.3 1.2
32 72.666 72.848 0.2 0.2 88 -65.578 -67.018 2.2 1.4
33 149.697 148.301 0.9 1.4 89 -88.356 -90.272 2.2 1.9
34 131.721 130.598 0.9 1.1 90 -73.319 -74.396 1.5 1.1
35 155.205 158.762 2.3 3.6 91 -50.260 -51.953 3.4 1.7
36 140.816 144.423 2.6 3.6 92 2.858 2.905 1.6 0.0
37 -62.724 -64.208 2.4 1.5 93 33.637 33.136 1.5 0.5
38 -2.741 -0.360 86.9 2.4 94 40.483 41.092 1.5 0.6
39 155.679 157.682 1.3 2.0 95 -66.278 -71.147 7.3 4.9
40 -96.717 -99.276 2.6 2.6 96 72.179 73.695 2.1 1.5
41 -90.791 -92.114 1.5 1.3 97 -10.717 -11.502 7.3 0.8
42 191.202 196.564 2.8 5.4 98 0.000 0.000 0.0 0.0
43 -188.561 -191.870 1.8 3.3 99 0.000 0.000 0.0 0.0
44 57.825 60.546 4.7 2.7 100 -15.502 -15.523 0.1 0.0
45 169.068 176.929 4.6 7.9 101 71.593 72.801 1.7 1.2
46 -91.566 -87.680 4.2 3.9 102 -3.091 -3.308 7.0 0.2
47 -32.219 -36.337 12.8 4.1 103 35.227 35.648 1.2 0.4
48 99.996 108.106 8.1 8.1 104 20.110 21.224 5.5 1.1
49 20.562 15.216 26.0 5.3 105 3.833 3.899 1.7 0.1
50 -33.033 -33.955 2.8 0.9 106 -53.883 -53.803 0.1 0.1
51 137.216 140.207 2.2 3.0 107 -66.038 -67.118 1.6 1.1
52 -101.922 -102.690 0.8 0.8 108 -36.956 -37.332 1.0 0.4
53 67.503 67.145 0.5 0.4 109 -65.214 -67.019 2.8 1.8
54 44.488 47.111 5.9 2.6 110 -22.380 -22.771 1.7 0.4
55 -95.277 -97.940 2.8 2.7 111 0.000 0.000 0.0 0.0
56 7.809 11.711 50.0 3.9
Grasshopper Toolset Grasshopper Toolset
B-1
B APPENDIX B: OPTIMIZATION CASE STUDIES
B.1 Case Study 1
Figure 67: Case Study 1, Galapagos Results, Generation 0
B-2
Figure 68: Case Study 1, Galapagos Results, Generation 1
Figure 69: Case Study 1, High Fitness Solution (Generation 1)
B-3
Figure 70: Case Study 1, Galapagos Results, Generation 2
Figure 71: Case Study 1, High Fitness Solution (Generation 2)
B-4
Figure 72: Case Study 1, Galapagos Results, Generation 3
Figure 73: Case Study 1, High Fitness Solution (Generation 3)
B-5
Figure 74: Case Study 1, Galapagos Results, Generation 5
Figure 75: Case Study 1, Galapagos Results, Generation 10
B-6
B.2 Case Study 2
Figure 76: Case Study 2, Galapagos Results, Generation 0
B-7
Figure 77: Case Study 2, Galapagos Results, Generation 1
Figure 78: Case Study 2, High Fitness Solution (Generation 1)
B-8
Figure 79: Case Study 2, Galapagos Results, Generation 2
Figure 80: Case Study 2, High Fitness Solution (Generation 2)
B-9
Figure 81: Case Study 2, Galapagos Results, Generation 4
Figure 82: Case Study 2, High Fitness Solution (Generation 4)
B-10
Figure 83: Case Study 2, Galapagos Results, Generation 7
Figure 84: Case Study 2, High Fitness Solution (Generation 7)
B-11
Figure 85: Case Study 2, Galapagos Results, Generation 8
Figure 86: Case Study 2, High Fitness Solution (Generation 8)
B-12
Figure 87: Case Study 2, Galapagos Results, Generation 10
Figure 88: Case Study 2, High Fitness Solution (Generation 10)
B-13
Figure 89: Case Study 2, Galapagos Results, Generation 11
Figure 90: Case Study 2, High Fitness Solution (Generation 11)
B-14
Figure 91: Case Study 2, Galapagos Results, Generation 12
Figure 92: Case Study 2, High Fitness Solution (Generation 12)
B-15
Figure 93: Case Study 2, Galapagos Results, Generation 13
Figure 94: Case Study 2, High Fitness Solution (Generation 13)
B-16
Figure 95: Case Study 2, Galapagos Results, Generation 15
Figure 96: Case Study 2, High Fitness Solution (Generation 15)
B-17
Figure 97: Case Study 2, Galapagos Results, Generation 16
Figure 98: Case Study 2, High Fitness Solution (Generation 16)
B-18
Figure 99: Case Study 2, Galapagos Results, Generation 17
Figure 100: Case Study 2, High Fitness Solution (Generation 17)
B-19
Figure 101: Case Study 2, Galapagos Results, Generation 19
Figure 102: Case Study 2, High Fitness Solution (Generation 19)
B-20
Figure 103: Case Study 2, Galapagos Results, Generation 22
Figure 104: Case Study 2, High Fitness Solution (Generation 22)
B-21
Figure 105: Case Study 2, Galapagos Results, Generation 23
Figure 106: Case Study 2, High Fitness Solution (Generation 23)
B-22
Figure 107: Case Study 2, Galapagos Results, Generation 24
Figure 108: Case Study 2, High Fitness Solution (Generation 24)
Abstract (if available)
Abstract
This thesis describes the development, testing, and findings of a Rhino-Grasshopper toolset developed to encourage real-time parametric design form experimentation through immediate integrated structural analysis feedback, allowing for structural optimization through iterative formal experimentation. The performance-driven design toolset is a series of automated components that create geometry and simulate, analyze, and optimize triangular prismatic trusses in real-time for two main structural loading types: gravity and wind. Each element is constructed, loaded, and simulated within the Rhino-Grasshopper design interface, returning structural performance information infographically in a native design environment. An optimization-assist tool is included that provides designer-centric information about proposed truss solutions such as cost, weight, deflection, and truss complexity. In a series of trials of increasing design complexity, the toolset is tested and its accuracy is verified against benchmark structural engineering industry software SAP2000. This thesis argues that, equipped with immediate structural performance information, designers can iteratively improve their architectural form and better understand the impact of form on structural performance, while still in conceptual design. Architects will produce more efficient, structurally informed designs when using this toolset over traditional conceptual design tools.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Designing‐in performance: energy simulation feedback for early stage design decision making
PDF
Changing space and sound: parametric design and variable acoustics
PDF
Performative shading design: parametric based measurement of shading system configuration effectiveness and trends
PDF
Structural glass facades: a unique building technology
PDF
Daylight prediction: an evaluation of daylighting simulation software for four cases
PDF
Design proposal and analysis of curved brace system to reduce drift in moment frame structures
PDF
Simplified acoustic simulation - Rutabaga Acoustics: a Grasshopper plug-in for Rhino
PDF
Effective light shelf and form finding: development of a light shelf design assistant tool using parametric methods
PDF
Energy efficient buildings: a method of probabilistic risk assessment using building energy simulation
PDF
ctrl+z: exploring the effects of undoing retrofits to pre-war buildings in Los Angeles
PDF
Bridging the gap: a tool to support bim data transparency for interoperability with building energy performance software
PDF
The acoustic performance of double-skin facades: a design support tool for architects
PDF
Environmentally responsive buildings: multi-objective optimization workflow for daylight and thermal quality
PDF
External bracing of existing buildings to reduce drift under lateral load
PDF
Comparative evaluation of lighting design software programs for daylighting in buildings
PDF
Decision support systems for adaptive experimental design of autonomous, off-road ground vehicles
PDF
A parametric study of the thermal performance of green roofs in different climates through energy modeling
PDF
Green facades: development of a taxonomy tool to assist design
PDF
The intelligent control strategy of kinetic façades for daylight and energy performance: evaluating the daylight effect of adaptive systems based on parametric workflow
PDF
Tilted glazing: angle-dependence of direct solar heat gain and form-refining of complex facades
Asset Metadata
Creator
Makris, Michael Patrick
(author)
Core Title
Structural design tool for performative building elements: a semi-automated Grasshopper plugin for design decision support of complex trusses
School
School of Architecture
Degree
Master of Building Science
Degree Program
Building Science
Publication Date
07/30/2013
Defense Date
06/29/2013
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
design decision support,grasshopper,OAI-PMH Harvest,optimization,parametric architecture,parametric design,structural analysis,structural design
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Carlson, Anders (
committee chair
), Gerber, David J. (
committee member
), Noble, Douglas (
committee member
)
Creator Email
makris@usc.edu,mpmakris@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-305175
Unique identifier
UC11293864
Identifier
etd-MakrisMich-1885.pdf (filename),usctheses-c3-305175 (legacy record id)
Legacy Identifier
etd-MakrisMich-1885.pdf
Dmrecord
305175
Document Type
Thesis
Format
application/pdf (imt)
Rights
Makris, Michael Patrick
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
design decision support
grasshopper
optimization
parametric architecture
parametric design
structural analysis
structural design