# Buckling free FDM

The process of designing form-found shapes is (within Shell Architecture) a forward process in which an “optimal” geometry is arrived by controlling a set of parameterized variables until static equilibrium is reached under a design loading. One of the earliest direct methods for digital form-finding is Linkwitz’ Force Density Method (FDM).

In this project, a new iterative algorithm is presented which allows for exploration of the position and relative density of buckling-free compression elements inside a tensile net (hanging model). The reader’s mind will understandably rush to think of tensegrity structures upon reading of compression-only elements in tensile nets. It is important to note however that the original formulation of the FDM is inconsistent when applied to prestressed structures without any fixities (pure tensegrity structures). This is a result of the rank-deficiency of the equilibrium matrix and can lead to either trivial or multiple solutions (as shown below). Instead, in the present work we avoid the problem by imposing fixities (at-least) at the corners of the initial grid, to ensure zero rank deficiency apriori. The rationale behind doing this, and a recurring theme in the project, is to leverage the computational efficiency of the linearity of the FDM.  To represent compression elements, we initially set force densities of those elements to be -1, with the rest of the net at constant force densities equal to 1. Allowing the original FDM to evolve, produces structures with artificially lengthened compression elements (in an attempt to minimize the structure’s total load path). Such lengths, typically exceed the allowable buckling length and will cause the structure to fail.
An adittional constraint is then added, making the approach non-linear, whereby the force densities are changed in an iterative approach until the compression elements reach a length equal to the critical buckling length. Using a least squares principle, this marginal change in force densities is concluded to be:

Δq = B.(BT.B)-1 .b
where the Jacobian BT is calculated using the branch node and force density matrices and b is the buckling constraint given by the difference between the internal forces and the critical buckling force given by Euler’s equation:

b = L.q - π2EI/ n2L2

The ghosted image above shows the progression of the iterative algorithm as it attempts to converge to a buckling-free solution.