Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Topology optimization can be described as a family of computational methods aimed at finding optimal structural layouts and configurations. In the context of continuum structural representations, this corresponds to optimizing the distribution of one or several materials in a given design space. In the context of skeletal structures – e.g. trusses and frames – the optimization procedures aim at finding the best possible layouts of bar or beam members. This paper presents advanced topology optimization procedures that are tailored specifically for integration into the disciplines of architecture and industrial design. In this section, we first briefly present the fundamental concepts of topology optimization, and then we review various recent applications of the method in architectural design – highlighting its potential as a computational design tool for achieving innovative, efficient structures.

1.1 Overview of Topology Optimization Procedures

Following intense research since its introduction by Bendsøe and Kikuchi in the late 1980s (Bendsøe and Kikuchi 1988; Bendsøe 1989), topology optimization of continua is now considered an integral part of the design process of load-bearing structural components in the automotive and aircraft industries (Bendsøe and Sigmund 2003; Sigmund and Bendsøe 2004). Significant research effort has been invested over the past decade in further development of the method for utilization in other engineering fields. Some of the most exciting and promising examples are optimization of photonic crystal waveguides (Borel et~al. 2004); microstructural design of materials with extreme properties (Sigmund and Torquato 1997); systematic design of phononic band-gap materials (Sigmund and Jensen 2003); and design of micro-actuators and micro-mechanisms (Jonsmann et~al. 1999; Sardan et~al. 2008) (Fig. 1).

Fig. 1
figure 1

A topology-optimized micro-gripper (Sardan et~al. 2008) (left) and an optimized 3-D cantilever beam, based on a model with nearly five million finite elements (Aage and Lazarov 2013) (right)

In contrast to the wide acceptance of continuum-based computational procedures, truss- and frame-based approaches had less industrial impact so far. This is despite their earlier conception which can be traced back to the ground-breaking work of Michell (1904). In fact, most of the mathematical background and fundamental knowledge in the field of topology optimization, as well as in the more general discipline of structural optimization, has been developed based on studying optimal design problems involving trusses and frames. This is clearly reflected in various textbooks and monographs (e.g. Hemp 1973; Kirsch 1993).

Even though topology optimization was originally conceived as a particular method of structural optimization, it did not yet succeed in transforming the construction industry as reflected in the practices of architects and structural engineers. Nevertheless, over the past few years one can observe a clear trend of expanding interest within the architectural community in topology optimization as a means of generating aesthetic and efficient structural forms and configurations. Various recent examples are reviewed in the following section. Another important factor is the growing awareness for sustainable development, calling for reducing the consumption of materials and resources used by the construction industry, namely concrete and steel. It could be that in the near future, environmental considerations will be the driving force behind the integration of advanced optimization techniques in architectural and structural design, just as reducing weight is for the aeronautics industry.

1.2 Architectural Applications of Topology Optimization

Possibly the earliest real-world example of application is the façade of the Doha Convention Center, designed by Japanese architect Arata Isozaki and structural engineer Mutsuro Sasaki. Continuum topology optimization suggested a tree-like structure that replaced traditional vertical columns, leading Sasaki to the terminology “Morphogenesis of Flux Structure” (Sasaki et~al. 2007).

Various recent studies have highlighted the potential for disruptive design innovation and efficiency gains by adopting topology optimization procedures as a constitutive design tool (Frattari 2011; Dombernowsky et~al. 2012). Nevertheless, the full integration of such methods into the architectural design process is still in its infancy, as also is the coupling with construction technologies. Efforts led by authors of this paper have demonstrated the realization of optimized concrete structures through architectural robotic fabrication in respectively large scale robotic CNC-milling (Dombernowsky and Søndergaard 2011) and robotic hotwire cutting (Søndergaard and Feringa 2014) (Fig. 2).

Fig. 2
figure 2

Unikabeton prototype structure, (Dombernowsky and Søndergaard 2011) (left) and proposed Opticut prototype structure (Søndergaard and Feringa 2014) (right)

Several examples of engagement into studying topology optimization for conceptual architectural design can be found in the work of Skidmore, Owings and Merrill LLP (SOM). Both continuum- and frame-based topology optimization inform the design process of bracing systems for high-rise buildings (Stromberg et~al. 2012) and of long-span structures (Beghini et~al. 2013). Furthermore, computational algorithms in general facilitate tight architect-engineer collaboration at SOM, requiring both practitioners to collaborate in defining performance goals and constraints, in parameterizing geometric forms and in evaluating the qualities of design alternatives. This opens up new possibilities of exploring theoretical paradigms and emergent formal typologies (Besserud et~al. 2013).

