3.6.8: Optimize Cross Section 🔷
Use the "Optimize Cross Section"-component for the automatic selection of the most appropriate cross sections for beams and shells. It takes into account the cross sections load bearing capacity and optionally limits the maximum deflection of the structure.
Fig. 184.108.40.206: Cross section optimization with the "OptiCroSec"-component on a simply supported beam.
Figure 220.127.116.11 shows a typical set-up. The initial structure consisted of I-sections of type HEA100 which have a height and width of
. They could not sustain the given load: The resulting bending stresses would lie way beyond the yield stress of the assumed material which is steel S235 with
First the "OptiCroSec"-component determines the cross section of each element in such a way that their load-bearing capacity is sufficient for all load-cases. In order to achieve this, Karamba3D uses the following procedure:
- 1.Determination of section forces at "nSamples" points along all beams using the initial cross section.
- 2.For each element or given set of elements: selection of the first sufficient entry from the family to which each cross section belongs.
- 3.If no changes were necessary in step two or the maximum number of design iterations is reached, the algorithm stops. Otherwise it returns to step one using the cross sections selected in step two.
In statically indeterminate structures the section forces depend on the stiffness (i.e. cross section and materials) of the members. This necessitates the iterative procedure described above.
Fig. 18.104.22.168: Cross section optimization with the "OptiCroSec"-component on a cantilevering wall.
In fig. 22.214.171.124 one can see the example of a cantilever idealized with shell elements: The optimization results in thicker shell elements at the top and bottom edge of the built-in side. The "CroSecs"-input of the "OptiCroSec"-component consists of a family of constant shell cross sections.
For shells the mechanical utilization is calculated as the maximum comparative stress in a point divided by the material strength. The comparative strength depends on the strength hypotheses chosen for the material (see section 3.5.1). In case of steel the Von Mises comparative stress applies. For cross section optimization of shells the same procedure applies as for beams. Starting with the first item of a cross section family the algorithm tests all members and stops when a cross section is encountered for which the utilization is less than a pre-set value which is "1" by default. This corresponds to 100%.
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. This may lead to uneconomic results in case of structures where the maximum displacement occurs in a small region, whereas the rest of the structure shows a much smaller deformation. In order that the iterative adaption for the maximum displacement works, the number of design iterations should be chosen appropriately -- five is normally sufficient.
Building codes prescribe different levels of safety against reaching maximum displacement and load bearing limits. When using external loads at ultimate limit state level one should keep in mind that this is approximately 1.4 times the loads used to check maximum displacement requirements. Thus one way of designing structures in Karamba3D is to limit material utilization to
under characteristic loads and use the resulting displacements directly for usability design.
When the given loads surpass the load bearing capacity of the biggest cross section available in a cross section family, Karamba3D issues a warning via the "Info" output-plug (see fig. 126.96.36.199).
There is no guarantee, that the iteration procedure for finding the optimal cross sections eventually converges. One can check the results via the "Utilization of Elements"-component. It applies the same procedure as the "OptiCroSec"-component for assessing elements according to Eurocode 3 and consider the load-bearing capacity of the whole cross section. The utilization-output of the "ModelView"-component only shows the ratio between the stress in a point of a cross section and the material strength there. Effects like buckling under compression are not considered. This is why the utilization as displayed by the "ModelView"-component may deviate from the results of the "Utilization of Elements"-component.
Due to the lower-bound theorem of plasticity, the structure will be sufficient for the given loads at any iteration step -- although some elements may show over-utilization -- provided that the material is sufficiently plastic (like e.g. steel). With increasing number of iterations the static system tends to become more and more statically determinate.
The profile selection procedure assumes that the cross sections of a family are ordered: starting with your most favorite and descending to the least desired cross section. In the cross section table "CrossSectionValues.bin" that comes with Karamba3D all families are ranked according to their height. The cross section with the smallest height comes first, the one with the largest height last. When using cross section area as sorting criteria, structures of minimum weight (and thus approximately cost) result. See section 3.3.11 for how to switch between minimum height and minimum weight design. Ordering the profiles by area may lead to structures where the cross section heights vary significantly from one beam to the next.
In order to check whether a given beam cross section is sufficient, Karamba3D applies a procedure for steel beams according to Eurocode 3 (EN 1993-1-1) (see  for details). The interaction values for the cross section forces
and so on get calculated according to EN 1993-1-1 appendix B. The values
are limited to a minimum of 0.9 by default. This means that sideways sway initiates buckling which is on the safe side in case of non-sway frames. When the input-plug "SwayFrame" is set to 'False' the limit of 0.9 does not apply.
The design procedure takes account of normal force, biaxial bending, torsion and shear force. For more details see section A.2.6 and the master thesis of Jukka Mäenpää . It is possible to switch off the influence of buckling for single members or set user defined values for the buckling length (see section 3.1.10: Modify Element).
The adverse effect of compressive normal forces in a beam can be taken into account globally (see section 3.6.5) or locally on the level of individual members. The procedure applied in Karamba3D for cross section optimization works on member level. A crucial precondition for this method to deliver useful results is the determination of a realistic buckling length
of an element. For this the following simplification -- which is not always on the safe side -- is applied: Starting from the endpoints of an element, proceeding to its neighbors, the first nodes are tracked that connect to more than two elements. The buckling length is determined as the distance between these two nodes. It lies on the safe side in case of endpoints held by the rest of the structure against translation. When beams are members of a larger part that buckles (e.g. a girder of a truss) then the applied determination of buckling length produces unsafe results! One should always check this by calculating the global buckling modes (see section 3.6.5). In case of a free end the buckling length is doubled. Compressive normal forces in slender beams reduce their allowable maximum stress below the yield limit. Visualizing the level of utilization with the "ModelView"-component will then show values below 100% in the compressive range.
The design procedure applied in Karamba3D takes lateral torsional buckling into account. An elements lateral torsional buckling length is calculated in the same way as for conventional buckling. The buckling length for lateral torsional buckling can be set manually via the property "BklLenLT" of the "Modify Beam"-component.
In the course of cross section optimization Karamba3D checks the cross sections for local buckling and issues a warning if necessary. The check for local buckling uses the classification of cross sections into classes 1 to 4 according to EN 1993-1-1. Class 4 cross sections are susceptible to local buckling.
During the optimization of cross sections normal forces
are not updated. In order to include second order theory effects either set
manually or use "AnalysisThII" (see section 3.6.2) to determine
The "OptiCroSec"-component provides the following set of input-plugs:
In order to see all input-plugs click on the “Settings”-button to unfold the rest of the component:
On the output side the “Model”-plug renders the structure with optimized cross sections. Check the “Info”-plug in order to see whether any problems occurred during optimization. The “Mass”-output informs you about the overall mass of the optimized structure. “Disp”- and “Energy”-plugs return the maximum displacement and internal energy of the structure after the last cross section design iteration.
The aim of the design procedure applied in Karamba3D is to render plausible cross section choices. Be aware that it builds upon assumptions like the correct determination of buckling lengths.