Maximum displacement in Karamba cross section optization

When I optimize the elements in my structure with the optimize cross section component of Karamba, the optimization is done based on the total deflection (summation of x y and z deflection). Is it also possible within Karamba to optimize for only one direction? This means that the maximum displacement has to be equal to for example the deflection in x direction.

Hi @JesseJ, the OptimizeCrosSec component only optimizes for global maximum displacement . You can use the Nodal Displacements component to check the displacement in different directions and set up a script to optimize for only one direction using another optimization tool.

Hello Matthew,

Thank you for your reply. I am using the OptimizeCrosSec tool to obtain the optimized weight of a building for different heights. I save these weights on a list with the animate function of the slider. Do you know if there are other optmization tools/methods to obtain these values at once, so without optimizing for each floor seperately and only in one direction?


Hi Jesse,
I am a bit confused as what you are aiming to achieve. Why cant you optimise for all floors and all directions at the same time?

Hi Mattew,

This is not possible, because I want to optimise for each floor seperately. So when there are 30 floors, I have to execute 30 single optimisations. With the animate function in combination with OptCroSec, this could be done at once. But as I told before, OptCroSec gives unsatisfactory results. I was wondering if there are other methods to archieve this.

Hi @JesseJ,
did you try to optimize the floors and the overall building in separate models? You could have a data-tree of models with the floor slabs and vertical displacements only. A separate structural model could then be used to optimize the structure’s vertical load-bearing elements for e.g. dead weight and wind.
– Clemens

Hello Clemens,

I solved the problem. The problem was that Karamba optimised the total deflection instead of the horizontal one, but I also discovered that the results became unaccurate when the number of elements in the model increased. So I made a smaller model, in which I schematized the building as a 1D bending element, divided in five parts. For each part I optimized the cross section. Then I calculated the needed stiffness and put that stiffness into the beams and columns of the big model (also in five parts). Finally the element sizes are adapted where needed to also fullfil the requirements for vertical loads. Thank you for the help.

Regards, Jesse