Continuum topology optimization clearly facilitates the generation of novel structural morphologies, transcending traditional typological classification. However, the realization of optimized continuum layouts is feasible primarily through fabrication processes delivering continuum bodies, such as in-situ cast concrete or – extrapolating from current trends in additive manufacturing – 3-D printing of concrete (Le and Austin 2011; Buswell et~al. 2007). In practice, a significant part of architectural structures are still assembled from discrete members such as bars, beams and façade elements, produced in formative processes and assembled on-site. This calls for a slight shift in the discussion regarding the application of topology optimization. While continuum procedures facilitate the form-finding of advanced structural design, they demand high degrees of time-demanding geometrical post-processing. Optimal design of trusses and frames offers by comparison a path for closer integration between optimization and fabrication, and it is therefore arguable that they should take a more prominent role in the investigations of the field.

One approach suggested recently is to involve continuum topology optimization in the design process while aiming at constructing discrete members, by essentially translating the free-form layout into geometries of nodes and bars (Mostafavi et~al. 2013). It is shown that translational algorithms such as “skeletonization” and node finding methods can open the black box of topology optimization, hence making it more applicable by architects and designers. It was pointed out that the structural layout optimization (i.e., procedures for finding optimal arrangements of structural elements in trusses and frames) has the potential to help reduce the polarization between the visual and the technical elements of design, therefore it can be considered as an ‘integrative’ form generation tool (Park et~al. 2012). Early investigations into the implementation of truss-based optimization and its coupling with digital fabrication techniques have been conducted recently by authors of this paper. These include for example topology optimization and robotic fabrication of space trusses, resulting in non-standard structural layouts that offer weight reductions and can only be assembled effectively by robotic techniques (Søndergaard et~al. 2013) (Fig. 3).

Fig. 3
figure 3

Topology optimized, robotically manufactured space-frame structure under construction at Aarhus School of Architecture. The structure was optimized with the truss module of the TopOpt-plugin, facilitating a contextualization of the structural layout to irregular site-settings through laser-scanning of the physical environment and adaption of ground structure configuration; and direct coupling between optimization and fabrication procedures through linking of the result data to rapid-code-generating modules

The variety of recent contributions reveal the tremendous potential of embedding topology optimization into architectural design processes. However, the currently available computational tools are intended primarily for the automotive and aeronautical industries that were first to adopt structural optimization methodologies. Recent work by the authors has demonstrated the applicability of industrial solvers for the design of optimized concrete structures (Dombernowsky and Søndergaard 2011; Feringa and Søndergaard 2014), while simultaneously identifying the following conceptual and practical short-comings of this adaption:

  1. (a)

    Design process: Topology optimization using continuum procedures results in structural morphologies of high geometrical complexity. As such, they introduce significant design impact on the architectural appearance, in case the structure is visually exposed. Topology optimization is by nature an autonomous process, that ‘grows’ results morphologically unpredictably and beyond direct design control. Design control can however be regained through indirect measures, by reiterating the optimization parameters, such as the design space geometry, position of supports, and fabrication constraints, in response to the emerging optimization results. This process is however complicated and vastly time-consuming with existing procedures, and hence impractical to conventional design practice.

  2. (b)

    Design prescription: Due to the strong visual impact resulting from the application of topology optimization in architectural design, an early integration in the design phase is desirable, allowing for higher degrees of coordination with complementary design parameters that cannot be numerically prescribed. However, because the optimization process assumes an unambiguous definition of the optimization parameters, early integration requires a forestalling of the design configuration that under normal conditions is clarified only in later design phases. This can result in either (1) a pre-determination of functional or architectural parameters, such as façade-compositions, building component geometries or spatial organization structures that conflicts structural criteria, leading to later sub-optimal optimization results; or (2) the transfer of purely formal aspects of optimization results to later design stages, in which the structural congruency is compromised by late-coming parameters that contradicts early stage optimization assumptions.

  3. (c)

    Tension-compression prioritization: In the design of architectural structures, geometric configurations that discretise building components into classes predominantly resisting tensile or compressive forces are often desirable. Similarly, a prioritization between optimization solutions that favour the emergence of either a predominantly compressive or tensile system would be strongly advantageous in conceptual structural design of material systems with disparate tensile and compressive strengths, e.g. concrete. However, currently available methods are targeted at homogenous materials with linear elastic properties, and allow for the optimization of results with uniform strength distributions only. This leads to unnecessary complexities in dealing with inhomogeneous material systems and omits the potential exploration of optimized designs based in divergent material properties.

  4. (d)

    Material representation: Currently available continuum procedures assumes isotropic material configurations, as found in pure concrete or metal bodies. However, design of unreinforced concrete structures remain a rare exception in architectural practice. Application of available tools for isotropic continuum structures to optimization of concrete structures assumes a coarse ‘hack’ in which concrete bodies are optimized assuming uniformly distributed tensile properties of reinforced concrete and subsequent empirical reinforcement design by conventional engineering means. As such, available methods remain incapable of suggesting dual material configurations that optimally distributes e.g. both steel and concrete according to their individual properties.

  5. (e)

    Result rationalization: A final complexity arising from the application of continuum topology optimization procedures is the above mentioned geometric rationalization of results, required for translating optimized meshes into buildable geometry. This rationalization process is often laborious, involving development of bespoke rationalization modules and state-of-the-art project design tools, while simultaneously requiring advanced digital manufacturing procedures for its realization. This challenge can be addressed through closer coupling between optimization and fabrication procedures

