3.5.10: BESO for Shells

An in-depth description of the BESO for shells algorithm used in Karamba3D can be found in [7]. Fig. shows an example which starts off from a rectangular wall which supports two point-loads at each of its upper corners. The result of the BESO procedure is the X-shaped structure shown on the left side.

These are the main parameters that control the optimization process:



Model to be optimized


List of identifiers of shells that take part in the optimization. In case of an empty list (the default) all shells are included.


List of load cases to be considered. Zero is the index of the first load case. Considering the total effect of several load cases amounts to adding up their individual influences on an element.


Ratio of the target mass to the initial mass of the shells in a structure. When determining the initial mass all shell elements of the structure – irrespective of state of activation – count. In the target structure only active elements contribute to its mass. This enables one to apply BESO-components in series.


Maximum number of iterations

Under the submenu “Settings” these additional options can be used to further customize the optimization procedure:



The ratio between maximum number of elements to be added per step and all shell elements.


Number of iterations between those steps which are used for calculating the convergence criteria.





The BESO for shell procedure makes use of a so called “soft kill”-approach. Instead of removing elements from the model they are made very soft by reducing their thickness. With the input-plug “KillThick” a value other than the default 0.00001 m can be selected.

The output-plugs of the “BESOShell”-component return the following data:


Model which results from the BESO optimization.


List of intermediate models – one for each iteration step of the BESO procedure.


History of the volume weighted compliance of the structure which drives the BESO procedure. When fed into a “Quick Graph” component one can check whether the BESO procedure converged: at the end the chart should be horizontal. If that is not the case try a smaller “ER”-value.


List of values which chart the development of the volume of the shells to be optimized.


Returns information regarding the solution process in case something goes wrong.

Last updated