Staged construction shooting for final shape - optimization


I have had this task in my mind for some time.

How would this be best approached using karamba?
I can only think of iterative process with optimization solver employed.

Lets say i want to build a pier segmentally step by step. build formwork --> pour --> build formwork --> pour another segment …

My aim is to achieve desired shape after completion but due to deformations i have to build it a bit off at each step.

I need this type of calculation.

Start with approximation stress free line of first segment. Calculate --> use deformed axis as base for another step --> add new segment, turn off loads for already deformed built part and calculate --> use deformed shape and add new segment, turn off loads … --> repeat --> find differences between desired nodal positions and deformed calculated ones, play around with initial nodal positions and iterate until differences are within tolerance.

This is fairly easy when i construct it in my mind but i dont know how i would automatically increase number of paramaters in GH which you need to fine tune (two params for each node X Y) when you increase number of discrete parts of the beam for example…

Any thoughts? Thanks

It’s an interesting challenge. I tried something similar a while ago using Octopus Loop (I did the deformation bit using Kangaroo, but I think the same general approach should work with Karamba).
Presumably what really matters is that the final loaded structure deforms to your target shape. If you find this, then you can remove members in the reverse order of construction and analyse to get the intermediate shapes. This way you don’t need to be changing the number of parameters during the optimisation.

The loop I used was:

  1. start with unloaded structure in target shape
  2. apply loads
  3. get vectors between each point of the deformed shape and the target shape
  4. move the points back by (1+a) times this vector and use this as the new unloaded shape.
  5. return to step 2

For reasonable sized deformations this seems to converge pretty quickly to a shape which when loaded deforms to exactly the the target shape. Just using a=1 seems to work well. (26.3 KB)
After just 5 iterations it gets to the green shape, which when loaded deforms to the red shape


thank you for your answer i will look into it. your approach seems promising.

just a note: backward analysis is feasible when the problem is linear. with creep and time effect stuff i think foreward analysis is the only way. this is just what i have read somewhere, dont know for sure.

Hi Ivan,

Daniels suggestion of looping is definitely a great suggestion. You can also use the Anemone plugin for incorporating looping into your definition.


1 Like

just adding those loop steps in visual representation:
i had to draw it to embrace the convergence…

1 Like