2 Advanced Topology Optimization in Grasshopper

Motivated by the conclusion that significant enhancements can be achieved in the applicability of topology optimization to architectural design by addressing the challenges identified in preceding chapters, the authors of this paper mobilized for a collaborative research effort, targeting the development of new optimization methodologies. The challenges are distinguished in two sub-aspects: (1) The availability of experimental procedures targeted specifically at conceptual architectural design; (2) the availability of such procedures within a software platform commonly applied in architectural research.

Currently available topology optimization tools counts commercial solvers such as Altair’s Inspire and Optistruct and FE-Design’s TOSCA and TOSCA Fluid. In addition to this, a number of freely available tools such as TopoStruct and Millipede for Grasshopper, developed by Panagiotis Michalatos and Sawako Kaijima; or Karamba developed by Clemens Preisinger in cooperation with Bollinger-Grohmann-Schneider ZTGmbH Vienna. The optimization procedures offered in these applications are based on respectively the homogenization method applied in Ole Sigmund’s 99-line topology optimization code (Sigmund 2001) and the Evolutionary Structural Optimization (ESO) method (Huang 2010) and provides optimization for classical mechanical stiffness problems that does not methodologically address the specific challenges outlined in earlier chapters of applying topology optimization in architectural design.

The ongoing research efforts discussed in this paper seek to address this challenge by introducing experimental topology optimization procedures specifically developed for the related problems of architectural design identified in Sect. 2 in chapter “Simulation of Aggregate Structures in Architecture: Distinct-Element Modeling of Synthetic Non-convex Granulates” through: (a) Interactive control and continuous visualization; (b) embedding flexible voids within the design space; (c) consideration of distinct tension / compression properties; (d) consideration of dual material systems and (e) optimization procedures for skeletal structures such as trusses and frames. The methodological developments are implemented within the framework of a Grasshopper-extension, the TopOpt plugin. The Grasshopper platform is chosen for its flexibility with regard to allowing users to connect the procedures to related geometric modules, and for its relative wide-spread adoption within design research activities.

The implementation of continuum topology optimization follows the classical density-based approach, overviewed in the monograph (Bendsøe and Sigmund 2003). The design problem is essentially to find the best trade-off between stiffness and weight, i.e. maximize stiffness for a given volume of material. The basic idea of the computational method is that the distribution of material is defined by attaching a design variable ρ to each finite element in the computational model of the design space. Solid material is represented by ρ = 1 while void is represented by ρ = 0. During the iterative optimization process, the variable ρ is gradually “pushed” towards these extreme values due to the penalization of stiffness of intermediate values. For this purpose we utilize the popular SIMP rule in its modified form (Bendsøe 1989; Sigmund and Torquato 1997), defining the stiffness modulus E as follows:

$$ E={E}_{\it min}+\left({E}_{\it max}-{E}_{\it min}\right){\rho}^p $$

