0% found this document useful (0 votes)
27 views18 pages

2023, Constrained Form-Finding of Tension-Compression Structures Using Automatic Differentiation - Unlocked

This paper proposes a new computational approach for form-finding pin-jointed bar structures subjected to combinations of tension and compression forces. The approach extends an existing framework by introducing auxiliary topological objects to enable form-finding of more structure types, leveraging automatic differentiation to obtain exact gradients for optimization, and developing an open-source Python tool.

Uploaded by

luis.gallo.glez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views18 pages

2023, Constrained Form-Finding of Tension-Compression Structures Using Automatic Differentiation - Unlocked

This paper proposes a new computational approach for form-finding pin-jointed bar structures subjected to combinations of tension and compression forces. The approach extends an existing framework by introducing auxiliary topological objects to enable form-finding of more structure types, leveraging automatic differentiation to obtain exact gradients for optimization, and developing an open-source Python tool.

Uploaded by

luis.gallo.glez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Version of Record: https://www.sciencedirect.

com/science/article/pii/S0010448522001683
Manuscript_a9477d7589b973c385d6f4e9678f4698

Constrained Form-Finding of Tension-Compression Structures using Automatic


Differentiation

Abstract
This paper proposes a computational approach to form-find pin-jointed, bar structures subjected to combinations of tension and
compression forces. The generated equilibrium states can meet force and geometric constraints via gradient-based optimization. We
achieve this by extending the combinatorial equilibrium modeling (CEM) framework in three important ways. First, we introduce
a new topological object, the auxiliary trail, to expand the range of structures that can be form-found with the framework. Then,
we leverage automatic differentiation (AD) to obtain an exact value of the gradient of the sequential and iterative calculations of
the CEM form-finding algorithm, instead of a numerical approximation. Finally, we encapsulate our research developments into an
open-source design tool written in Python that is usable across different CAD platforms and operating systems. After studying four
different structures – a self-stressed planar tensegrity, a tree canopy, a curved bridge, and a spiral staircase – we demonstrate that
our approach enables the solution of constrained form-finding problems on a diverse range of structures more efficiently than in
previous work.
Keywords: form-finding, optimization, automatic differentiation, design tool, structural design, combinatorial equilibrium
modeling

1. Introduction its internal connectivity and internal tension-compression state.


Meanwhile, a form diagram F and a force diagram F ∗ display
A form-finding method generates the shape and the internal the geometric and force attributes of the calculated state of
force state of a structure so that, given a design load case and static equilibrium. Figure 1 presents a graphical overview
a set of support conditions, the structure is in a state of static of how these components interact and Section 2 provides a
equilibrium [1, 2]. Different numerical form-finding methods thorough review of their underpinnings.
exist, but they fall into one of three categories: stiffness- A distinctive feature of the CEM form-finding algorithm is
matrix [3, 4], dynamic equilibrium [5–7] and geometric [8–15] that equilibrium is computed sequentially and iteratively, unlike
approaches. An in-depth review of this taxonomy is found in other geometric form-finding methods [8–10, 26]. Neverthe-
[1, 16]. Developments in all categories have been propelled over less, this computation approach is precisely what allows the
the last decade by the development of multiple computational CEM form-finding algorithm to ensure the generation of a static
design tools [17–21]. equilibrium state for a mixed tension-compression structure as
In these form-finding approaches, a structure is often mod- long as an input topology diagram T fulfills the requirements
eled as a discrete network of straight bars that are connected by listed in Section 1.2.1.
pinned joints at the nodes. The design load is transferred from The CEM algorithm allows designers to explore different
node to node exclusively through axial forces in the bars and equilibrium states for a fixed diagram T by manipulating a
a state of static equilibrium is reached when the sum of forces portion of the nodal positions, and a subset of the bar forces
incident to every node is zero. Conceptually, the axial-dominant and lengths of a structure (see Section 2.2). However, realistic
load-carrying mechanism of a structure in static equilibrium structural design scenarios often pose geometrical and force
implies that it will require less material volume to withstand constraints a priori where it is more relevant to find a specific
the applied design load [22]. equilibrium state that best satisfies them. Examples of such
constraints include fitting a target shape [27, 28], restraining bar
1.1. The CEM framework forces and lengths [29–31], and controlling the reaction forces
The Combinatorial Equilibrium modeling (CEM) framework at the supports of a structure [20, 32, 33]. The challenge is that
is a geometric form-finding method for spatial structures mod- while the design constraints can be readily enumerated, it is
eled as pin-jointed bar networks and subjected to combinations often not straightforward to discern what combination of input
of tension and compression forces [23–25]. Examples of such design parameters is conducive to the envisioned result.
mixed systems are space frames, bridges, stadium roofs, multi- One way to solve such a constrained form-finding problem
story buildings and tensegrities. is to manually tweak the input design parameters until the
The framework consists of two operative parts: the CEM required constraints are met, one by one. This can quickly
form-finding algorithm and an optimization-based constrained become a cumbersome process. Instead, the CEM framework
form-finding solver. Moreover, this framework represents a form-finds spatial structures subjected to geometrical and force
structure with three diagrams: A topology diagram T describes constraints following an automatic approach: constraints are

Preprint submitted to Computer-Aided Design August 25, 2022

© 2022 published by Elsevier. This manuscript is made available under the Elsevier user license
https://www.elsevier.com/open-access/userlicense/1.0/
T x 1. Every node v needs to be part of only one trail ω (see
Section 2.1.1).

No Add auxiliary trails


2. Every trail ω must have only one support assigned to its
last node.

Abiding by these two rules restricts the type of structures that


Is T valid?
the CEM algorithm can form-find. Adequately constructing a
valid topological diagram can become a daunting task with-
Yes
Merge s into x out a sound knowledge of the CEM theoretical background,
x especially for structures that do not have a clear load-transfer
hierarchy.
CEM form-finding algorithm
s
Figure 2a shows the topological diagram of a structure in
which the two topological rules are satisfied. In contrast, the
F u diagram in Figure 2b violates the first rule because the two
proposed trails ω1 = {1, 3, 4} and ω2 = {2, 3, 4} share nodes
gi Compute the objective
s 3 and 4. Figure 2c depicts a planar, self-stressed tensegrity
function, L(s)
structure which by definition has no supports and consequently
infringes rule number two.
Evaluate the
gradient, ∇s L(s)
1.2.2. Approximate gradient computation
To solve a constrained form-finding problem, the CEM
Convergence No
Adjust s
framework has approximated the gradient of the objective
criteria met?
function to minimize via finite differences (FD) [24, 34]. This
is in stark contrast to other geometric form-finding precedents
Yes
where the analytical equations to calculate an exact gradient
have been published [9, 27, 28, 33, 35, 36]. FD circumvents
the derivation problems we discuss in Section 3.2 as it does
F̄ ū
Constrained form-finding not require the calculation of analytical derivatives of the CEM
form-finding algorithm to obtain a gradient estimate.
Figure 1: Overview of the Combinatorial Equilibrium Modeling (CEM) frame-
Using FD poses a number of challenges nonetheless. FD
work and our extensions. The inputs to the framework are a topology diagram
T and the design parameters x. The CEM form-finding algorithm calculates a requires choosing an adequate step size h to compute the
state of static equilibrium u from which a form diagram F can be optionally gradient approximation [37]. If the resulting step size h is too
constructed. To find a constrained equilibrium state ū that best satisfies force large, the gradient approximation can be inaccurate, whereas if
and geometric constraints gi , the CEM framework minimizes an objective
function L(s) by iteratively adjusting the optimization parameters s using the
it is too small it can lead to significant round-off errors due to
gradient ∇s L(s) until the convergence criteria L(s) ≤  or k∇L(s)k ≤ κ is numerical underflow. Moreover, calculating gradients with FD
reached. Two of the extensions we make in this paper are highlighted in pink. is computationally taxing as the objective function has to be
Auxiliary trails simplify the construction of a larger variety of valid topology evaluated at least once per every optimization parameter input
diagrams T . Reverse-mode automatic differentiation computes an exact value
of ∇s L(s) thus allowing for more efficient and stable solutions to constrained
[37, 38]. This can be detrimental to an interactive exploration
form-finding problems. of static equilibrium states for a structure, particularly if the
number of optimization parameters is large.

aggregated into a single objective function and a computer 1.3. Automatic differentiation
assists the designer in calculating the values of the design Automatic differentiation (AD), also known as algorithmic
parameters that minimize it via gradient-based optimization differentiation, comprises a set of techniques that evaluate
[24, 34]. the derivative of a differentiable function that is expressed
algorithmically [39]. In contrast to FD, derivatives obtained
1.2. Limitations of the CEM framework with AD are exact up to computer precision and do not require
The CEM framework as presented in [23, 24, 34] faces two the specification of a step size h to be computed [37]. Unlike
limitations. One of them is related to its topological modeling symbolic differentiation, derivatives can be evaluated with AD
flexibility and the other to its computational performance when through control flow statements, such as if-else clauses, loops
solving a constrained form-finding problem. and recursion [39].
One of the prominent applications of AD today is in training
1.2.1. Strict topological modeling rules machine learning models via backpropagation, in particular
Every topology diagram T must fulfill two requirements in neural architectures that learn via gradient-based optimization
order to be considered a valid input to the CEM form-finding [40]. Other precedents of AD applied to various engineering
algorithm: problems are the sizing of the frame of an injection molding

2
1 2 1 2 1 2

6 3 3
trail trail trail trail
5 4 4
4 3

(a) Two-sided cantilever structure (b) Branching structure (c) Self-stressed tensegrity

Figure 2: Topology diagrams T that correspond to three different structural systems. Note that diagrams 2b and 2c do not meet the CEM topology requirements
listed in Section 1.2. The former shows nodes 3 and 4 as members of two different trails, ω1 and ω2 , ω2 , whereas the latter defines neither trails nor support nodes.

