Karamba utilization results are higher than the OptiCroSec target utilization value

Hi there.

I’ve been working on a rather large GH definition for a timber building for which I am using a custom material csv-file and custom trapezoid cross sections to represent the squared solid timber members. The model worked well when I specified the cross sections for each element group. The resulting utilization for shell and beam elements were well below 100%.

In a next step, I wanted to test if the structure could be optimized using the OptiCroSec component. This is now the part that is giving me a headache. I defined a range of cross sections for each element group that I fed into the OptiCroSec component and specified a “start cross section” that I fed into the Assemble Model component. Further, I limited the displacement and set the target max. utilization to 0.7 (70%). The OptiCroSec component is not returning any error and the resulting cross sections per element are the same or larger than the start values I defined. However, the utilization values are way above the target value of 70%, both in the Beam/ShellView component and the UtilizationOfElements component. There are larger cross sections available in the lists I defined.
What could be the cause for this? Any help would be greatly appreciated; I am attaching some screenshots for clarification.

Oh, and I am working with Karamba 1.3.2 for Rhino6. Thanks a lot!!

Hi, are you able to share your definition so that we can take a look at it.


Hi Matthew,
Yes, of course. I’m attaching the GH file as well as the custom material table I’ve used. Since I didn’t find a way to internalize the table, you would have to load it into the file and adjust the two materials as indicated in the screenshot. Thanks a lot for looking into this.

200321_OptiCroSec_problem.gh (199.8 KB) MaterialProperties_custom.zip (1.6 KB)

Hi @KatharinaK,

sorry for the late reply. There are a couple of things to take note of:

I would not put your concrete slab in the definition. If you really want to place it in, then is it really only supported at the core and the column positions? However, one error is that your family for the cross section for the concrete slab and timber panels are the same, and it mixes this up in the optimisation process.

When I removed the concrete from the definition, I seem to meet the optimisation criteria as set.

Another issue to take note of is that Karamba3D does not automatically connect beams and shells if they simply lie on the same geometry. If you wish to model them as beams that support the slab, you should split all the beams at the mesh points so that the beams and slabs are really connected. You can see in the deformation image that they currently deform at different scales.

200321_OptiCroSec_problem_mt.gh (222.6 KB)