Here, E min and E max represent the minimum (typically close to zero) and maximum stiffness of the material and p is a penalization power larger than 1. Finally, we note that in many topology optimization procedures a certain regularization is necessary in order to control the physical size of structural members appearing in the optimized design. This is most frequently achieved by a filter operation, with a single parameter R min controlling the filter radius.

The most basic functionality in the TopOpt plugin for Grasshopper, capable of finding optimal distributions of elastic isotropic material, resembles earlier implementations in publicly available MATLAB codes and in the TopOpt app for mobile devices (Mathworks 2013; Sigmund 2001; Andreassen et~al. 2012; Aage et~al. 2013). In the following sections, we describe the more advanced features that are particularly intended for conceptual architectural design within the Rhino-Grasshopper environment.

2.1 Interactive Exploration of Design Concepts

One of the primary considerations influencing the development of the TopOpt plugin, responding to challenge (a) of Sect. 2 in chapter “Simulation of Aggregate Structures in Architecture: Distinct-Element Modeling of Synthetic Non-convex Granulates”, is the aim to provide an interactive computational tool that architects and designers can utilize for design experimentation. By providing live feedback through direct interactivity, design cycles can be significantly shortened, while simultaneously, and most importantly, provide an intuitive insight to the effect of changing parameters. Several aspects of our implementation combine to serve this goal: (1) Computational speed, relying predominantly on the efficiency of the finite element analysis solver; (2) Continuous graphical display of results (topological layouts) during the optimization process; and (3) Direct representation of the optimized geometry in Rhino for further exploration. These three aspects are further elaborated in this section.

Computational Efficiency

It is well-known that the computational cost involved in topology optimization procedures is typically dominated by the effort invested in repeatedly solving the finite element analysis equations, once per design cycle. The first version of the TopOpt plugin, released May 2013, relied on self-developed routines programmed in C#, exhibiting satisfactory performance. In the current version however, we have based the FEA solver routines on the highly acclaimed SuiteSparse package (Davis 2006). Furthermore, highly efficient 3-D FEA procedures have been integrated based on the recently developed Multigrid-CG framework for topology optimization (Amir et~al. 2014).

Continuous Display

In our view, enabling interactive “play” between the user and the software is crucial for promoting the utilization of topology optimization by architects and designers. This drives a different user interface approach in comparison to software intended for engineers: While for engineers it seems natural that an optimization process is executed in the background and results are displayed only upon completion, for architects such an approach may not suffice. The possibilities to interactively view the evolution of the optimized layout and to interfere with it by graphically by changing the input are necessary for fruitful user-computer interaction.

In the TopOpt plugin, any change in input – for example change of geometry, loads or supports in the Rhino model, or change of a parameter value in Grasshopper – automatically initiate a new optimization process. Furthermore, in the current version the ongoing optimized geometry is displayed during the execution – a rather rare functionality in Grasshopper components. This is achieved by attaching a Hoopsnake Grasshopper component (developed by Yiannis Chatzikonstantinou) that manages recursive executions of the TopOpt optimization engine. In future development, we will consider a tighter integration of the concepts behind Hoopsnake into our plugin for achieving a more effective implementation.

Direct Representation of Geometry

The TopOpt plugin has two types of components for displaying optimized layouts. The {Preview.1Mat} and {Preview.2Mat} components provide solid-void (black-white) and compressive-tensile-void (red-blue-white) distribution pictures, respectively. The {Geometry.1Mat} and {Geometry.2Mat} components draw the contours of the boundaries between materials, i.e. either between solid and void (for single material optimization) or between compressive material, tensile material and void (for dual material optimization). The exact geometry of the contour depends on a user defined cut-off value between 0 and 1. The latter components facilitate the immediate export of the geometry without any need for post-processing actions (Fig. 4).

Fig. 4
figure 4

Interactive control of optimization parameters. By performing gradual changes in the optimization variables – for example as a linear translation of the position of the right corner point support – insights in the influence of these parameters with regard to the non-linear transformations of the topology can be obtained. By facilitating dynamic explorations through interactivity, the procedure allow for a mapping of relationships between the influences of different variables, hereby allowing designers to understand and exploit these conditions actively in the design process

2.2 Embedding Flexible Voids