machine [38], the shape optimization of a supersonic aircraft The paper concludes in Section 6 with a discussion of
[41], and the weight minimization of steel frames under seismic our experimental findings, the limitations of our approach, its
loads [42]. In addition to its ease of use, AD is also character- potential relation to other geometric form-finding methods, and
ized by its high performance. For example, AD has been used future research directions.
to automatically derive complex isogeometric elements from an
energy functional [43].
2. Theoretical background
In the context of form-finding, Cuvilliers recently proposed
to use AD in form-finding framework for structures subjected to We review how the Combinatorial Equilibrium Modeling
geometric constraints [44]. Unlike their work, we use the CEM (CEM) framework works. This is relevant to guide the dis-
form-finding algorithm and not the Force Density Method [8, 9] cussion in subsequent sections. The CEM framework was
as the equilibrium state calculator. Furthermore, they focus on introduced in [23] and further developed in [24, 25]. It consists
compression-only shells while we study various types of mixed of two operative parts: (i) a form-finding algorithm that builds
tension-compression structures. equilibrium sequentially and iteratively (Section 2.3), and (ii)
a constrained form-finding routine that utilizes an optimization
1.4. Outline and contribution solver (Section 2.4). The goal of the former is to generate a
Table 1 lists the symbols we use to display topology, form numerical state of static equilibrium, u. That of the latter is
and constrained form diagrams, T , F and F̄, respectively. to produce a constrained state of static equilibrium ū that has
This paper is organized in six sections. been restricted by a set of geometric and force constraints.
In Section 2 we present the theoretical concepts that underpin Regardless, there are two necessary inputs to calculate these
the current state of the CEM framework. We review the steps states: a valid topology diagram T and a vector of design
followed to sequentially and iteratively compute a state of parameters x.
static equilibrium from an algorithmic perspective, and discuss
the mathematical formulation of the objective function that is
minimized to solve a constrained form-finding problem. Diagram Symbol Description
Section 3 develops the extensions we make to the CEM Node
framework to overcome the limitations we outlined in Section Origin node
1.2, which constitute the core of our contribution. We first Support node
introduce a new topological helper object, the auxiliary trail.
We show next how we leverage AD to evaluate an exact Load
T
gradient of the CEM form-finding algorithm and guide the Trail edge in tension
reader through this process with a simple constrained form- Trail edge in compression
finding example. We also present a new standalone design tool Deviation edge in tension
called compas cem that encapsulates the two above-mentioned Deviation edge in compression
extensions. Auxiliary trail edge
In Section 4, we benchmark and validate the extended
Node
CEM framework by studying multiple constrained form-finding
problems on three different types of structures: a self-stressed F, F̄ Load or reaction force vector
tensegrity, a tree canopy and a curved suspension bridge sub- Edge in tension
jected to torsional loads. The applicability of our work in Edge in compression
practical structural design problems is showcased in the case
study of a spiral staircase in Section 5. For reproducibility, we Table 1: Symbols that describe the elements of topology (T ), form (F) and
share the data and the code we use to solve all the constrained constrained form (F̄) diagrams in the extended CEM framework. Refer to
form-finding problems we discuss in Sections 4 and 5 in the Section 2.1 for element definitions.
open-access repository in [45].

3
2.1. Topology diagram • A matrix P ∈ RN×3 with the position po ∈ R3 of every
A topology diagram T is an undirected graph of N nodes V origin node vo
connected by M edges E. It captures the internal connectivity • A matrix Q ∈ RN×3 with the load vectors q ∈ R3 applied
of a structure modeled as a pin-jointed network of straight bars. to the nodes v. Only one load vector per node is permitted.
Every edge ei, j connecting two nodes vi , v j must be labeled If the modeled structure is self-stressed, all the entries in
as either a trail edge eti, j or a deviation edge, edi, j . Therefore, the Q are null vectors.
total number of trail edges R and the total number of deviation
edges D in T must add up add up to M, i.e. R + D = M. 2.3. Form-finding algorithm
Trail edges outline the trails of a structure (Section 2.1.1). The CEM form-finding algorithm completes the attributes
These edges determine the primary paths that the loads applied in u following Algorithm 1. The numerical outputs of the
to a structure follow towards the supports. Deviation edges algorithm consist of:
connect nodes on different trails to redirect the load trajectories
determined by the trails. • The absolute magnitude of the internal force µti, j ∈ µ of
The entries in the adjacency matrix C ∈ {−1, 0, 1} of the every trail edge eti, j .
topology diagram define the expected internal force state ci, j
of the bars in the structure [24]. If C[i, j] = ci, j = −1, • The length λdi, j ∈ λ of every deviation edge edi, j .
the corresponding edge ei, j is in compression. Conversely, if • The position pi ∈ P of every non-origin node, vi , voi .
ci, j = 1, then ei, j is in tension. A topology diagram furthermore
• A matrix R ∈ RL×3 with the reaction force vector ri ∈ R3
prescribes the subset of size L with the nodes S where a support
incident to every support node, vsi ∈ S.
is assigned, S ⊂ V.
These outputs are concatenated into a single vector. Once u
2.1.1. Trails is complete, the form diagram F and the force diagram F ∗ of
Trails are critical to evaluate the validity of a topology the structure can be built using vector-based graphic statics [14]
diagram T , as discussed in Section 1.2.1. A trail ω is an to visualize the resulting equilibrium state of the structure.
ordered set of nodes that are linked exclusively by trail edges,
ω = {vo , ..., vs }. The first node in a trail vo is referred to as an 2.3.1. Sequential equilibrium
origin node. The last node vs must have a support assigned, Static equilibrium is calculated at the nodes of the diagram T
vs ∈ S, and it is thus referred to as a support node. A trail must one sequence at a time [23, 24]. The form-finding process starts
contain at least two nodes. The set of all trails in a topology off by computing equilibrium at the nodes at the first sequence
diagram is denoted Ω. There must be as many trails as there are k = 1 and continues to the next sequence k + 1 until the last one,
support nodes, |S| = |Ω|. Trails need not have the same number klast , is reached. The calculation ends for every trail ω when the
of nodes. node at the current sequence k is a support node.
Except for the nodes at the first sequence k = 1, a state of
2.1.2. Sequences static equilibrium at node v j at sequence k , 1 is subordinated
Once a trail ω is constructed, the nodes within are sorted to the equilibrium state of the nodes preceding it. Let the triplet
based on how distant they are to the origin node vo in the of nodes vh , vi and v j be three consecutive nodes along a
trail. For every node v, this topological distance is defined as sequence-ordered trail ω. Let vi be the node on the trail at
the number of intermediate trail edges et plus one between v sequence k, vh the node at the previous sequence k − 1 and v j
and vo . Nodes that are equally distant to their corresponding vo the node at the next sequence k + 1. The calculation of static
belong to the same sequence, k. While the first sequence k = 1 equilibrium at node vi outputs the position p j of the next node
groups all the origin nodes vo in all possible trails Ω, the last v j and the force magnitude µti, j of the trail edge eti, j connecting
sequenceklast contains the support nodes of the trails with the them. The position p j is described as
highest number of nodes. The list of sequences k is an ordered
set of consecutive integers between k = 1 and klast . p j = pi + ci, j λti, j
ti
(1)
kti k
2.2. Design parameters where pi is the position of node vi , ci, j and λti, j are the internal
The vector of design parameters x prescribes an immutable force state (−1 for compression, +1 for tension) and the length
portion of the state of static equilibrium u that is calculated by of eti, j , respectively; and ti is the residual force vector incident
the CEM form-finding algorithm. It concatenates: to node vi .
If a plane φi, j is supplied instead of a specific trail edge
• A vector µ ∈ R+M with the absolute magnitude of the length λti, j , then the absolute magnitude of λti, j is computed by
internal force µdi, j of every deviation edge edi, j . intersecting the line of action of the vector ti onto φi, j [25]:
• A vector λ ∈ R+M with the length λti, j of each trail edge
nφi, j · (pφi, j − pi )
eti, j . Alternatively, a matrix Φ ∈ RR×6 with an intersection λti, j = (2)
nφi, j · (ti /kti k)
plane φi, j ∈ R6 per trail edge eti, j to implicitly compute λti, j .

4
Algorithm 1: The CEM form-finding algorithm The terms ci,m , µdi,m and pm encode the force state, force
Input : Topology diagram, T magnitude and the position of the node vm that is connected to
vi by the deviation edge edi,m , respectively. If no deviation edges
Sequences, k
are connected to vi , then di = 0.
Trails, Ω
To maintain the equilibrium of forces at vi , the residual vector
Design parameters, x
ti is taken by the trail edge eti, j such that the vector formed
Maximum # of equilibrium iterations, τmax
between positions pi and p j point in the same direction as ti ,
Minimum distance threshold, ηmin and the absolute magnitude of the force passing through the
Output: State of static equilibrium, u edge µti, j is equal to the norm of ti :
1 V, E, S, C, ← T
2 µ, λ, Φ, P, Q ← x µti, j = kti k (5)
3 iteration, τ ← 1
4 distance, η ← ∞
If v j is a support node the residual vector ti is parsed as the
reaction force vector incident to the support node vsi , ri = ti .
5 while τ ≤ τ or η ≥ ηmin do
max
The length of any deviation edge edi, j is lastly calculated as the
6 for sequence in sequences, k ∈ k do
norm of the distance vector between the positions of the two
7 for trail in trails, ω ∈ Ω do
nodes it links:
8 vi ← NodeInTrailAtSequence(ω, k)
9 if node vi exists then λdi, j = kp j − pb k (6)
10 if first sequence, k = 1 then
11 th ← 0 2.3.2. Iterative equilibrium
12 pi ← PositionOriginNodeInTrail(ω) The process described in Section 2.3.1 must be run iteratively
13 di ← DeviationEdgesVector(vi ) . Eq.4 whenever (i) form-dependent load cases like wind or self-
14 ti ← ResidualForceVector(th , di , qi ) . Eq.3 weight are applied; or (ii) deviation edges edi, j that connect any
15 if node vi is not a support, vi < S then two nodes vi , v j that do not belong to the same sequence k
16 if plane φi, j exists then exist (also called indirect deviation edges) [24]. The termination
17 λti, j ← PlaneIntersection(pi , ti , φi, j ) . Eq.2 conditions here are to exhaust a maximum number of iterations
18 p j ← NodePosition(pi , ti , ci, j , λti, j ) . Eq.1 τmax or to reach a minimum distance threshold ηmin close to
zero, such that η ≤ ηmin :
19 µi, j ← TrailEdgeForce(ti )
t
. Eq.5
20 th ← ti V
X
21 pi ← p j η= p(τ) (τ−1)
i − pi (7)
i
22 else
23 ri ← ti The distance η measures the cumulative displacement of the
24 for deviation edge in edges, edi, j ∈ E do position pi of every node vi at iteration τ in relation to the
25 λdi, j ← DeviationEdgeLength(pi , p j ) . Eq.6 previous one. The value of η can be normalized by dividing it
by N to make it independent of the total number of nodes in the
26 if not first iteration, τ > 1 then structure. If indirect deviation edges exist, their contribution to
27 η ← NodeDistances(P(τ) , P(τ−1) ) . Eq.7 di in Equation 4 is set to 0 during the first iteration, τ = 1 [24].
28 τ←τ+1
29 u ← µ, λ, P, Q, R 2.4. Constrained form-finding
The CEM framework can determine the parameters that lead
to a constrained state of static equilibrium ū that best satisfies
where pφi, j ∈ R3 is the base point and nφi, j ∈ R3 the vector a priori geometric and structural design requirements. This
normal that define the intersection plane φi, j . is accomplished by minimizing an objective function using
To estimate vector ti , all the forces acting on vi are summed: gradient-based optimization.

 2.4.1. Optimization parameters


0
 if k = 1
ti = th − di − qi th = 

where (3) The vector of optimization parameters s defines the poten-
t(k−1)
 otherwise tial solution space of a constrained form-finding problem. It
