Cross-section optimization displacement method

Hello, I’m using Karamba to do some 2d/3d frame optimization. I have read the optimize cross-section page of your manual here: 3.6.8: Optimize Cross Section 🔷 - Karamba3D 2.2.0

I understand how it is sizing for strength. I’m interested in understanding what methodology is used for optimizing elements to meet the displacement criteria. I would have thought sizing for displacement would have been done with some virtual work equation or a sensitivity analysis, for example.

The only reference I can see that describes the methodology is this excerpt: “After ensuring safety against structural failure a second, optional step follows where Karamba3D tries to reach a user supplied maximum deflection. Behind the scenes Karamba3D iteratively adapts temporarily the strength of the materials.”

I’m not sure I understand what is meant by “temporarily adapting the strength of the materials”. Does it increase the strength or the stiffness, or does this assume they are the same (proportional to the area)? Is this done by choosing a size in the cross section list? If so, how does it know which elements to upsize? And once it has determined an element’s cross-section should be increased, does it simply chose the next section from the area/weight ordered list? It must have to perform some type of sensitivity study, no?

Would you mind explaining the procedure in more detail or at least state which type of method is used so that I might read about it further?

Thank you,

SP

Hello @sgcprender,

up to K3D version 2 and the iterative procedure for limiting the maximum displacement is based on reducing the material strength throughout the model by a factor. The factor >= 1 and determined such that the displacement limit is met after cross section design.

In the upcoming service release of Karamba3D version 3 an approach involving virtual forces is chosen which works along the lines described here.

– Clemens