1. Introduction
Since the late 1980s and 1990s there has been a paradigm shift in architecture, characterized by a new building design approach in which variable and adaptive forms are preferred to the traditional simple repetition of rigid forms.
These new requirements, and not the other way around, have led to the development of algorithmic generative modeling techniques that fulfill this task more efficiently than explicit modeling techniques. Furthermore, design heuristics and analysis have become closely bound together in order to include performance optimization towards results (Schumacher [6]).
Although there are already parametric tools for structural analysis that are being successfully implemented in the design process, such as the plugin Karamba3D for Grasshopper (Preisinger [4]), they usually do not provide a result as robust as commercial FEM software; therefore, reanalysis with commercial FEM software is still necessary.
For these reasons, a new Grasshopper plugin has been developed by the author in collaboration with Bollinger + Grohmann in order to generate an effective parametric interface for commercial FEM software RFEM 5. This plugin is called the Parametric FEM Toolbox (Apellániz [1]).
2. Workflow
It is possible to start a new RFEM application with the API, but the Toolbox is compiled in a way that there must be a running RFEM model to interact with. This section describes the workflows that are possible with the Toolbox depending on whether data are transferred from Grasshopper to RFEM, in the opposite direction, or they involve additional functionalities.
2.1. Workflow from Grasshopper to RFEM
Most Toolbox components refer to a particular RFEM object. Figure 3 shows the process to define a member object inside Grasshopper and export it to RFEM. Most of the object components require as input Grasshopper geometries and some basic information, such as cross-section number, in this case.
More advanced optional input parameters such as member type, hinges, and so on can be displayed through an extensible menu. The object is created inside Grasshopper, so no connection with RFEM is required at this step. Its properties can be displayed inside Grasshopper panels and they can be internalized inside RFEM parameters.
In order to export data to RFEM, it is necessary to plug these objects into a “Set Data” component and set the “Run” parameter to true. The advantage of using an explicit component for the export process is the fact that this relatively more computationally expensive process of exporting objects to RFEM is grouped in a single step.
The outputs of the “Set Data” component are the same objects, but with additional information about the index that RFEM has automatically assigned to them, which can be very useful for modifying these objects in later steps, applying loads to them, and so on.
2.2. Workflow from RFEM to Grasshopper
Similarly, data can be imported from Grasshopper to RFEM through the “Get Data” component by just specifying which kinds of objects shall be imported. In case not all existing objects of a certain type should be imported, the user can use filter components with several available parameters in order to specify the exact objects to be imported and thus reduce the required execution time.
The imported objects can be analyzed with the same object components but in “disassemble” mode, so instead of creating an RFEM object from certain input parameters, the object properties are obtained from a certain input object. It is also possible to convert RFEM objects directly into Grasshopper geometry by casting them into Grasshopper containers. This workflow will be further explored in Sections 3.3 and 3.5.
It is also possible to import calculation results from RFEM into Grasshopper through the “Calculation Results” and the “Optimize Cross-Sections” components. This might be interesting for using the visualization options of Rhino to display these results and to carry out potential structural optimizations with any of the evolutionary solvers available in Grasshopper (Rutten [5]) by using the results as a fitness function and the original input parameters as genes.
All the object components have a modify menu that makes it possible to modify the properties of RFEM objects within this optimization loop. Although this optimization workflow is more computationally expensive than similar approaches with FEM solvers compiled inside Grasshopper plugins, such as Karamba3D, that do not require exporting and importing data from external applications, it might still be interesting when advanced calculation options and code-based checks are necessary.
2.3. Additional Functionalities
Currently, a couple of functionalities of the toolbox provide additional features beyond this object-based logic:
- Extrude members: Through a single component, it is possible to obtain in Grasshopper the 3D shapes of member objects, as shown in Figures 4 and 9. Output geometry in the form of both NURBS and Mesh elements is possible.
- Input for LCA: Through a single component, it is possible to break down the masses and geometries of all RFEM objects according to assigned material, which can be used as input for running a Life Cycle Assessment out of an RFEM model as described in Section 3.5.
3. Projects
3.1. Tondo Bridge
The following footbridge in Brussels is a structure made of interconnected steel plates. The modeling process of this complex geometry took place not in the actual calculation program RFEM, but in Rhinoceros, due to the more powerful tools of the latter modeling software regarding the definition of curved lines and the intersection of surface elements, among other features.
In order to avoid the duplicity of boundary lines of adjacent surfaces, the model geometry was also examined in Grasshopper, so these boundary lines have exactly the same defining control points.
Even though there are standard functionalities in RFEM for importing geometry files from a Rhino model, the Toolbox made it possible to import not just geometry elements, but actual structural elements with mechanical properties and even loads attached to them.
3.2. My-Co Pavilion
The structural system of this research project is a plywood gridshell. The definition of the calculation model of this free-form structure took place in Grasshopper, which offered several advantages that ended up drastically expediting the modeling process:
- The calculation of a gridshell requires the definition of the structural members as linear elements in contrast to the surface and volume elements of the architectural model. This conversion task was automatically carried out through a parametric algorithm in Grasshopper, so the input geometry for the RFEM model had already been defined in Grasshopper.
- This made it possible to analyze and preprocess the imported geometry. The orientation of the members was also automatically defined in the Grasshopper algorithm.
- The definition of the wind loads was also carried out in Grasshopper, in order to define the load sectors and even the load values automatically. The toolbox also takes the future orientation of the member local axis of the member elements in RFEM into consideration, so that load values are defined with either a positive or a negative value depending on the right orientation (notice the applied loads in different blue and purple colors in Figure 8).
- The orientation of the nodal supports was also automatically defined in Grasshopper, so that reaction forces along the right axis could be used to design the connections of the baseplates.
3.3. ArcelorMittal Headquarters
The structure of the ArcelorMittal headquarters is mostly made up of architecturally exposed structural steel. In this project, the Toolbox was also used in the direction of RFEM to Grasshopper (see Section 2.2) in order to analyze and filter the calculation results of such a large structure and also to properly visualize not only the calculation results, but also the extruded steel members in order to design the connection elements and to produce a render visualization for the calculation report (see Section 2.3).
3.4. Expansion of the Red Bull Arena in Leipzig
The expansion of the Red Bull Arena in Leipzig was a complex operation due to the fact that the new building elements had to be planned with consideration of the already existing structure (see Fig. 6). The foundation of the new addition was, therefore, designed in the form of micropiles, almost all of them with different inclinations, in order not to affect the existing foundation elements and tunnels.
The micropiles were defined in a Rhino model that included the existing structure, then imported into RFEM with the toolbox. The toolbox allows the custom orientation of nodal supports through a Grasshopper plane, which is arguably a much more user-friendly approach than the standard workflow of defining them through the orientation angles.
3.5. Multi-Modal Optimizations
Finally, it must be pointed out that this Grasshopper plugin can be combined with other existing Grasshopper plugins in order to carry out multi-modal designs and optimizations. Figure 11 shows a multi-modal optimization in terms of both structural performance and embodied carbon of the structural system of an office building in Berlin by combining the Parametric FEM Toolbox with the Grasshopper integration of One Click LCA (Apellániz, Pasanen and Gengnagel [2]).
4. Conclusion
The implementation of structural analysis tools in a visual programming environment has already been successfully implemented in the design process as calculation tools in the form of Grasshopper plugins. The Parametric FEM Toolbox, however, does not provide Grasshopper with a Finite Element Solver, but it establishes a connection with the finite element program RFEM, where the structural analysis is carried out.
Although this approach is more computationally expensive, it allows the use of the extensive possibilities of robust commercial finite element software. Furthermore, engineering peer review processes benefit from the use of well-established and widely used analysis software. To date, the author does not know of any other plugin for Grasshopper that implements the API of a finite element program to the extent of the one presented in this paper.
The Parametric FEM Toolbox has proven its ability to enhance the design process of numerous projects since its release. Not just those characterized by algorithmically generated geometries (Preisinger et al. [3]), but it has also been implemented in a wide range of projects made up of non-standard structural systems.
Since its release, user feedback has made an enormous impact on further development of this tool. Furthermore, Dlubal, the software producer of RFEM, also got in contact to obtain feedback for the development of future versions of the API of RFEM. These coordination efforts between the software manufacturer and third-party developers are essential to ensure stable development and provide users with a reliable and robust design tool.
Author
Diego APELLÁNIZ
B+G Ingenieure Bollinger und Grohmann GmbH;
Alt-Moabit 103, 10559 Berlin;
[email protected]