i
collects a subset of the design parameters x (see Section 2.2).
where th is the residual force vector at preceding node vh . The Design parameters that are not included in s stay constant
vector qi denotes the load applied to node vi , if any, and di throughout the optimization process.
corresponds to the resultant force vector generated by all the
deviation edges edi,m connected to vi :
X pi − pm
di = ci,m µdi,m (4)
m
kp i − pm k

5
2.4.2. System solution mization algorithm, such as the Limited-Memory Broy-
The CEM form-finding algorithm provides an explicit so- den–Fletcher–Goldfarb–Shanno algorithm (L-BFGS) [49], Se-
lution u(s) for a given a choice of optimization parameters s. quential Least Squares Programming (SLSQP) [50] or Trun-
As per Section 2.3, this solution contains the missing node cated Newton (TNEWTON) [51].
positions p, the internal forces in the trail edges µt , the lengths
of the deviation edges λd , and the reaction forces at the supports 2.4.6. Optimization convergence
r. The output solution described by s and u(s) is in static The selected optimization algorithm minimizes Equation 9
equilibrium. over a prescribed number of optimization iterations υmax . The
algorithm converges to an optimal instance of the optimization
2.4.3. Constraints parameters s when one of the two conditions given by Equation
Vector s is modified to satisfy nonlinear equality constraints. 10 is fulfilled:
Each constraint gi is formulated as a function of the optimiza-
tion parameters and the system solution u(s): L(s) ≤ 
(10)
k∇s L(s)k ≤ κ
gi (u(s)) = 0 (8)
The objective convergence threshold  and the gradient con-
The constraint functions gi can be formulated arbitrarily. vergence threshold κ are two scalars close to zero (for example,
However, the complexity of the formulation may affect the  = 1 × 10−6 ). The first condition in Equation 10 indicates that
solution and the convergence rate of the problem. We list in the output value of the objective function L(s) approaches zero,
Table 2 the most frequently used geometric- and force-related which implies that the defined constraints gi satisfy Equation 8.
constraint functions which measure the distance between the An instance of s that fulfills Equation 8 does not exist when
current value and a target value for one of the attributes in u(s). the supplied constraints contradict each other. In such case,
These functions can be freely combined in Equation 9. the optimizer converges to a local minimum of the objective
function where the norm of the gradient vanishes, k∇s L(s)k ≤ κ.
2.4.4. Objective function The computation of the gradient is discussed in Section 3.2.
Every nonlinear equality constraint gi is weighted by a
penalty factor wi and aggregated into a single objective func-
3. Extensions to the CEM framework
tion L that is minimized to solve a constrained form-finding
problem. We extend the CEM framework to overcome the limitations
1X outlined in Section 1.2: auxiliary trails facilitate the creation
L(s) = wi gi (u(s))2 (9) of a valid topology diagram T and automatic differentiation
2 i
enables the computation of more reliable and efficient solutions
to constrained form-finding problems. The extended CEM
2.4.5. Gradient-based optimization framework is implemented in a standalone design tool.
Equation 9 can be efficiently minimized using first-
order gradient descent or any other gradient-based opti- 3.1. Auxiliary trails
An auxiliary trail ωa = {voi , vsj } is a short helper trail with an
Type Target Constraint function origin node voi and a support node vsj linked by a single trail
edge eti, j of unit length λti, j = 1. We automatically attach an
Node position, p̄i g1 (u(s)) = kpi − p̄i k
auxiliary trail to any node vi in a topology diagram T that has
p j −pi
Geometry Edge direction, āi, j g2 (u(s)) = kp j −pi k · āi, j − 1 not been assigned to another trail before the application of the
CEM form-finding algorithm (see Section 2.3). Such trail-free
Edge length, λ̄di, j g3 (u(s)) = λdi, j − λ̄di, j nodes are characteristic at the intersection between one or more
deviation edges and no trail edges. The attachment operation
Edge force, µ̄ti, j g4 (u(s)) = µti, j − µ̄ti, j transforms node vi into the origin node voi of ωa .
Force Edge load path, ϕ̄i, j g5 (u(s)) = µi, j λi, j − ϕ̄i, j The extensive use of auxiliary trails enables the explicit
construction of the topology diagram T of a structure using
Reaction force, r̄i g6 (u(s)) = kri − r̄i k
only deviation edges. Given an input T wherein every bar of
a structure is modeled as a deviation edge edi, j , appending an
Table 2: Selection of constraint functions supported by the CEM framework. auxiliary trail to every node vi in T converts this initially invalid
From a geometrical vantage point, g1 sets a target position p̄i for node vi ; g2 diagram into a diagram T that complies with the topological
a target orientation vector āi, j for edge ei, j ; while g3 a target length λ¯d i, j for
deviation vector edi, j . Similarly, but from a force perspective, g4 prescribes a modeling rules of the CEM form-finding algorithm (Section
desired force magnitude µ̄t i, j for trail edge eti, j ; g5 a target individual load path 1.2.1). Such a deviation-only modeling strategy circumvents the
ϕ̄i, j for edge ei, j ; and g6 a target reaction force vector r̄i at support node vsi . manual edge labeling process described in Section 2.1 as no
The edge load path ϕi, j in g5 corresponds to Maxwell’s load path [46]. The distinction has to be made upfront by a designer on whether an
minimization of this non-negative quantity over all the edges is conducive to a edge ei, j is a trail edge eti, j or a deviation edge edi, j . We show two
minimum-volume, pin-jointed bar structure [47, 48].

6
aux trail aux trail
5 1 2 6
1 2 1 2
aux aux aux
trail trail trail
6 5 5
3 3
trail trail
aux trail aux trail
4 4
8 4 3 7

(a) Branching structure A (b) Branching structure B (c) Self-stressed tensegrity

Figure 3: Auxiliary trails in a topology diagram T . To ensure topological validity, one (3b) and two (3a) auxiliary trails are appended to the diagram of the branching
structure first displayed in Figure 2b. Similarly, four auxiliary trails are inserted to that of the self-stressed structure in Figure 3c.

examples of structures that are modeled using the deviation- 3.2. Automatic and exact computation of the gradient
only modeling strategy in Sections 4.1 and 4.2. The gradient required to determine a minimum of Equation
However, the topological modeling flexibility enabled by 9 results from the first derivative of L with respect to the
auxiliary trails comes at a computation price. The attachment optimization parameters:
of an auxiliary trail creates a local artificial subsystem wherein X
a specific state of static equilibrium must be computed: the ∇s L = wi gi · ∇s gi (12)
auxiliary trails must not carry any loads in order to capture the i
originally intended load-carrying behavior of the structure. An
The computation of ∇s L requires the calculation of the
analogy for the role auxiliary trails play is that they provide
derivatives of the individual constraint functions ∇s gi and the
additional temporary support to a structure while it is being
derivative of the system solution u(s):
form-found. Since we are interested in the ”self-standing”
version of the structure, an equilibrium state must be found in ∂gi ∂u
which the loads these temporary supports carry are zeroed out. ∇s gi = (13)
∂u ∂s
Form-finding a structure whose topology diagram T contains While Equations 1-7 are compact algebraic manipulations
at least one auxiliary trail hence becomes a constrained form- for which derivatives can be found analytically, manually ap-
finding task. The initially-desired static equilibrium state for plying the chain rule through the control flow structure of the
a structure is obtained only after solving the optimization CEM form-finding algorithm (see Algorithm 1) to calculate
problem discussed in Section 2.4, where the objective function the partial derivative of the system solution with respect to the
L is extended with extra penalty terms we show in Equation 11. optimization parameters has been a complex task [24]. Instead
of circumventing its sequential and iterative characteristics, we
1X exploit the implementation of the CEM form-finding algorithm
wa (µti, j − µ̄ti, j )2a (11) we develop in Section 3.3 by using AD in reverse mode to
2 a
obtain a version of ∇s L(s) that is exact up to floating-point
The purpose of the additional penalty terms is to minimize precision. AD ingests the function L, and generates another
the difference between the target force µ̄ti, j and the actual force function that calculates the associated gradient ∇s L(s). The key
µti, j in the trail edge eti, j of each auxiliary trail ωa in T . These insight is that ∇s L(s) is automatically generated by a computer
terms are equivalent to constraint function g4 in Table 2. By program.
extension, when the force in the trail edge of an auxiliary trail We stress that AD provides a numerical value of ∇s L(s)
is zero µti, j = 0, the reaction forces incident to its corresponding evaluated at a specific instance of s instead of generating an
support node also vanish, r = 0. analytical expression for it. Nevertheless, the AD output is
Figure 3 shows three topology diagrams T that use auxiliary adequate for our purposes since we use the value of ∇s L(s)
trails to remedy the modeling challenges posed by the diagrams to minimize Equation 9, regardless of what the underlying
in Figure 2. Figure 3a depicts a diagram T where auxiliary trails analytical expression might be. We refer the reader to [39, 40]
ωa2 = {1, 6} and ωa3 = {2, 5} are appended to nodes 1 and 2. for a detailed theoretical treatment on how reverse-mode AD
Meanwhile, in Figure 3b, trail ω2 = {2, 3, 4} is deleted, thus evaluates derivatives of algorithmically expressed functions. To
leaving node v2 trail unassigned. An auxiliary trail ωa2 = {2, 5} illustrate how AD operates specifically through the calculations
is attached to v2 to make T valid again. As portrayed by Figure of the CEM framework, we supplement the discussion with a
3c, an auxiliary trail is annexed to each of the four nodes of the toy constrained form-finding example.
tensegrity structure in Figure 2c to correct its initial topological
invalidity. 3.2.1. Example
Consider a two-segment strut subjected to an horizontal
compressive force q1 . Figure 4a shows the topology diagram
T , the internal force states C and the design parameters x. The

