The Karamba plug-in
Linking Structure and Parametric Geometry
below: Straight aluminium rods of uniform length, arranged in a seemingly random fashion, form the load-bearing structure of the Salzburg Biennale music pavilion.
The Karamba plug-in developed by Clemens Preisinger in collaboration with Bollinger + Grohmann Engineers has been developed to predict the behaviour of structures under external loads. Intended to be used by architects rather than being solely confined to an engineering setting, it enables a seamless flow of data between structural and geometric models. Preisinger here describes the program’s evolution and application.
top right The irregular layout of truss diagonals emerged from a genetic algorithm that optimised for structural performance and efficiency of material. bottom right: Parameterisation strategy for the White Noise music pavilion. Member connectivity and thus structural performance depend only on the angles of the members with respect to a given reference surface.
Karamba is a finite element (FE) program for predicting the behavior of structures under external loads. Though developed in a structural engineering firm, its main focus does not lie in this field. It is geared towards use within an interactive, parametric architectural design environment.
One of the goals was to create a fast, lightweight tool that facilitates a seamless flow of data between structural and geometric models. The origins of the Karamba plug-in for Robert McNeel & Associates’ Grasshopper® date back to a research project entitled Algorithmic Generation of Complex Space Frames,1 carried out at the University of Applied Arts Vienna in collaboration with Bollinger + Grohmann Engineers.
The project focused on the viability of applying genetic algorithms (GAs) to the structural optimisation of real-world structures.2 GAs rely on a large number of evaluations of the function to be optimised – in the case of structural assessment these are FE calculations.
Karamba components add physical meaning to a parametric geometry setup.
It was found that the main impediment for scaling up the optimisation tasks was the time spent on the recurrent computation of the statical models, which amounted to days in some instances. This motivated the implementation of a custom FE code which now forms a large part of the calculation core of Karamba.
The parallelisation of time-consuming calculation steps, a fast and extensive interface to scripting languages, and results calculation on demand, have led to a reduction of computation time of two to three orders of magnitude compared with using off-the-shelf FE programs.
bottom: A close inspection of the music pavilion reveals its underlying structural principle: beams in parallel planes connect to each other via circular studs depending on their relative position.
The Skylink bridge links Frankfurt Airport with a 300-metre (984-feet) distant car park. The work of Lengfeld & Wilisch with Bollinger + Grohmann Engineers, it is a trussed bridge with the diagonal elements placed by the Karamba design tool.3 The four longitudinal girders at the corners of the bridge are fixed.
Two sets of connecting elements join the main girders: one set encloses the top, and the other encloses the bottom, resulting in the box-like truss. Along the sides of the bridge, the diagonal elements run in different planes so that complex, costly connections are avoided. The parameterisation used consisted of joining predefined poly-lines with sets of diagonals whose position was subject to optimisation.
Maximum displacement and mass of steel served as measures for ranking the solutions in the GA optimisation procedure. The number of variables to be optimised amounted to about 400, which made it a very large-scale problem for a GA approach. Roughly 200,000 variants of truss layouts were tested before arriving at the final result.
Left to right: principal stress lines; colour plot of material utilisation; force flow lines; displaced structure with colour plot of principal stresses.
The solution performs similar to a regular truss with respect to total mass and maximum deflection. Although the truss layout arrived at is probably not the global optimum, it certainly provides a useful alternative to conventional, regular geometries.
During the research project at the University of Applied Arts Vienna, the design of a user interface for the program package played a very minor role. However, in the day-to-day work of the design office at Bollinger + Grohmann Engineers, the necessary coding of geometric parameterisations as scripts proved cumbersome and reduced the range of possible users to a small circle of scripting experts.
To solve this problem, the program was ported into existing software that offered an interactive, generative modelling environment. Grasshopper allows the integration of custom plug-ins that can then make use of the program’s graphical user interface elements and thus interact with other plug-ins in a well-defined way. This led to the first public version of the Karamba plug-in.