Optimize Cross Section with Different Utilization Ratios

Hi, I am optimizing the cross section of truss elements using the OptiCroSec component. However, I was wondering if there was a way or a work around to optimize the elements in tension for a maximum utilization of 0.8 while optimizing the elements in compression for a maximum utilization of 1.0.

Thank you,


Karamba 1.3.2
Rhinoceros 6

you could do the following:

  • calculate the model.
  • check which elements are under tension or compression via the ‘Beam Resultant Forces’-component.
  • disassemble the model.
  • modify the beams so that the ones under tension have a material whose strength is 80% of the material used for the members under compression.
  • in the ‘Modify Element’-component set ‘Buckling’ to false if cross section optimization should not take buckling into account.
  • reassemble the model.


I stumbled upon similar problem. :frowning:

I have a simple truss, where chords should be 0.9 utilization, braces 0.7

For tension, Clemens’ method would work, since material yield strength is proportional to resistance.
For compression though it doesn’t work, buckling is way more important and reduction of yield strength doesn’t correlate linearly.

What I did was create two separate models, one with CroSec Optimization using utilization of 0.7, other using 0.9.
Then made a final third model using AnalyzeThII with fixed cross sections taken from previous two models, chords from 0.9, braces from 0.7.

Problem is that because of different stiffness’s, forces are allocated differently, and because of that final utilization is different.
Chord utilization usually goes a little bit above 0.9.

But so far, it has been acceptable.

@karamba3d, could it be possible to introduce such functionality in the future? Some of my colleagues would be very glad. :slight_smile:
The other thing would be using CroSec optimization, deflection check only for particular load combinations.
Currently I push ULS and SLS combinations into the same solver, because of that, I can’t use deflection check, since it would check deflection for ULS combinations…
Pushing them in different solvers would lead to different profiles.

1 Like

I will put these features on my TODO-List.

Since the material is connected directly to the cross-section, how do I supply OptiCrosSec with my reduced material for my elements in tension while keeping the original material for elements in compression for a second optimization? Because if I optimize only the elements in tension, the forces in the elements in compression will change following a modification of the stiffness of the system.


You could define two families of cross sections with identical cross section properties except for the material and use the first one for elements in compression, the other one for elements in tension.