7
that interact with the entries in s in their journey towards
p1 = [0, 0, 0] 2 3 L(s). The evaluation trace is broken next into a sequence of
elementary mathematical operations, such as sums, divisions
q1 = [1, 0, 0] c1,2= -1 c2,3= -1 and multiplications, whose outputs are stored in intermediary
λ1,2= 1 λ2,3= 1
variables vi . Dependency relations between the variables vi
are finally represented as nodes and edges in a computation
(a) Topology diagram T , edge internal force states c1,2 , c2,3 ; and input design parameters x graph [53] which we show for this example in Figure 5. In this
(the position p1 of origin node vo1 ; the edge lengths λ1,2 , λ2,3 ; and the applied load q1 ).
example, from the 42 steps that Algorithm 1 comprises, only
one modifies s, which corresponds to Equation 1. We highlight
p1 = [0, 0, 0] p2 = [1, 0, 0] p3 = [2, 0, 0] p3 = [3, 0, 0]
-
the capability of AD to identify and register this automatically
q1= [1, 0, 0]
despite the loops and conditional statements in Algorithm 1.
c1,2 = -1 c2,3 = -1 r3 = [-1, 0, 0]
λ1,2 = 1 λ2,3 = 1
Once the evaluation trace is complete, reverse-mode AD
y
µ1,2 = 1 µ2,3 = 1 backpropagates derivatives on the nodes of the computation
graph that displayed in Figure 5. We present the derivatives
x
trace of our example on the right-hand side of Table 3. This
(b) Form diagram F and the equilibrium state u generated with the CEM form-finding
algorithm, which consists of the node positions p2 , p3 ; the edge absolute internal forces
reverse derivatives trace starts off at the value of the objective
µ1,2 , µ2,3 ; and the support reaction force r3 . To solve the constrained form-finding problem, function L(s) and ends once the nodes in the graph that
position p3 should reach the target position p̄3 .
correspond to the optimization parameters s are reached. Unlike
forward-mode AD, only one pass over the entire computation
p1 = [0, 0, 0] p2 = [1.5, 0, 0] p3 = [3, 0, 0] graph suffices to compute ∇s L(s) [54].
As AD walks in reverse over the graph, it calculates the
q1= [1, 0, 0] c1,2 = -1 c2,3 = -1 r3 = [-1, 0, 0] partial derivative of L(s) with respect to every intermediate
y λ = 1.5 λ2,3 = 1.5
1,2
µ = 1 µ2,3 = 1
node using the chain rule. This partial derivative v̄i , called an
1,2
adjoint, quantifies the sensitivity of the output L(s) to changes
x
in the value of an intermediary variable vi as expressed in
(c) Constrained form diagram F̄ and the equilibrium state ū post-optimization. The node
position p3 moves to p̄3 once the gradient-based optimizer modifies the edge lengths such
Equation 14.
that λ1,2 = λ2,3 = 1.5.

Figure 4: Constrained form-finding of a two-segment strut. ∂L(s) X ∂v j


v̄i = = v̄ j (14)
∂vi j
∂vi
compression-only diagram F corresponding to the state of static The calculation of v̄i is carried out by looking at each of the j
equilibrium u output by the CEM form-finding algorithm is immediate children nodes of the variable vi in the computation
given in Figure 4b. In this example, we impose a geometric
restriction on the position of node v3 : it should land at p̄3 =
[3, 0, 0]. However, the resulting position p3 = [2, 0, 0] is away t1 p1
from the target.
We are deliberately unsure of what combination of trail edge
lengths λti, j would result in a constrained state of static equilib- λ1,2 v1 v2
rium ū that matches p̄3 . To solve this constrained form-finding
problem, we set the two trail edge lengths as optimization
variables such that s = [λ1,2 , λ2,3 ] = [1, 1]. The superscript t in λ2,3 v3 v4 v5 v6 v7
λti, j is dropped in this example for legibility. The only constraint
function used is g1 from Table 2 and the penalty factor w1 is set v8 v9
t2 p̄3 L(s)
to w1 = 1.
The value of the gradient that reverse-mode AD computes
is ∇s L(s) = [−1, −1]. As expected, the negative magnitude of
the partial derivatives in the gradient indicates that adjusting s Figure 5: Computation graph of the two-segment strut example described in
Section 3.2.1. The graph traces the operations involved in the evaluation the
in the opposite direction of the gradient would elongate both
objective function L(s) at optimization parameters s = [λ1,2 , λ2,3 ] during the
trail edges for p3 to move closer to the target position p̄3 forward pass (solid arrows). The nodes vi store the output of each of the
after the next optimization step. Reverse-mode AD arrives at intermediary operations that modify s on their way to L(s). Nodes v1 to v4
∇s L(s) = [−1, −1] after processing one forward and one reverse correspond to operations that occur within the CEM form-finding algorithm
(see Algorithm 1), while nodes v5 to v7 to those executed in the evaluation of
computation trace, one after the other, as we show in Table 3. the constraint function g1 . Nodes v8 and v9 evaluate Equation 9. To evaluate
First, AD builds a forward evaluation trace (also called a the gradient ∇s L(s), reverse-mode AD propagates the partial derivatives of
Wenger list [52]) once it calculates the output value of the each node as per Equation 14 in the opposite direction of the forward pass
objective function L(s). During the assembly of the evalu- (backpropagation, dotted arrows). We unpack the operations of both the
evaluation trace and the derivatives trace in Table 3.
ation trace, AD keeps track of the sequence of operations

8
Evaluation trace (Forward pass) Derivatives trace (Backpropagation)
∂v1
λ1,2 =1 λ̄1,2 = v̄1 ∂λ 1,2
= v̄>1 c1,2 ktt11 k = −1
∂v3
λ2,3 =1 λ̄2,3 = v̄3 ∂λ 2,3
= v̄>3 c2,3 ktt22 k = −1
v1 = λ1,2 × c1,2 ktt11 k = 1 × [1,0,0]
1 = [ 1, 0, 0] v̄1 = v̄2 ∂v2
∂v1 = v̄2 × 1 = [−1, 0, 0]
∂v4
v2 = v1 + p1 = [1, 0, 0] + [0, 0, 0] = [ 1, 0, 0] v̄2 = v̄4 ∂v2 = v̄4 × 1 = [−1, 0, 0]
v3 = λ2,3 × c2,3 ktt22 k = 1 × [1,0,0]
1 = [ 1, 0, 0] v̄3 = v̄4 ∂v4
∂v3 = v̄4 × 1 = [−1, 0, 0]
∂v5
v4 = v3 + v2 = [1, 0, 0] + [1, 0, 0] = [ 1, 0, 0] v̄4 = v̄5 ∂v4 = v̄5 × 1 = [−1, 0, 0]
∂v6
v5 = v4 − p̄3 = [2, 0, 0] − [3, 0, 0] = [−1, 0, 0] v̄5 = v̄6 ∂v = v̄6 × 2 × v5 = [−1, 0, 0]
5
∂v7 √
v6 = v>5 · v5 = [−1, 0, 0]> · [−1, 0, 0] =1 v̄6 = v̄7 ∂v = v̄7 × 0.5 × v6 = 0.5
√ √ 6
v7 = v6 = 1 =1 v̄7 = v̄8 ∂v8
∂v7 = v̄8 × 2 × v7 =1
∂v9
v8 = v7 × v7 =1×1 =1 v̄8 = v̄9 ∂v8
= v̄9 × 0.5 = 0.5
v9 = v8 × 0.5 = 1 × 0.5 = 0.5 v̄9 = L̄(s) ∂L(s)
∂v9 = L̄(s) × 1 =1
L(s) = 0.5 L̄(s) =1

Table 3: Automatic differentiation (AD) applied to the CEM form-finding algorithm Equation 9 to solve the constrained form-finding problem depicted in Figure 4b.
To evaluate the gradient ∇s L(s) of Equation 9 in Section 3.2.1, reverse-mode AD operates on two computation traces: firstly, one evaluation trace (left-hand side)
and secondly, one derivatives trace (right-hand side). To construct the former, AD evaluates Equation 9 and Algorithm 1, and keeps of all the elementary operations
that modify the optimization parameters s = [λ1,2 , λ2,3 ] (in this case, the length of the edges e1,2 and e2,3 ), and the sequence in which they alter them. The output of
each basic operation is stored in intermediary variables vi which finally become interconnected nodes in the computation graph we show in Figure 5. AD calculates
partial derivatives of each of the nodes with respect to L(s) (i.e. the adjoints, v̄i ) walking in reverse over the edges of the graph and applying the chain rules. The
walk starts from the last operation tracked in the evaluation trace and ends when s is reached. The adjoints of the optimization parameters are finally the entries in
the gradient, ∇s L(s) = [−1, −1]. After [40].

graph [53, 55]. In this example, the value of the gradient Equation 9, and delegates the evaluation of the gradient ∇s L(s)
finally results from the adjoints of the optimization parameters shown in Equation 12 with AD to autograd [67]. This choice
∇s L(s) = [λ̄1,2 , λ̄2,3 ] where their partial derivatives are scaled of dependencies is not restrictive. In the future, we envision
by the adjoints v̄1 and v̄3 , such that λ̄1,2 = v̄1 ∂v1 /∂λ1,2 and integrating other Python optimization and automatic differen-
λ̄2,3 = v̄3 ∂v3 /∂λ2,3 . tiation libraries such as scipy [68] and hyperjet [69].
The codebase of the design tool we propose follows a modu-
3.3. Design tool lar and object-oriented structure. For a granular overview of the
With the goal of making our work usable and reproducible, objects and functions that it comprises, we refer the interested
the CEM framework and the extensions presented hitherto are reader to the latest version of the compas cem manual available
consolidated in a standalone, open-source design tool called online [56]. We offer instead a walk-trough over a minimal
compas cem [56]. The tool is written in Python [57] and working example of compas cem written in 59 lines of Python
is integrated into the COMPAS framework, a computational code and discuss how it relates to the theoretical concepts
ecosystem for collaboration and research in architecture, en- developed in Sections 2 and 3. This example, shown in Figure
gineering, fabrication, and construction [58]. As a COMPAS 6, generates the structure we presented in Section 3.2.
extension, compas cem can interface seamlessly with other The required compas cem imports occur in lines 1-11. A
packages in the COMPAS framework to perform additional TopologyDiagram() object, instantiated in line 16 is a child
tasks on the structures generated with this tool [59–61]. class of the Network() relational datastructure from COM-
A first CEM toolkit was presented in [62] as a plugin PAS. A Network() is a graph that facilitates the storage of
bound to the Windows version of Grasshopper [63]. In contrast, attributes on its vertices and edges as Python dictionaries.
compas cem runs independently from 3D modeling software, Therefore, the inputs to the CEM form-finding algorithm, the
and it makes it possible to solve constrained form-finding topology diagram T and the design parameters x, are stored
problems on tension-compression structures readily from the in the same TopologyDiagram() object. In lines 25-26, we
command line interface of any of three major computer op- set the internal force state of the trail edges ci, j as the sign
erating systems: Windows, MacOS and Linux. Furthermore, of the length that parametrizes them (see Section 2.1). The
COMPAS provides our tool with the necessary interfaces to be negative length indicates that the edges are under compression,
invoked directly inside Blender [64], Rhino for Windows and c1,2 = c2,3 = −1 . A positive length would conversely assign
Rhino for MacOS [65], and Grasshopper [63]. We illustrate them a tension state. After defining nodes, edges, supports and
this possibility in the structural design application we discuss loads in lines 18-32, the composition of T can be formally
in Section 5. expressed as V = {1, 2, 3}, E = {(1, 2), (2, 3)}, S = {3}.
Currently, compas cem uses the implementation of the op- A graph traversal algorithm that automatically searches for
timization algorithms in the NLopt library [66] to minimize trails Ω is invoked on line 35. This algorithm takes the support