A common restriction in structural design problems is that void space should be reserved for functional, construction-specific or aesthetic reasons. Functional restrictions can include for example other structural components passing through the structure. Holes for such purposes may or may not have a rigidly prescribed geometry and position. Construction restrictions include reserving space for the construction phase or maintenance. The exact position and shape of the corresponding void spaces are usually not strictly defined. Void spaces included for aesthetic reasons may have arbitrary geometric freedom.

In an architectural setting the void space restriction manifests itself in both 2-D and 3-D applications (currently, the computational functionality is available in a 2-D version only). A typical 2-D optimization problem is the design of a façade structure. The supporting structure of a façade may be attributed a role in the overall architectural expression, thus implying significant aesthetical requirements on the design. A typical 3-D application is flexible room modeling, where the internal room design and functional organization may be defined as flexible void spaces, this way allowing for a higher degree of synthesis between constructive and functional considerations.

The usual approach to include restrictions on void space in topology optimization is by defining passive areas in the design space, which have a fixed shape and position. This method, however, has two main drawbacks. First, unless the shape of the void space is carefully defined, the resulting optimized structure may contain irregular structural members. Second, the method lacks flexibility for cases where the shape or the position of the void space do not need to be strictly defined.

In response to the challenges identified in subtopic (b), Sect. 2 in chapter “Simulation of Aggregate Structures in Architecture: Distinct-Element Modeling of Synthetic Non-convex Granulates” an alternative approach for inclusion of void space was developed: The flexible void area method (Clausen et~al. 2014). This approach allows void spaces of fixed volume to be flexibly reshaped and repositioned. The flexible void spaces are introduced into the optimization problem through a second design variable field. The formulation is based on a combined approach: The primary sub-problem is to maximize stiffness for a given volume of material, with a secondary sub-problem of minimizing the disturbance from the flexible void spaces. The void area is updated by adding and removing an equal number of elements from the interface of the flexible void area. The idea of the method is illustrated in Fig. 5.

Fig. 5
figure 5

An illustration of the flexible void method. Throughout the optimization process, the shape and position of the void change so that the disturbance is minimized. The stiffness with the flexible void area method is 27 % higher than with a passive area solution (Clausen et~al. 2014). (a) Problem definition with passive void. (b) Optimized layout with passive void. (c) Optimized layout with flexible void

For some applications, the void area may be allowed to deform or move freely during the optimization, but for many applications the degree of flexibility is constrained by practical limitations. For this reason two different measures may be included into the optimization problem: A location measure and a deformation measure. These may be included either individually or combined. This paper presents examples where the location measure is applied. The measure works by penalizing the distance from the geometrical center of the flexible void area to a given reference point. The penalization is applied with a given weight, α. The higher the value of α, the stronger the constraint is imposed on the problem. For applications of the deformation measure readers are referred to the original paper.

Example Application: Façade Design

Most façade design problems are associated with void area requirements. A typical reason is that windows should be included or that the façade should include void areas to gain a lighter appearance. An example of a simple façade optimization problem is presented in Fig. 6. In the optimized design with passive voids the inclined bars carrying the central load are strongly weakened by the singularities at the corners of the void area. This artifact is avoided by applying the flexible void approach which leads to a 19 % higher stiffness. Furthermore, the resulting façade structure has a more aesthetically pleasing expression than when rigidly implying the void area. The introduction of an arch to support the center is not trivially deducted from neither the standard optimization without a void area nor the passive elements method. This way the example illustrates how the flexible void method is a useful tool in the design phase to work creatively with critical structural members without compromising unnecessarily on the structure’s load-carrying capacity.

Fig. 6
figure 6

The flexible void method applied to a façade design problem. Top: design space and solution without imposed voids; middle: passive voids solution; bottom: flexible voids solution

Implementation in the Grasshopper Plugin

The flexible void area method will be implemented into the TopOpt plugin in the near future. At the submission deadline for this paper the method is already implemented in another interactive platform – a stand-alone application developed by members of the TopOpt research group at DTU (Aage et~al. 2013). The implementation into the TopOpt plugin will be based on the learnings (e.g. in terms of interactivity) from this work.

2.3 Optimization with Tension-Compression Prioritization

