My first initial illustration done in Rhino3d. It was inspired by laminar fluid flow turning into turbulence. The colours represent areas of different vorticity, better understood as spinning motion. On the side i added an abstraction of what I thought of as cylinder's that the fluid could look like it moved past, which would then "cause" the turbulence. To make the cylinder's more interesting I added multiple polygons inside, creating a slightly technical appearance, keeping the spirit of my engineering background as well as being a little creative.
Here I simply went on to 3D model the "cylinders" by extruding the lines at 5mm intervals. I could then create the bottom polysurface which I copied and placed on the extruded surfaces. I could then trim it down to reach final geometry. The method was slightly tedious, in retrospect I think it would have been easier to extrude all the lines then "cap" them off, creating a polysurface. Additionally I removed some of the interior lines as it turned out less aesthetically pleasing to extrude all of them. The geometry now has a larger flat surface than it otherwise would have, giving a more harbour, or platform, like expression.
Originally I wanted to try to work on the more complicated fluid lines, however I think the geometry got a litte too chaotic for Rhino, or more likely, I poorly defined the lines such that they turned hard to work- and do commands with.
The 3D print itself went quite well. I had some slight problems with the base, where it was thinner on one side as the support structure had lifted of the plate. However the issue was minimal and the model went quite well otherwise .
With my only lines left being the fluid flow itself, I made the decision that they would be the base for my lasercutting. I decided that the dark blue sections would be extruded once, and therefore consist of simply one layer, while all the red areas would consist of two layers. This would help seperate them visually. To help with this differentiation, and to get a more pleasing result, I also engraved these parts with four additional curves inside. All light blue sections was left as it was, as I wanted to be able to see some of the original work underneath. When the lasercutting was done, I ended up with quite a bag of unsorted parts, and it became something of a jigsaw puzzle to put it together.
In the end the result was ever so slightly off from my printed A3 paper. This is likely due to the fact that the A3 print has a slight indentation, causing it to be just a little smaller than what it should be. Another likely cause could be that the plywood used, was quite bent when i got it at the workshop. I did my best to straighten it out, but some bending was inevitable.
Top view. Light blue section has been left untouched.
Angled view, easier to see the 3-dimensional geometry.
For this task I wanted to challange myself. As a fan of the structural engineer Eduardo Torroja, I decided to model Club Thacira located in the Caracas. With its prominent shell roof, which Torroja was part of designing, it leaves quite an impression. I've admired the structure for a while, and thought this was the good opportunity to learn more about it, and about design in grasshopper.
After reasearching on the internet for a while, I found litte information about the design of the roof regarding its precice mathematical shape. Torroja himself describes another roof structure that was meant to be built close to it, but not this exact roof. However I found some interesting architectural illustrations of the structure. Looking at them, the front and back arch, looks to me like catenary curves.
Some Architectural drawings I found online. These are not mine, but helped in understanding the structure.
Source: https://guiaccs.com/en/obras/club-tachira-2/
I therefore first thought i could replicate the structure by creating two catenary curves and lofting between them. However this would not yield correct results. For one the front end is slanted, secondly it also "sags" a little. So even a slanted catanary curve would not produce the right results.
I ended up creating the structure by projecting a slanted catanary curve down onto a hyberpolic paraboloid, and then lofting the resulting curve, with a another catanary curve. Which yielded reasonably good results.
Projection of a slanted catenary curve down onto a hyperbolic paraboloid.
Snippet of grasshopper script projecting catenary curve, and then lofting.
From there i modeled a simplified version of the rest of the structure, so that I could place the roof in some architectural context. I did this both natively in Rhino3d, and in grashopper.
Final geometry
Some extra grasshopper script, mostly used to model the railings
All that was left then was to 3d print this structure. Which proved difficult. I tried multiple times, but the structure was to small, and generally too thin. In the end i had to 3d print the roof seperatly, and it had to be both larger and thicker originally intended.
For this task my goal was to make a simple "umbrella"-like roof structure. The basic idea was that instead of having one large roof, extending over the entire width of 6m. We could instead have two columns with each their own cantiliver beams stretching out from the top. These beams could be a truss structure to optimise for structural efficiency, but would also help giving it it's umbrella-like expression.
The figure to the left showcases how the lower roof could be made such that it technically lies underneath the taller structure. This way, the roof would still shield from rain.
The process of creating it in grasshopper was rather simple. Define a rectangle and a midpint, which would be the basis of the structure. From there I could move both the point and the rectangle to the desired height. Then by extracting some of the corner points of the newly moved square, I could move these points up a little further, and then create a 4-point surface, which would create the slanted roof. From there it was simply to create the desired struss lines, and then piping them.
Grasshopper script
In the figure above we have the basic structure for the entirety of the first row. The fist part before the coloured groups simply creates the column line, and slanted roof surface. In the coloured boxes we define the strusses. And finally the last part simpy deals with repeating the structure until we reach the desired lenght of 60m. This script was then copied to create the back row. The height and slanting of the roof can then easily be adjusted by number sliders.
The first thing to notice when modeling this structure in Karamba is that each "umbrella" acts solely on its own. We therefore do not need to model the entire structure. Only one member. From there we can adjust the height, as well as other parameters to figure out the forces for the second row.
The first thing we need to define is loading criteria. Eurocodes can be a helpful guide when searching for such structural loads, and a decent approximation for Trondheim could be the characteristic snow load of 3.5kN/m^2. . Furthermore a decent wind load estimation can be 0.66kN/m^2
Wind loads for an approximately flat roof such as for the front row, can be neglected, as the only significant wind load here will likely be due suction, not pressure, which would be a little to complicated to do here. Wind loads on the column will again be so small as to be negligeable.
For the much more slated roof however, we can do a wind load analysis on the roof, as the slanted roof will pick up a significant amount of wind forces. But on this roof, we will likely not get much different results from snow loads. Technically they will be a little less as both the structure is smaller, and the slanted roof is
Furthermore, I will assume that the cross section for each member is:
Large column: CHS 193.7/10 => D = 193.7mm, t = 10mm
Large Truss: CHS 101.6/5 => D = 101.6mm, t = 5mm
Small Truss: CHS 48.3/2.6 => D = 48.3mm, t = 2.6mm
Modeling the structure in Karamba is rather easy. I simply created a line to beam element for each type for the column, the large truss and the small truss. To avoid that the mesh load connected to the other truss members than the one sitting directly underneath the roof surface, I created an extra line to beam element for the large trusses, such that i could specify which elements the load was supposed to act on.
Front Row
Moment Diagram for trusses/cantiliever Beam
Mmax =6kNm
Mamimum deformation is seen to be 1.19mm at tip of truss.
Cross Section Utilization at most 47% of yield strenght.
Axial Force acting on structure.
Nmax = 32.34kN
Back Row (wind)
Moment diagram for wind load
Mmax = 0.4kNm
Maximum deformation is seen to be
1.49mm.
This time, only 18% of the cross-secitonal capacity is used.
This time, bending moment in column is more interesting than axial force.
In conclusion. The structure should be more than good enough to hold the loads.
This one went quite horribly wrong. I hadn't really though about the fact that the varying cross section on the struss beam would cause problems. I tried to model it by slicing it into diffent bits to find an I_y over that area, and then individually calculate the bending forces and deflections. Even stranger, even my simplified model with the sidewise wind load didn´t work correctly. It could be the karamba model as well but I know i got the same moment as Karamba as long as i removed the truss, system and only used the upper most element. I think the moment stiff truss system, which really cant be called a true truss system as moments in the elemetns are present, reduces the moments at the column.
Honestly it would be better to do this analytically, but still it would be rather cumbersome to do, and no longer serve a point of veryfying the model. I really couldn't find a simplified model for this, as easy as the structure seems.
Here I get the same results as Karamba. The truss system is no longer functional.
Finally we arrive at the group task. Me and Rasa thought early on of a flat roof structure with tall and slender wooden beams that would both naturally play with the lighting of the scene, but also the scenery itself as the wooden beams would curve naturally around the surrounding trees while the front keeps a straight face, avoiding being too noisy. The thin wooden beams are held up by rust coated steel H-beams and columns, keeping the natural color of the sceneary while also being honest about the material and structural strenght. Furthermore the support is a thin concrete reinforcement bar wrapped tightly around the beam. The H-beams, are completely straight and continous following along the running track. To cover the roof we decided on a fabric roof that would be strong enough to hold the snow load on top such that it would function year round. The fabric being semi translucent would allow light coming in and creating interesting lighting effects.
Initially we played around with a more freeform shape of the curvature, wanting it to hug around every nook and cranny. However, after some discussion we agreed that the shape had a more messy appearance that way. We therefore decided that a mathematically defined symmetric function would be the way.
Freeform waving, giving a slightly messier aestetic
A cleaner curvature, yet keeping the dynamic feel
In addition to holding the snow load the structure is under, it also serves to drain the water away from the stadium, and into the ground. This is done as the fabric naturally wrappes around into a pipe that goes straight into the ground. This in turn helps giving a clear seperation between the back, and the front of the structure, without gating it of completely.
From underneath the roof the panels dominate the expression. They are a constant regularity. The columns on the other hand, alternate in a zig-zag pattern, giving sparser looking feel without affecting structural capacity too much.
As we are using steel columns and beam, with moment stiff conections. The structure immediatlty serves a more permanent function. To make this would be feasable we designed the structure afther loads taken directly from Eurocode 1, albeit with some rather large simplifications. These loads were primarily snow and wind loads as well as self weight.
We then wend on two calculate the M,V-diagrams based on some simplified models and large assumptions. This was then coupled with a full kamba model which verified our calculations quite well.
Hand Calculations of longes wood panel
Hand calculations of smallest wood panel
Model agrees well with our assumption
The same holds for our Steel beams, assumption of no rotation works well as there is roughly equal loading on each side of the columns.
Hand Calculations of steel beams
Hand Calculations of steel beams
Karamba model Verifies our results
Column axial force. Fits well with our calculation.
Our assumptions doesnt always hold true. This because there will be unequal loading on each side of a column at certain areas. This holds especially true at the ends. Although the fact that our hand calculations fits so well with the karamba model in most places, gives a sense of trust in the Karamba model.
Area were our model assumptions in hand calculations no longer holds.
Finally we got some simple capacity checks!
Capacity check on wood and steal beams, here i have included wind loads on the wooden beam
Capacity check for column with a very conservative bucklin assumption.
Capacity of support. Shear could present a problem