9
node vs3 as the search starting point and moves recursively over trail ωa to any node that was not automatically assigned to a
the next trail edge ei, j connected until no more trail edges are trail by the graph traversal, as exposed in Section 3.1. Only
found. If the boolean argument auxiliary trails were set one trail is expected in this example, ω1 = {1, 2, 3}. In line 39,
to True, the trail-search algorithm would attach an auxiliary the CEM form-finding algorithm is invoked to output a form
diagram F, conditioned on τmax = 1 and ηmin = 1 × 10−5 . As
with TopologyDiagram(), F is a subclass of Network() that
1 from compas_cem.diagrams import TopologyDiagram self-contains the attributes that describe the generated state of
2 from compas_cem.elements import Node
3 from compas_cem.elements import DeviationEdge
static equilibrium u.
4 from compas_cem.elements import TrailEdge The generation of a constrained form diagram F̄ is spread
5 from compas_cem.equilibrium import static_equilibrium over lines 43-54. Equation 9 is minimized with the SLSQP
6 from compas_cem.loads import NodeLoad optimization algorithm [50] from NLopt [66] using an opti-
from compas_cem.optimization import Optimizer
mization convergence threshold of  = 1 × 10−6 . In line 46,
7
8 from compas_cem.optimization import PointConstraint
9 from compas_cem.optimization import TrailEdgeParameter we specify that the desired position for node v3 is p̄3 = [3, 0, 0],
10 from compas_cem.plotters import Plotter and in lines 50-51, we define the optimization parameters s as
11 from compas_cem.supports import NodeSupport he length of the trail edges created in lines 25-26 such that
12
13
s = [λt1,2 , λt2,3 ]. The constrained form-finding problem is solved
14 # 1. Define inputs in line 54. Internally, autograd [67] evaluates the gradient,
15 # Instantiate an empty topology diagram as required by the optimization process. We plot the resulting
16 topology = TopologyDiagram()
instance of F̄ in line 59 of the code and show it in Figure 4c.
17
18 # Add nodes
19 topology.add_node(Node(1, xyz=[0., 0., 0.]))
20 topology.add_node(Node(2)) 4. Numerical validation
21 topology.add_node(Node(3))
22 The intent of this section is to quantitatively benchmark the
23 # Add edges extensions we make to the CEM framework. We study three
24 # The sign of the length indicates the force state structures that leverage auxiliary trails to be topologically com-
25 topology.add_edge(TrailEdge(1, 2, length=-1.))
26 topology.add_edge(TrailEdge(2, 3, length=-1.)) patible with the CEM form-finding algorithm: a self-stressed
27 tensegrity wheel, a tree canopy and a bridge curved on plan.
28 # Indicate support node We assume that all the structures are pin-jointed and only
29 topology.add_support(NodeSupport(3)) bear axial forces. We model the first two structures using only
30
31 # Add load deviation edges to illustrate how, in an extreme case, inserting
32 topology.add_load(NodeLoad(1, vector=[1., 0., 0.])) an auxiliary trail to every node in T can relieve designers
33 from the trail-deviation edge labeling process (see Section 2.1).
34 # Build trails automatically
The bridge structure follows a more conventional topological
35 topology.build_trails(auxiliary_trails=False)
36
modeling approach and only appends auxiliary trails at the tip
37 # 2. Form-Finding of the cantilevering hangers.
38 # Generate form diagram in static equilibrium The primary goal of all the constrained form-finding ex-
39 form = static_equilibrium(topology, tmax=1, eta=1e-5)
40
periments in this section is to minimize the forces in the
41 # 3. Constrained Form-Finding auxiliary trails by setting the target edge force µ̂i to zero.
42 # Instantiate an optimizer We impose additional geometric constraints to the bridge to
43 optimizer = Optimizer() test the auxiliary trails extension we propose in combination
44
45 # Set target position for node 3
with more constraint types. The penalty factors for all the
46 constraint = PointConstraint(3, point=[3., 0., 0.]) constraints are equal to one, w = 1, and the distance threshold
47 optimizer.add_constraint(constraint) for iterative equilibrium in the CEM form-finding algorithm is
48
ηmin = 1 × 10−6 (See Section 2.3.2).
49 # Define optimization parameters
50 optimizer.add_parameter(TrailEdgeParameter((1, 2))) We solve each constrained form-finding experiment using
51 optimizer.add_parameter(TrailEdgeParameter((2, 3))) automatic differentiation (AD) and finite differences (FD) with
52 different step sizes h, following the implementation of the
53 # Solve constrained form-finding problem baseline version of the CEM framework [24, 25, 62]. We fix
54 cform = optimizer.solve(topology, "SLSQP", eps=1e-6)
55
the optimization convergence thresholds to  = 1 × 10−6 and
56 # 4. Visualize constrained form diagram κ = 1 × 10−8 in all experiments, and compare the impact of the
57 plotter = Plotter() two differentiation schemes by looking at the total convergence
58 plotter.add(cform)
runtime (i.e. the elapsed time in seconds it takes an optimization
59 plotter.show()
algorithm to converge), the number of optimization parameters,
and the output value of the objective function after convergence
Figure 6: Python code that models the compression chain shown in Figures 4a
to a constrained equilibrium state ū. We run every experiment
and 4b with the version of compas cem at the time of writing [56]. ten times and report the resulting mean values per experiment.

10
of optimization parameters increases, irrespective of the step
size h (see Figure 8a). When the number of parameters is the
highest (n = 8, 384 parameters), form-finding the tensegrity
wheel with AD gradients takes only 2.1% of the time it took
to do so with the best FD performance (1.32 vs. 64.55 seconds,
when h = 1×10−9 ). In contrast, the AD convergence time scales
linearly with the total number of parameters.
Figures 8a and 8b expose the effect that changing the value
of h has on the convergence with FD. The computation time
with FD for a single iteration is equivalent for all the values
(a) Topology T (left) and constrained form diagram F̄ (right) of a wheel.
12 parameters (8 sides) of h we tested. However, if h is too large (h = 1 × 10−3 )
AD: 0.04 sec / FD: 0.09 sec or too small (h = 1 × 10−12 ), then convergence with FD for
this tensegrity structure is slower because the optimizer needs
more iterations to reach an optimal solution for s due to an
inaccurate approximation of the gradient ∇s L(s). For example,
the optimizer requires 5 and 41 more iterations than AD to
solve a tensegrity wheel with n = 8, when h = 1 × 103 and
h = 1 × 10−12 respectively.

4.2. Auxiliary trails in 3D


We test the addition of auxiliary trails to a three-dimensional
tree canopy structure (see Figure 9). We observe how the
24 parameters (16 sides) 48 parameters (32 sides)
AD: 0.12 sec / FD: 0.30 sec AD: 0.17 sec / FD: 1.08 sec
AD
(b) Constrained form diagrams F̄ 103
FD, h = 1 × 10−3
Figure 7: Planar tensegrity wheels form-found using the extended CEM FD, h = 1 × 10−6
framework. The wheels are self-stressed. Auxiliary trails are not drawn in FD, h = 1 × 10−9
Time (seconds)

the diagrams F̄ as they bear no force post optimization. We contrast the total FD, h = 1 × 10−12
convergence runtime for AD and FD with h = 1 × 10−9 per diagram F̄. 101

For reference, we execute the work we present in this section


for both AD and FD in a collection of jupyter notebooks 10−1
[70] using compas cem on MacOS, on a quad-core Intel CPU
clocked at 2.9 GHz. We make these notebooks available as
supplementary data in [45]. 6 12 24 48 96 192 384
# Optimization parameters
4.1. Auxiliary trails in 2D (a) Convergence time

Self-stressed structures are not subjected to external loads


and are support-free. Here, we model a 2D self-stressed tenseg- AD
40 FD, h = 1 × 10−3
rity wheel such that its perimeter is entirely in tension and FD, h = 1 × 10−6
the internal spokes in compression (Figure 7). We carry out a FD, h = 1 × 10−9
20
# Iterations

parametric study where we progressively increased the number FD, h = 1 × 10−12


of optimization parameters as we incremented the number of
sides on the perimeter of the wheel in steps of size 2n , where 10
n ∈ {2, ..., 8}. Equation 9 is minimized with the L-BFGS
algorithm [49]. For each configuration, the topological diagram 5
of the wheel comprises 2n+1 nodes and 2n+1 − 0.5(2n ) edges,
of which 1.5(2n ) are deviation edges and the remainder, the
edges of the auxiliary trails. We consider the force in every 6 12 24 48 96 192 384
deviation edge an optimization parameter in s and test FD with # Optimization parameters
four different step sizes h, three orders of magnitude apart, (b) Number of iterations for convergence
h ∈ {1 × 10−3 , 1 × 10−6 , 1 × 10−9 , 1 × 10−12 }. All the wheel
Figure 8: Performance comparison between AD and FD to optimize a planar
experiments converge by satisfying the condition L(s) ≤  in tensegrity wheel. Using FD is computationally more expensive than AD as the
Equation 10. number of optimization parameters increases (Figure 8a). Inadequate values of
While AD and FD show comparable performance when n < the step size h raise the number of iterations required for convergence and thus
4, the total time for convergence with FD surges as the number extend the convergence runtime (Figure 8b).

11
z z

x x

y y

(a) Topology diagram, T (b) Form diagram, F (c) Constrained form diagram, F̄

Figure 9: Tree canopy. The auxiliary trails on the branches take a large portion of the support reaction forces in the form diagram F. After optimizing the position
of the nodes, the reaction forces in the constrained form diagram F̄ are taken only by the two supports at the base of the structure, while the internal forces in the
auxiliary trails vanished.

performance of AD and FD differs as the choice of optimization seconds for the tensegrity versus 182 parameters and 11.15
algorithm changed. We model the initial tree structure with 46 seconds for the tree.
nodes and 72 deviation edges. The total number of nodes and A plausible reason for this discrepancy is that, for the tree
edges in the topological diagram doubles after inserting the structure, both the node positions and the deviation edge forces
auxiliary trails. We apply a point load q = [0, 0, −0.5] to the are set as optimization parameters, whereas for the spoke wheel
nodes at the top layer of the structure. the optimization parameters only contemplate the forces in the
To minimize the forces in the auxiliary trails, we define deviation edges. The minimization of the auxiliary trail forces
186 optimization parameters. These parameters consist of the utilizing both the node positions and the internal forces of the
positions of the origin nodes, which are allowed to translate structure is a non-linear problem that can be computationally
only in the Y and Z Cartesian directions, and the force magni- more expensive to solve.
tude in every deviation edge. We test three different gradient-
based optimization algorithms: L-BFGS [49], SLSQP [50], and 4.3. Auxiliary trails in 3D and additional constraints
AUGLAG [71] and run them for a maximum of umax = 200 We combine force and geometric constraints to steer the
optimization iterations. The FD step sizes we discuss for this form-finding of a bridge with no intermediary supports (see
structure are h ∈ {1 × 10−6 , 1 × 10−9 }. Figure 12). The bridge is curved on plan in the longitudinal
In Figure 10, we report the elapsed time per iteration that direction and a series of triangular hangers in its transversal
the optimization algorithms took to converge by meeting the direction takes a uniformly distributed line load produced by
condition L(s) ≤  in Equation 10 with  = 1 × 10−6 . We an eccentric runway. We convert this torsional into point loads
calculate the time per iteration by dividing the convergence
runtime over the total number of iterations incurred. This
ratio is nearly equal for both FD step sizes across the three 2.5
2.22 2.21
Time per iteration (seconds)