Responding to challenge (c) of Sect. 2 in chapter “Simulation of Aggregate Structures in Architecture: Distinct-Element Modeling of Synthetic Non-convex Granulates”, the TopOpt plugin in Grasshopper introduces a novel methodology, allowing to explore designs involving materials with different stiffness and strength in tension and compression. We believe this is an essential capacity in any computational framework intended for architectural / structural design, due to the widespread use of such materials, primarily concrete. The vast majority of explorations reviewed above were based on computational procedures for linear, elastic, isotropic and homogenous material – evidently because the currently available software is intended primarily for automotive and aeronautical applications where metals are dominant.

A consistent computational representation of a quasi-brittle material such as concrete requires the integration of nonlinear material laws, so that damage and cracking under tension are taken into account. Several computational procedures for optimizing the distribution of reinforcement while accounting for nonlinear material damage have been proposed recently (Kato et~al. 2009; Kato and Ramm 2010; Amir and Sigmund 2013). Furthermore, unified procedures for optimizing the distribution of both concrete and reinforcement bars have been developed (Bogomolny and Amir 2012; Amir 2013). However, due to the computational effort involved in such procedures they are not yet suitable for implementation within interactive applications.

In light of these difficulties, the challenge of obtaining optimized layouts with distinct tension and compression properties is approached by assuming orthotropic material properties. This means that each material point has distinct material properties in two orthogonal axes. With an orthotropic representation of material, the optimization problem involves two separate actions: (1) Distribute material in an optimal manner, following the same principles as for isotropic materials; (2) Find the optimal rotation angle at each material point so that it is adequately aligned with the stresses and strains at that specific point – meaning material is locally tailored to effectively deal with tension or compression. We note that optimal orientation of orthotropic materials has been studied in various contexts which are beyond the scope of this article (e.g. Pedersen 1989).

A tension-compression prioritization procedure is developed and implemented in the Grasshopper plugin under the label {TenCom.1Mat} and is intended for optimizing the distribution of a single orthotropic material with one stiff material direction and one soft material direction. The ratio between these stiffnesses is defined by a single parameter, which also defines the prioritization towards tension or compression. This functionality facilitates the design of a structure with a single material where there is clear preference towards transferring forces either in tension or in compression – according to the specified material parameters. Examples of a structure suspending a load with various tension or compression prioritizations are presented in Fig. 7. The principles of {TenCom.1Mat} and the algorithmic details are presented in the following. First, the inputs required from the user are as follows:

  1. 1.

    Design domain properties;

  2. 2.

    Loading configuration;

  3. 3.

    Support configuration;

  4. 4.

    Optimization settings:

    1. (a)

      Volume fraction of available material;

    2. (b)

      Penalty parameter in the SIMP law;

    3. (c)

      Filtering radius, regularizing the size of members in the layout.

  5. 5.

    Compression-to-tension ratio, where ratio = 1 means no prioritization; ratio > 1 means compression is preferred; and ratio < 1 means tension is preferred.

Fig. 7
figure 7

Examples of a structure suspending a central load achieved by TenCom.1Mat with various prioritizations towards either tension or compression. All layouts comprise of a material volume fraction of 20 %. From top, left to right: problem settings; standard topology optimization with an isotropic material (black = solid, white = void); layout with compression prioritization, ratio = 5; layout with tension prioritization, ratio = 0.2

For simplifying the presentation, we focus on the case of ratio > 1 meaning that the user chooses to distribute a material which is stiffer in compression and softer in tension. The optimization process begins with a uniform distribution of material and a uniform alignment of the compressive stiff axis parallel to the global x-axis. Then, an iterative process is initiated where within each cycle the following steps are performed:

  1. I.

    Compute the current stress state and rotate the material axes of each finite element such that the x-axis, with stiffness modulus\( {E}_x \), is aligned with the compressive principal stress.

  2. II.

    Compute the stiffness matrix of the orthotropic material, with the following stiffness moduli for each orthogonal axis:

    $$ {\it Ex}={E}_{\it min} {+} \left({E}_{\it stiff}-{E}_{\it min}\right){\rho}^p $$
    $$ {E}_y={E}_{\it min} + \left({E}_{\it soft}-{E}_{\it min}\right){\rho}^p $$

    This means that the material’s x-axis, which is intended to resist compressive forces, is stiffer than the y-axis.

  3. III.

    Solve the equilibrium equations resulting from a finite element analysis.

  4. IV.

    Perform an adjoint sensitivity analysis where for each finite element the contribution to stiffness per unit volume is found.

  5. V.

    Update the distribution of material such that the available amount is fully utilized. In this phase, each finite element is assigned a value of ρ ranging from 0 to 1, corresponding to void and solid material.

  6. VI.

    If material distribution did not change significantly with respect to the previous cycle – stop iterating; otherwise, return to step (I).

