picture of Chalice Pavilion by Ryan Daley

Chalice Pavilion

Structural Optimization using Evolutionary Solvers



The goal was to design a 2-Story concrete structure that is supported by columns designed as shells, and to opimize the structural design through Finite Element Analysis, Dynamic Relaxation, and an Evolutionary Solver. This structure was imagined to be realized in a similar manner to the Stuttgart 21 Train Station designed by Frei Otto.

After a form finding exploration process, chalice shaped columns were ultimately settled upon. These are effective at reducing punching shear on the roof slab, but they also redistribute lateral loads effectively through their funicular shape. With this general morphology, it became a matter of decerning the optimal shape, angle, placement, and cross section.

To optimize the structure, this project employs a feeback loop between three programs: Kangaroo for Dynamic Relaxation, Karawmba for Finite Element Analysis, and Galapagos for Evolutionary Solver. This feedback loop required several iterations to determine all the final metrics. This is because not all of the boundary conditions were determined by the designer, and were instead allowed to be emergent.

column angle animation


Optimizing Column Angle

Next, we explored column placement and angle. The column placement was analyzed using Karamba and Galapagos; the fitness was minimizing the deformation in the roof slab. With only an evenly distributed gravity load, Galapagos produced columns in a symmetrical angular formation.


Form Finding

Given this column placement, we created relaxed chalice shape column forms using Kangaroo as a form finding mechanism. The stick columns were rationalized as a basic mesh to define the boundary conditions. This basic mesh underwent a refinement and dynamix relaxation to become to final curvilinear form. The result is a minimal surface, with inherent structural stability. The shape has equal principal curvature, in both directions, at any point on the surface. Thus, the geometry is in equilibrium.

There still necessitated a way to size column diameters. The team looked at the max deformation in the slab in relationship to the span. This was analyzed using Finite Element Analysis in Karamba3D. Given that the deformation should be less than 1/250 of the span, the team was able to increase the span to 9m and decrease the radius of the columns. This offers material savings, and it also produces more usable space below. The bottom radius was determined based on performance in lateral loading conditions. The radius was again minimized while still maintaining deflection criteria.



Karamba Analysis

Four different analysis were used: principal stress, cross section, displacement, and Van Mises Stress. These four analysis were used as performance criteria for different evolutionary solver iterations. Galapagos was tasked with iteratively trying different inputs for a given metric, such as column diamenter, and minimizing a given performance criteria, such as Displacement. We analyzed different metrics such as tightness of surface curvature, and made sure to minimize Principal Stress, Cross Section, Displacement, and Van Mises Stress. In this way, there were 12 different geometric metrics that were analyzed against these 4 performance criteria, and the chosen design was the best average performance.

principal stress


Cross Section Optimization

Lastly the cross section was optimized. The shell was given a variable thickness that responds to the concentatrion of forces in the structure. The cross section becomes thicker at localities of higher force conentration, and thinner where possible. This variable material allocation offers large material savings.

To accomplish this, the team used a feedback loop between Karamba and Galapagos. This produced a variable cross section with the thickest cross section, as predicted, at the connection of the cantilever to the column. This is the location of the highest shear and bending moment. The thinnest cross section is at the tip of the cantilever.

cross section optimization