Karamba3D 2.2.0
Search…
3.6.10: BESO for Shells
An in-depth description of the BESO for shells algorithm used in Karamba3D can be found in [7]. Fig. 3.6.10.1 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.
Fig. 3.6.10.1: BESO for a rectangular plate under two corner loads
These are the main parameters that control the optimization process:
​
"
"Model"
Model to be optimized
"ElemIds"
List of identifiers of shells that take part in the optimization. In case of an empty list (the default) all shells are included.
"LCases"
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.
"TargetRatio"
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.
"MaxIter"
Maximum number of iterations
Under the submenu β€œSettings” these additional options can be used to further customize the optimization procedure:
​
​
"ER"
Is short for evolutionary ratio and defines the ratio between the volumes
ViV_i
and
Vi+1V_{i+1}
of the optimized structure in two consecutive steps:
Vi+1=Viβ‹…(1Β±ER)V_{i+1} = V{i} \cdot (1\pm ER)
. The sign of β€œER” depends on whether elements shall be added or removed. In case that
ER<0ER<0
– which is the default –
ERER
is set automatically:
ER=(1βˆ’TargetRatio)/MaxIter+ARmax/2ER = (1-TargetRatio)/MaxIter + AR_{max}/2
. In case that β€œER” is too small, the target mass of the optimized structure can not be reached within β€œMaxIter” steps.
"ARmax"
The ratio between maximum number of elements to be added per step and all shell elements.
"Nhist"
Number of iterations between those steps which are used for calculating the convergence criteria.
"Conv"
Relative change of the mass between two iterations
NhistN_{hist}
cycles apart below which convergence is assumed.
"Rmin"
In order to avoid the formation of checkerboard patterns a filter scheme is used for calculating the fitness of individual elements (see [7], section 3.3.2).
RminR_{min}
defines the radius of influence in meters for determining the element sensitivity. It is thus important to choose this value according to the mean element size. If
Rmin<0R_{min} <0
(the default) then
RminR_{min}
is set equal to the characteristic element length which is calculated as
(totalArea/numberOfElements)0.5β‹…2(totalArea/numberOfElements)^{0.5} \cdot 2
.
"Rexp"
Determines how the strain energy at nodes within the distance
RminR_{min}
of the element center is weighted for calculating an elements sensitivity. The weight is determined as
w=(Rij/βˆ‘Rij)Rexpw =(R_{ij}/\sum R_{ij})^{R_{exp}}
. Here
Rij=Rminβˆ’RR_{ij}=R_{min}-R
with
RR
being the distance between a sample node and the center of the element.
βˆ‘Rij\sum R_{ij}
is the sum of the center distances of all nodes closer than
RminR_{min}
to the element center.
"KillThick"
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"
Model which results from the BESO optimization.
"ModelHist"
List of intermediate models – one for each iteration step of the BESO procedure.
"CHist"
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.
"VHist"
List of values which chart the development of the volume of the shells to be optimized.
"Info"
Returns information regarding the solution process in case something goes wrong.
​
Wall.gh
42KB
Binary
Wall_two_loadcases.gh
65KB
Binary
Last modified 26d ago
Copy link