2.4 Optimization of Dual Material Structures

Responding to the challenge of representing composite material systems described in preceding chapters, is the TopOpt-plugin introduces a novel procedure for the optimization of dual-material layouts – aimed at distributing simultaneously two distinct materials with different tension-compression priorities. This can facilitate the exploration of concrete-steel layouts which are highly relevant for architects.

The suggested approach relies again on an orthotropic representation of material. Intuitively, optimal design with concrete and steel can be achieved by positioning concrete members or domains where compressive forces are dominant, while steel is positioned where tensile forces are dominant – either in the form of embedded reinforcement or as separate members. A similar approach has been followed recently in the context of generating strut-and-tie models for reinforced concrete design (Victoria et~al. 2011), while procedures intended for the same goal but involving nonlinear structural analysis have also been suggested (Cai 2011; Liu and Qiao 2011).

The implementation in the TopOpt plugin is labeled {TenCom.2Mat} and is intended for optimizing the distribution of two materials. Each material has one stiff direction and one soft direction, while they differ in their prioritization towards tension or compression. This functionality facilitates the design of a structure with two materials, one of which is preferable for transferring compressive forces and the other is preferable for transferring tensile forces. Different layouts are obtained depending on the availability of each material which is specified by the user. Example designs of a simply-supported beam where the amount of tensile material is smaller than that of compressive material are presented in Fig. 8.

Fig. 8
figure 8

Examples of a simply-supported beam designed by TenCom.2Mat. From top: problem settings; standard topology optimization with a volume fraction of 50 % using a single isotropic material (black = solid, white = void); layout with 30 % compressive material and 20 % tensile material; layout with 35 % compressive material and 15 % tensile material. Compressive material appears in red and tensile material in blue. Dark blue represents material that is stiff in both tension and compression, while green represents void. The ratio between stiff and soft material properties is 10

Despite their distinct purposes, the algorithmic principles of {TenCom.2Mat} follow directly those of {TenCom.1Mat}, whereas the few additional features are emphasized herein. First, the inputs required from the user are the same, with one exception – instead of a single volume fraction the user should supply two volume fractions corresponding to the two types of materials. Each finite element is assigned two values ρ 1 and ρ 2 corresponding to the existence of each type of material at that specific point. Steps I, III, IV and VI are the same as for {TenCom.1Mat}, otherwise:

  1. II.

    Compute the stiffness matrix of the orthotropic material, with the following stiffness moduli for each orthogonal axis:

    $$ {E}_x={E}_{\it min}+\left({E}_{\it stiff}{-}{E}_{\it min}\right){\rho}_1^p{+}\left({E}_{\it soft}-{E}_{\it min}\right){\rho}_2^p+\left({E}_{\it min}-{E}_{\it soft}\right){\rho}_1^p{\rho}_2^p $$
    $$ {E}_y={E}_{\it min}{+}\left({E}_{\it soft}{-}{E}_{\it min}\right){\rho}_1^p{+}\left({E}_{\it stiff}-{E}_{\it min}\right){\rho}_2^p+\left({E}_{\it min}-{E}_{\it soft}\right){\rho}_1^p{\rho}_2^p $$

    This means that the following material properties can be obtained for the extreme values of ρ 1 and ρ 2 :

    ρ 1

    ρ 2

    x-axis

    y-axis

    0

    0

    Minimum stiffness

    Minimum stiffness

    1

    0

    Stiff

    Soft

    0

    1

    Soft

    Stiff

    1

    1

    Stiff

    Stiff

  2. V.

    In odd cycles, update the distribution of material 1 represented by the values of ρ 1 , such that the available amount is fully utilized, for the given distribution of material 2; in even cycles, update the distribution of material 2 represented by the values of ρ 2 , such that the available amount is fully utilized, for the given distribution of material 1.

2.5 Truss-Based Optimization

As mentioned in the introduction, even though the theoretical development of truss-based optimization procedures preceded continuum-based methods, the former have not seen a widespread adoption in industry. Nevertheless, for the purpose of designing architectural structures, truss-based results enjoy the advantage of facilitating a prescription of the optimization results within a pre-defined range of components, leading to straightforward interpretation and realization processes.