optimization algorithms we assessed. Minimizing the forces in


the auxiliary trails of the tree structure is at least 10 times faster 2.0
per iteration using AD than with FD. The optimization time 1.62 1.65
1.53 1.52
with AD is at most 0.14 seconds per iteration with L-BFGS, 1.5 AD
whereas this value rises to 1.52 seconds with FD and SLSQP. FD, h = 1 × 10−6
1.0 FD, h = 1 × 10−9
Among the three optimization algorithms we test, L-BFGS
takes the least number of iterations to solve this constrained
form-finding problem for both differentiation schemes, requir- 0.5
ing 78 and 120 iterations to converge for AD and FD, respec- 0.14 0.12 0.12
tively. Moreover, the minimization of Equation 9 with AD is at 0.0
LBFGS SLSQP AUGLAG
least one order of magnitude faster for the 2D tensegrity struc- Optimization algorithm
ture described in Section 4.1 than it is with the tree structure
presented here, despite the size of the two constrained form- Figure 10: Tree canopy. Convergence with AD is at least 10 times faster per
iteration than FD. This disparity in computational performance is consistent for
finding problems is similar and the optimization algorithm is
this constrained form-finding problem regardless of the optimization algorithm.
the same: 192 parameters and a convergence runtime of 0.65
12
(a) Topology diagram T (4 hangers)

18 parameters (4 hangers)
AD: 0.5 sec / FD: 1.2 sec

Figure 11: Architectural vision for the constrained form diagram F̄ shown
in Figure 9. The form-found tree canopy is repeated sequentially to create a
colonnade of load-bearing trees.

24 parameters (6 hangers)
via tributary lengths and apply them to the tip of the hangers. AD 1.5 sec / FD: 3.3 sec

Unlike the spoke wheel and the tree structure discussed in


Sections 4.1 and 4.2, we model the topological diagram T of
the bridge using a hybrid strategy: we append auxiliary trails
only to the nodes to the tip of the hangers because we assign
all the other nodes in T to a standard trail on the longitudinal
chords of the bridge.
The geometric constraint for this structure is to pull the
support nodes towards two predetermined vertical line rays
located at either extreme of the bridge, in addition to vanishing
30 parameters (8 hangers)
the forces in the auxiliary trails. The rationale behind this AD: 3.1 sec / FD: 7.7 sec
constraint is to arrive at a form in static equilibrium subject
to a limited range of locations to anchor the bridge abutments.
The forces in all the deviation edges in T are considered
optimization parameters, in addition to the length of the four
trail edges connected to a support node.
We do a sensitivity analysis and compare AD and FD by
monotonically increasing the number of hangers, from 4 to
22 in even steps, and then solving the resulting bridge con-
strained form-finding problem with SLSQP [50]. The number
of optimization parameters ranges from 18, when the number of 42 parameters (12 hangers)
triangular hangers is the smallest, to 72 when it is the greatest. AD: 7.3 sec / FD: 23.0 sec
Our goal of is to estimate the time this constrained form- (b) Constrained form diagrams F̄
finding problem would take to converge to L(s) ≤ , where
 = 1 × 10−6 , when we add auxiliary trails only to a portion Figure 12: Sensitivity analysis of a 3D bridge curved on plan. The form
diagrams F obtained after the first run of the CEM form-finding algorithm are
of the nodes in T of the bridge. We set the step size for FD to drawn in the background with dotted lines. The forces in the auxiliary trails at
h ∈ {1 × 10−3 , 1 × 10−6 , 1 × 10−9 , 1 × 10−12 } and we restrict the tip of the hangers have been minimized and the bridge endpoints pulled to
the number of optimization iterations to υmax = 100 for both the dashed vertical lines in black. The solution to this constrained form-finding
differentiation methods, AD and FD. problem is consistently faster with AD.
Figure 13a shows that the time for convergence with FD

13
especially during the conceptual design stage.
102
5.1. Design task
Time (seconds)

We design the load-bearing structure of a spiral staircase


10 1 subjected to the design constraints listed in Section 5.3. The
external perimeter of the staircase follows a semicircle on-
plan with a diameter of 4 meters (Figure 14b). The staircase
AD
is planned to connect the ground floor to the mezzanine slab
FD, h = 1 × 10−6
100 with a single run of 18 equidistant steps. Every step is 1 meter
FD, h = 1 × 10−9
FD, h = 1 × 10−12 wide and perpendicular to the semicircle. The mezzanine slab
is 3.4 meters above the ground floor and the design load is of 1
18 24 30 36 42 48 54 60 66 72
# Optimization parameters kN per step.
Inspired by the Fourth Bridge over the Grand Canal in Venice
(a) Convergence time
[72], we use the extended CEM framework to form-find a
spiraling truss-like structure for the staircase. The structure
103 is imagined to carry the applied loads via cross-shaped ribs
suspended on two curving chords. The chords are initially
102 AD
proposed to be 1 meter apart from each other, running parallel
FD, h = 1 × 10−3
FD, h = 1 × 10−6
to the run of stairs and to be anchored at their intersections with
L(s)/

1
10
FD, h = 1 × 10−9 the ground floor and the shallow side of the mezzanine slab.
L(s)/ = 1 FD, h = 1 × 10−12 The static equilibrium concept is to first use the tread in every
100
step of the staircase as a tension element that tied the upper
half of the compression rib underneath (see callout rectangle
10−1
in Figure 14c). Next, the goal is to resist the torsional effects
produced by the forces coming from the ribs by coupling the
18 24 30 36 42 48 54 60 66 72 two chords as a pair of tension-compression rings.
# Optimization parameters
(b) Convergence rate 5.2. Topology diagram
Figure 13: Curved bridge. Optimizing the bridge with FD is consistently Figure 14a displays the topology diagram T we build to
more expensive than with AD regardless of the step size h. (Figure 13a). The form-find the staircase. We represent each of the chords with
optimizer misses the optimization convergence threshold  = 1 × 10−6 by at two trails connected by a single deviation edge at the middle
least two orders of magnitude with FD and h = 1 × 10−3 (Figure 13b).
since the chords are the two main paths for load transfer towards
the supports. As secondary load-transfer elements, we model
is nearly the same for three different step sizes h across all the 18 ribs and ties with deviation edges and auxiliary trails.
experiments. The optimizer did not converge with h = 1 × 10−3
for this structure. This is different from the observations we 5.3. Design constraints
make after studying a planar tensegrity in Section 4.1, where The form-found shape of the staircase structure has to con-
FD with a step size of h = 1 × 10−3 converges and h = 1 × 10−12 form to a number of design requirements in addition to the
extends the convergence runtime of the optimizer with FD. This minimization of the forces in the 54 auxiliary trails in T . We
finding illustrates that the impact of h on the quality of the show these graphically in Figure 14b.
gradient approximation is problem dependent. The side of the mezzanine slab where the chords have to be
Figure 13b provides insight into the inadequacy of h = anchored has a maximum pull-out force capacity of 35 kN at
1 × 10−3 . The final value of the objective function L(s) is, position p̄1 = [0, 4, 3.4]. As a result, the position of support
on average, two orders of magnitude higher than the desired node vs1 in the tension chord must coincide with p̄1 , and the
optimization convergence threshold . In contrast, AD and target absolute force magnitude passing through edge e1,2 has
FD with the three other step sizes h meet the target value of to be constrained to µ̄1,2 = 35 kN. The position of the support
 within the iteration budget υmax = 100 since they reach node on the compression chord vs21 is restricted to slide on a
L(s)/ ≤ 1. Nevertheless, optimizing the bridge is consistently horizontal line 0.20 meters below p̄1 , parallel to the bottom
more expedite with AD: convergence with a AD is 2.4 and 5.0 edge of the soffit of the mezzanine slab. We set these design
times faster when the number of parameters is the smallest (22) requirements as optimization constraints.
and the largest (72) respectively. Additionally, we define a sequence of planes to constrain,
with the CEM form-finding algorithm, the position of the nodes
on the chords to the plane formed by the upper portion of the rib
5. Case study
they connect to (see Section 2.3.1). For example, nodes v5 and
We illustrate the potential of the extended CEM framework v25 in T should lie on the plane formed by vo50 , vo51 , vo52 , which
to support designers in practical structural design problems, is plane φd in Figure 14b. Numerically, plane φd corresponds

14
[0, 0, 0] and normal nφ = [0, 0, 1], whereas plane φt is defined
s
to the intersection planes φ6,5 and φ26,25 of trail edges et6,5 and
by pφ = p̄1 and nφ = [1, 0, 0].
t t
et26,25 in T , respectively. The reasoning behind this planarity
constraint is to enable the fabrication of the ribs from flat
sheets of material. Similarly, we pull the positions of the bottom 5.4. Constrained form diagram
support node per chord to the ground floor plane φ s and that We parametrize this constrained form-finding problem by
of the support nodes at the top to φt to explicitly restrict the setting the absolute force magnitude in all the deviation edges
feasible range of positions of these nodes can take during the µd as entries in the vector of optimization parameters s. We
optimization process. Plane φ s is described by base point pφ =
s
also allow the position of the origin nodes on the chords

trail trail

tension 1 2 3 4 5 6 7 8 9 10 11 20
chord
51

50

52
compression
chord
21 25 30 31 40

trail trail

(a) Topology diagram with auxiliary trails, T . The tension and compression chords of the staircase are represented by two trails and one deviation edge each. Edges ed5,50 , ed25,50 , ed52,50 , ed52,50
model one of the 18 compression ribs and represents ed51,52 its matching tension tie. The design load was of 1 kN per step was applied as q = [0, 0, −0.5] kN to the end-nodes on the tension
ties (e.g. to nodes vo51 , vo52 ).

1.0 m 1.28 m

35.0 kN 35.0 kN
43.7 kN

p1 p1
2 2
a
3 21
b
4 21
c z z
5 y x y x
d 5
6 3.4 m 25
25 0.2 m
t
e

7 f 0.5 kN
0.5 kN

8 g
51
52

9 h

30 4.2 kN 5 50
4.3 kN
10 i
31 25

j
11
m
4.0 m
k
n
l
o

p
q

s
40
r 20
20
40
33.1kN

55.8 kN

(b) Design constraints (c) Constrained form diagram, F̄

Figure 14: Application of the extended CEM framework to design the load-bearing structure of a spiral staircase. After constructing a topology diagram T (Figure
14a), a constrained form diagram F̄ (Figure 14c) that complies with a priori structural and fabrication constraints is computed using AD. The design constraints
input to Equation 9 in addition to the minimization of the forces in the auxiliary trails are shown in pink in Figure 14b and comprise: i) restraining the position of
node vs1 to target position p̄1 = [0, 4, 3.4], ii) fixing the magnitude of support force r1 to 35 kN; and iii) constraining p21 to lie on a continuous horizontal line 0.2
meters below p̄1 . We also restrict via the CEM form-finding algorithm the position of every pair of unsupported nodes on the chords to the projection plane defined
by the nodes of the funicular rib they connect to (e.g. v5 and v25 to φd ), the position that of support nodes vs20 , vs40 to the ground floor plane φ s and that of nodes
vs1 , vs21 to the slab plane φt