The initiation of research on optimal structural layouts and configurations is frequently attributed to Michell’s work on minimum-weight grid-like continua (Michell 1904). Many years later, this field evolved into the general layout theory for frames and flexural systems (e.g. Hemp 1973; Rozvany 1976). Probably the most important advancement that stimulated the development of topology optimization of truss structures was the introduction of numerical methods for automatic optimum design (Dorn et~al. 1964). Until today, most of the established computational procedures follow the so-called “ground structure” approach, where the design space is discretized using a fixed set of nodal points, which are then connected by a set of potential truss bars. This is also the underlying method implemented in the current version of the TopOpt plugin, even though other attractive approaches exist, for example the “Growth Method” that integrates topology, shape and sizing optimization (Martinez et~al. 2007). Early implementations of the ground structure approach show multiple benefits from integration within the Grasshopper environment: complex ground structure matrices derived from non-uniform surface geometries are easily generated and manipulated; non-uniform subdivision schemes that would be highly challenging to implement and control in existing environments are generated at ease through GH’s inbuilt mapping functions; direct coupling to digital and robotic manufacturing machinery is achieved through processing of the optimization output in Rapidcode-generating modules (Fig. 9).

Fig. 9
figure 9

Generation of a non-uniform ground structure in three, simple steps: input of NURBS surface (left); computing of node points (middle); generation of ground-structure. The geometric flexibility of the procedure allows for adapting to challenging contextual settings, facilitating the form-finding of context-specific space-frame structures

One of the attractive aspects of truss-based optimization is that in its most basic form, a linear programming problem is obtained that can be solved very efficiently and results in a globally optimal solution. This formulation corresponds to the minimization of the structure’s weight while constraining the allowable stresses in the bars. In the context of the ground structure approach, the resulting layout will indicate the optimal cross-section areas of all potential bars, including eliminating unnecessary bars by assigning them a zero cross-section area. From an engineering perspective, the optimal structural configuration provides fundamental understanding regarding the desirable flow of forces, thus providing the designer with valuable feedback regarding the physical sensibility of the design. This is demonstrated via an example involving 3-D truss optimization of a hybrid space structure as presented in Fig. 10.

Fig. 10
figure 10

Structural configurations of hybrid space frame structure. The canopy structure, a pre-study for a digitally fabricated, full scale prototype currently under construction, is adapted from laser-scanned context studies, fitted between walls in an irregular corner of two adjacent buildings. The optimization result drives robotic procedures directly within the GH environment through translation of bar lengths, orientations and node positions to the corresponding rapid-code instructions

Even though the globally optimal layouts are often not directly suitable for practical construction, they can serve as an ideal starting point for advanced investigations. In particular, we are currently focusing our efforts on implementing the following functionalities: (1) Optimizing node locations; (2) Fitting the globally-optimal cross-sections to a prescribed set of bars; and (3) Imposing constructability limitations on the number of bars to be connected at each node. We note that these computational procedures have already been developed and tested in MATLAB and only need to be adapted to Grasshopper.

Conclusions

In this paper, a variety of advanced topology optimization methods, intended exclusively for conceptual architectural design of structures, have been presented. The purpose is to highlight computational procedures that can be integrated directly into the architect’s desktop tools thus facilitating the design of innovative, efficient structural forms.

Throughout the paper we provide details regarding the implementation of the computational procedures in the framework of the TopOpt plugin for Grasshopper. The plugin offers several unique features, namely: (1) Interactive control and continuous visualization; (2) Embedding flexible voids within the design space; (3) Consideration of distinct tension / compression properties; and (4) Optimization procedures for skeletal structures such as trusses and frames. We believe that by developing advanced computational tools and user interfaces that are tailored specifically for the architectural community, the potential of embedding topology optimization into architectural design processes could be fully explored.

Future work will focus primarily on improving the optimization procedures for skeletal structures – e.g. space trusses and frames. This is due to the possibility of directly representing computational results as real-world constructable configurations. Various methodological challenges arise, such as the consideration of buckling and manufacturing restrictions. This leaves much room for continuing research and development efforts, with the aim to provide architects and engineers with consistent, efficient and reliable computational design tools.