15
Auxiliary trails simplified the construction of valid topology
diagrams for more types of structures that were difficult to be
topologically modeled otherwise, such as branching structures,
triangular cantilevers, and self-stressed systems. These helper
trails also made it possible to explicitly model a structure
only with deviation edges while still fulfilling the topological
modeling rules of the CEM form-finding algorithm.
The application of AD enabled the automatic calculation of
an exact gradient value of the CEM form-finding algorithm,
no longer an approximation that depended on the calibration
of a step size as in previous work. While the FD baseline and
AD saw comparable performance for small constrained form-
finding problems, our experiments demonstrated that calculat-
ing a constrained state of static equilibrium can be substantially
faster with AD as the number of optimization parameters
increases. Using AD opens up the possibility to accelerate
design exploration cycles with the extended CEM framework,
especially for large constrained form-finding problems.
With compas cem, we consolidated our work into an open-
source design tool. The tool enables the formulation and the so-
lution of constrained form-finding problems in plain and simple
Python code. Furthermore, compas cem enables designers to
use the extended CEM framework on three different operating
systems and on three distinct pieces of 3D modeling software.
The work presented herein has limitations. Computing an
equilibrium state where auxiliary trails are not load-bearing
hinges on the solution of a constrained form-finding problem
and not on a single run of the CEM form-finding algorithm.
Figure 15: Architectural interpretation of the constrained form diagram F̄ of a
This optimization dependency is starker when a structure is
spiral staircase generated with the extended CEM framework.
modeled entirely with deviation edges. Consequently, the risk
of using auxiliary trails is to end up with an under-parametrized
vo10 , vo11 , vo30 , vo31 to translate vertically. The resulting optimiza- or an over-constrained problem where neither equilibrium nor
tion problem is minimized with L-BFGS [49]. any other design constraint is met. We also hypothesize that
We show the resulting constrained form diagram F̄ in Figure the calculation of equilibrium states for deviation-only models
14c. The output values of the gradient ∇s L(s) and of the with the extended CEM framework may be comparable to
objective function L(s) reaches the optimization convergence the numerical formulation of the Update Reference Strategy
threshold  = 1 × 10−6 , implying that the generated F̄ for [10] and the Force Density Method [8, 9], and as such, form-
the staircase is satisfactory, meeting all the imposed design finding deviation-only models with our approach may share
constraints. We can observe that some of the trade-offs made their drawbacks. A deeper investigation of this relationship is
to solve this constrained form-finding task are that the initial left to subsequent publications.
distance between the chord supports on the mezzanine slab Future work should look into hybrid modeling strategies
increased from 1 meter to 1.28 meters and that the absolute that guide designers to best combine auxiliary trails with
magnitude of the reaction forces at the compression chord standard trail and deviation edges during the construction of
supports are about 25% and 60% higher than that at node vs1 a topology diagram. Other future research directions are to
post-optimization. add regularization terms to our current penalty approach to
Figure 15 finally shows one architectural interpretation of F̄. handle outlier constraints more robustly and to experiment with
more types of objective functions as presented in [44]. We
are also interested in leveraging more complex gradient-based
6. Conclusion optimization techniques such as Newton-based optimization
methods that utilize the second-order derivatives of the system
In this paper, we presented, developed and validated three
solution (i.e. the Hessian) to solve constrained form-finding
extensions to the CEM framework: auxiliary trails, AD and
problems more efficiently [37]. By delegating the computation
compas cem. Compared to the baseline version [23–25], our
of derivative values to a computer using AD, we can now
work positions the extended CEM framework as a more effi-
compose arbitrary design constraints and calculate higher-order
cient, general and accessible approach to generate structurally
derivatives with minimal friction: the only requisites are that
efficient shapes that best meet force and geometric design
the constraint and the objective functions are differentiable and
constraints.
written in (Python) code.
16
The adoption of computational techniques like AD can make [17] C. Fivet, D. Zastavni, A fully geometric approach for interactive
gradient-based optimization more accessible to researchers in constraint-based structural equilibrium design, Computer-Aided Design
61 (2015) 42–57. doi:10.1016/j.cad.2014.04.001.
the field and it can propel the development of integrative and [18] M. Rippmann, Funicular Shell Design: Geometric approaches to form
efficient frameworks that generate forms imbued with structural finding and fabrication of discrete funicular structures, Ph.D. thesis, ETH
and other non-structural design requirements. We ultimately Zurich (2016). doi:10.3929/ETHZ-A-010656780.
hope our work helps to position constrained form-finding [19] G. Senatore, D. Piker, Interactive real-time physics: An intuitive ap-
proach to form-finding and structural analysis for design and education,
methods as viable tools to tackle practical structural design Computer-Aided Design 61 (2015) 32–41. doi:10.1016/j.cad.
problems on a wider spectrum of structural typologies, beyond 2014.02.007.
the conventional catalog of shells and cable nets. [20] J. Lee, T. V. Mele, P. Block, Disjointed force polyhedra, Computer-Aided
Design 99 (2018) 11–28. doi:10.1016/j.cad.2018.02.004.
[21] A. Nejur, M. Akbarzadeh, PolyFrame, Efficient Computation for 3D
References Graphic Statics, Computer-Aided Design 134 (2021) 103003. doi:
10.1016/j.cad.2021.103003.
[1] W. J. Lewis, Tension Structures: Form and Behaviour, Thomas Telford ; [22] A. Michell, The limits of economy of material in frame-structures, The
Distributors, ASCE Press, London : Reston, VA, 2003. London, Edinburgh, and Dublin Philosophical Magazine and Journal of
[2] K. Bletzinger, Fifty Years of Progress for Shell and Spatial Structures : Science 8 (47) (1904) 589–597. doi:10.1080/14786440409463229.
In Celebration of the 50th Anniversary Jubilee of the IASS (1959-2009, [23] P. O. Ohlbrock, J. Schwartz, Combinatorial Equilibrium Modeling, In-
International Association for Shell and Spatial Structures, Madrid, 2011. ternational Journal of Space Structures 31 (2-4) (2016) 177–189. doi:
[3] J. H. Argyris, T. Angelopoulos, B. Bichat, A general method for the 10.1177/0266351116660799.
shape finding of lightweight tension structures, Computer Methods in [24] P. O. Ohlbrock, P. D’Acunto, A Computer-Aided Approach to Equilib-
Applied Mechanics and Engineering 3 (1) (1974) 135–149. doi:10. rium Design Based on Graphic Statics and Combinatorial Variations,
1016/0045-7825(74)90046-2. Computer-Aided Design 121 (2020) 102802. doi:10.1016/J.CAD.
[4] B. Tabarrok, Z. Qin, Nonlinear analysis of tension structures, Computers 2019.102802.
& Structures 45 (5-6) (1992) 973–984. doi:10.1016/0045-7949(92) [25] P. O. Ohlbrock, Combinatorial Equilibrium Modelling: A computational
90056-6. framework for equilibrium-based structural design, Ph.D. thesis, ETH
[5] M. R. Barnes, Form Finding and Analysis of Tension Structures by Zurich (2020). doi:10.3929/ETHZ-B-000478732.
Dynamic Relaxation, International Journal of Space Structures 14 (2) [26] M. Bahr, Form Finding and Analysis of Shells And Slabs based on
(1999) 89–104. doi:10.1260/0266351991494722. Equilibrium Solutions, Ph.D. thesis, ETH Zurich (2017). doi:10.3929/
[6] A. Kilian, J. Ochsendorf, Particle-Spring Systems for Structural Form ETHZ-B-000182853.
Finding, Journal of the International Association for Shell and Spatial [27] D. Panozzo, P. Block, O. Sorkine-Hornung, Designing Unreinforced
Structures 46 (2) (2005) 77–84. Masonry Models, ACM Transactions on Graphics - SIGGRAPH 2013
[7] S. Adriaenssens, L. Ney, E. Bodarwe, C. Williams, Finding the form of an 32 (4) (2013) 91:1–91:12. doi:10.1145/2461912.2461958.
irregular meshed steel and glass shell based on construction constraints, [28] H. Tamai, Advanced application of the force density method in mul-
Journal of Architectural Engineering 18 (3) (2012) 206–213. doi:10. tidisciplinary design practice by incorporating with optimization using
1061/(asce)ae.1943-5568.0000074. analytical derivatives, in: J. Obrebski, R. Tarczewski (Eds.), Proceedings
[8] K. Linkwitz, H. J. Schek, Einige Bemerkungen zur Berechnung von of the International Association for Shell and Spatial Structures (IASS)
vorgespannten Seilnetzkonstruktionen, Ingenieur-Archiv 40 (3) (1971) Symposium 2013, Wroclaw, Poland, 2013, p. 9.
145–158. doi:10.1007/BF00532146. [29] J. Y. Zhang, M. Ohsaki, Adaptive force density method for form-finding
[9] H.-J. Schek, The force density method for form finding and computation problem of tensegrity structures, International Journal of Solids and
of general networks, Computer Methods in Applied Mechanics and Structures 43 (18) (2006) 5658–5673. doi:10.1016/j.ijsolstr.
Engineering 3 (1) (1974) 115–134. doi:10.1016/0045-7825(74) 2005.10.011.
90045-0. [30] E. Allen, W. Zalewski, Form and Forces: Designing Efficient, Expressive
[10] K.-U. Bletzinger, E. Ramm, A General Finite Element Approach to the Structures, John Wiley & Sons, 2009.
form Finding of Tensile Structures by the Updated Reference Strategy, [31] M. Miki, K. Kawaguchi, Extended Force Density Method for Form-
International Journal of Space Structures 14 (2) (1999) 131–145. doi: Finding of Tension Structures, Journal of the International Association
10.1260/0266351991494759. for Shell and Spatial Structures 51 (4) (2010) 13.
[11] T. Nouri Baranger, Form Finding Method of Tensile Fabric Structures: [32] P. Malerba, M. Patelli, M. Quagliaroli, An Extended Force Density
Revised Geometric Stiffness Method, Journal of the International Associ- Method for the form finding of cable systems with new forms, Structural
ation for Shell and Spatial Structures 43 (1) (2002) 13–21. Engineering and Mechanics 42 (2012) 191–210. doi:10.12989/SEM.
[12] P. Block, J. Ochsendorf, Thrust network analysis: A new methodology for 2012.42.2.191.
three-dimensional equilibrium, Journal of the International Association [33] M. Quagliaroli, P. G. Malerba, Flexible bridge decks suspended by cable
for shell and spatial structures 48 (3) (2007) 167–173. nets. A constrained form finding approach, International Journal of Solids
[13] R. M. O. Pauletti, P. M. Pimenta, The natural force density method for the and Structures 50 (14) (2013) 2340–2352. doi:10.1016/j.ijsolstr.
shape finding of taut structures, Computer Methods in Applied Mechanics 2013.03.009.
and Engineering 197 (49) (2008) 4419–4428. doi:10.1016/j.cma. [34] P. O. Ohlbrock, P. D’acunto, J.-P. Jasienski, C. Fivet, Constraint-Driven
2008.05.017. Design with Combinatorial Equilibrium Modelling, in: Proceedings of
[14] P. D’Acunto, J.-P. Jasienski, P. O. Ohlbrock, C. Fivet, J. Schwartz, IASS Annual Symposia, Vol. 2017, International Association for Shell
D. Zastavni, Vector-based 3D graphic statics: A framework for the design and Spatial Structures (IASS), Hamburg, Germany, 2017, pp. 1–10.
of spatial structures based on the relation between form and forces, URL https://www.ingentaconnect.com/content/iass/piass/
International Journal of Solids and Structures 167 (2019) 58–70. doi: 2017/00002017/00000015/art00013
10.1016/J.IJSOLSTR.2019.02.008. [35] K. Takahashi, L. Ney, Advanced form finding by constraint projections
[15] M. Hablicsek, M. Akbarzadeh, Y. Guo, Algebraic 3D graphic statics: for structural equilibrium with design objectives, in: Proceedings of the
Reciprocal constructions, Computer-Aided Design 108 (2019) 30–41. IASS Symposium 2018, Boston, USA, 2018, p. 8.
doi:10.1016/j.cad.2018.08.003. [36] P. Cuvilliers, R. Danhaive, C. Mueller, Gradient-based optimization of
[16] D. Veenendaal, P. Block, An overview and comparison of structural form closest-fit funicular structures, in: K. Kawaguchi, M. Ohsaki, T. Takeuchi
finding methods for general networks, International Journal of Solids (Eds.), Proceedings of the IASS Annual Symposium 2016, Tokyo, Japan,
and Structures 49 (26) (2012) 3741–3753. doi:10.1016/j.ijsolstr. 2016, p. 10.
2012.08.008. [37] J. Nocedal, S. J. Wright, Numerical Optimization, 2nd Edition, Springer
Series in Operations Research, Springer, New York, 2006.

17
[38] G. Haase, U. Langer, E. Lindner, W. Mühlhuber, Optimal Sizing Us- [58] T. V. Mele, et al., COMPAS: A framework for computational research
ing Automatic Differentiation, in: K.-H. Hoffmann, R. H. W. Hoppe, in architecture and structures, http://compas.dev (2017-2021). doi:10.
V. Schulz (Eds.), Fast Solution of Discretized Optimization Problems, 5281/zenodo.2594510.
ISNM International Series of Numerical Mathematics, Birkhäuser, Basel, URL https://doi.org/10.5281/zenodo.2594510
2001, pp. 120–138. doi:10.1007/978-3-0348-8233-0_10. [59] A. Liew, T. Mendez-Echenagucia, F. Ranaudo, T. Van Mele, COM-
[39] G. Corliss, C. Faure, A. Griewank, L. Hascoet, U. Naumann, Automatic PAS FEA: Finite element analysis using Abaqus, Ansys, or OpenSEES
Differentiation of Algorithms: From Simulation to Optimization., (2021).
Springer, New York, NY, 2013. URL https://https://compas.dev/compas_fea/
URL https://public.ebookcentral.proquest.com/choice/ [60] M. Bernhard, T. Van Mele, G. Casas, R. Clemente, N. Feihl, COM-
publicfullrecord.aspx?p=5588084 PAS VOL: Volumetric modelling with signed distance functions (2021).
[40] A. G. Baydin, B. A. Pearlmutter, A. A. Radul, J. M. Siskind, Automatic URL https://github.com/dbt-ethz/compas_vol
differentiation in machine learning: A survey, arXiv:1502.05767 [cs, stat] [61] R. Rust, G. Casas, S. Parascho, D. Jenny, K. Dörfler, M. Helmreich,
(Feb. 2018). arXiv:1502.05767. A. Gandia, Z. Ma, I. Ariza, M. Pacher, B. Lytle, Y. Huang, COM-
URL http://arxiv.org/abs/1502.05767 PAS FAB: Robotic fabrication package for the compas framework,
[41] E. Unger, L. Hall, The use of automatic differentiation in an aircraft de- https://github.com/compas-dev/compas fab/, Gramazio Kohler Research,
sign problem, in: 5th Symposium on Multidisciplinary Analysis and Op- ETH Zürich (2018). doi:10.5281/zenodo.3469478.
timization, American Institute of Aeronautics and Astronautics, Panama URL https://doi.org/10.5281/zenodo.3469478
City Beach,FL,U.S.A., 1994, pp. 64–72. doi:10.2514/6.1994-4260. [62] P. O. Ohlbrock, P. D’Acunto, CEM: Combinatorial Equilibrium Model-
[42] H.-N. Cho, D.-H. Min, K.-M. Lee, H.-K. Kim, Multi-Level and Multi- ing, release 2.00 (2021).
Objective Optimization of Framed Structures Using Automatic Differen- URL http://github.com/OleOhlbrock/CEM
tiation, Proceedings of the Computational Structural Engineering Institute [63] D. Rutten, Grasshopper (2007).
Conference (2000) 177–186. URL https://www.grasshopper3d.com/
[43] T. Oberbichler, R. Wüchner, K.-U. Bletzinger, Efficient computation of [64] Blender Online Community, Blender - free and open 3D creation software
nonlinear isogeometric elements using the adjoint method and algo- (2021).
rithmic differentiation, Computer Methods in Applied Mechanics and URL http://www.blender.org
Engineering 381 (2021) 113817. doi:10.1016/j.cma.2021.113817. [65] Robert McNeel & Associates, Rhinoceros3d (2007).
[44] P. Cuvilliers, The constrained geometry of structures: Optimization meth- URL https://www.rhino3d.com/
ods for inverse form-finding design, Ph.D. thesis, Massachusetts Institute [66] S. G. Johnson, The NLopt nonlinear-optimization package (2021).
of Technology. (2020). URL https://github.com/stevengj/nlopt
URL http://dspace.mit.edu/handle/1721.1/7582 [67] D. Maclaurin, D. Duvenaud, R. P. Adams, Autograd: Effortless gradients
[45] R. Pastrana, P. O. Ohlbrock, P. D’Acunto, S. Parascho, Supplementary in numpy, in: ICML 2015 AutoML Workshop, Vol. 238, 2015, p. 5.
data for the paper constrained form-finding of tension-compression struc- [68] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy,
tures using automatic differentiation (2021). D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, S. J.
URL https://github.com/arpastrana/cem_ad_cad van der Walt, M. Brett, J. Wilson, K. J. Millman, N. Mayorov, A. R. J.
[46] J. C. Maxwell, On Reciprocal Figures, Frames, and Diagrams of Forces, Nelson, E. Jones, R. Kern, E. Larson, C. J. Carey, İ. Polat, Y. Feng,
Transactions of the Royal Society of Edinburgh 26 (1) (1870) 1–40. doi: E. W. Moore, J. VanderPlas, D. Laxalde, J. Perktold, R. Cimrman,
10.1017/S0080456800026351. I. Henriksen, E. A. Quintero, C. R. Harris, A. M. Archibald, A. H.
[47] L. L. Beghini, J. Carrion, A. Beghini, A. Mazurek, W. F. Baker, Structural Ribeiro, F. Pedregosa, P. van Mulbregt, SciPy 1.0 Contributors, SciPy
optimization using graphic statics, Structural and Multidisciplinary Opti- 1.0: Fundamental Algorithms for Scientific Computing in Python, Nature
mization 49 (3) (2014) 351–366. doi:10.1007/s00158-013-1002-x. Methods 17 (2020) 261–272. doi:10.1038/s41592-019-0686-2.
[48] A. Liew, R. Avelino, V. Moosavi, T. Van Mele, P. Block, Optimising [69] T. Oberbichler, HyperJet (2021). doi:10.5281/zenodo.5093152.
the load path of compression-only thrust networks through independent URL https://doi.org/10.5281/zenodo.5093152
sets, Structural and Multidisciplinary Optimization 60 (1) (2019) 231– [70] T. Kluyver, B. Ragan-Kelley, F. Pérez, B. Granger, M. Bussonnier,
244. doi:10.1007/s00158-019-02214-w. J. Frederic, K. Kelley, J. Hamrick, J. Grout, S. Corlay, P. Ivanov,
[49] J. Nocedal, Updating quasi-Newton matrices with limited storage, Math- D. Avila, S. Abdalla, C. Willing, J. development team, Jupyter Note-
ematics of Computation 35 (151) (1980) 773–773. doi:10.1090/ books - a publishing format for reproducible computational workflows,
S0025-5718-1980-0572855-7. in: F. Loizides, B. Scmidt (Eds.), Positioning and Power in Academic
[50] D. Kraft, Algorithm 733: TOMP–Fortran modules for optimal control Publishing: Players, Agents and Agendas, IOS Press, 2016, pp. 87–90.
calculations, ACM Transactions on Mathematical Software 20 (3) (1994) URL https://eprints.soton.ac.uk/403913/
262–281. doi:10.1145/192115.192124. [71] A. R. Conn, N. I. M. Gould, P. Toint, A Globally Convergent Augmented
[51] R. S. Dembo, T. Steihaug, Truncated-Newton algorithms for large-scale Lagrangian Algorithm for Optimization with General Constraints and
unconstrained optimization, Mathematical Programming 26 (2) (1983) Simple Bounds, SIAM Journal on Numerical Analysis 28 (2) (1991) 545–
190–212. doi:10.1007/BF02592055. 572. doi:10.1137/0728030.
[52] R. E. Wengert, A simple automatic derivative evaluation program, Com- [72] T. Zordan, B. Briseghella, E. Siviero, The Fourth Bridge over the
munications of the ACM 7 (8) (1964) 463–464. doi:10.1145/355586. Grand Canal in Venice: From Idea to Analysis and Construction, Struc-
364791. tural Engineering International 20 (1) (2010) 6–12. doi:10.2749/
[53] F. L. Bauer, Computational graphs and rounding error, SIAM Journal on 101686610791555667.
Numerical Analysis 11 (1) (1974) 87–96.
URL http://www.jstor.org/stable/2156433
[54] A. Griewank, A. Walther, Evaluating Derivatives: Principles and Tech-
niques of Algorithmic Differentiation, SIAM, 2008.
[55] D. Oktay, N. McGreivy, J. Aduol, A. Beatson, R. P. Adams, Randomized
Automatic Differentiation, in: International Conference on Learning Rep-
resentations, 2020, pp. 1–19.
URL https://openreview.net/forum?id=xpx9zj7CUlY
[56] R. Pastrana, P. O. Ohlbrock, P. D’Acunto, S. Parascho, COMPAS CEM:
The Combinatorial Equilibrium Modeling framework for COMPAS
(2021). doi:10.5281/zenodo.5705740.
URL https://arpastrana.github.io/compas_cem
[57] T. P. S. Foundation, Python (2021).
URL https://www.python.org/

18

You might also like