StrainEnergyEvolution
This StrainEnergyEvolution
criterion implements the BSEO Method. It can be used in structural optimization. To define
one,
Caveat
- It is recommended to use consecutive tags for elements starting from
. Large tags will increase memory usage.
Theory
Readers can refer to the monograph Evolutionary Topology Optimization of Continuum Structures: Methods and Applications for detailed discussion of the Bi-directional Evolutionary Structural Optimization Method.
Here a brief introduction is presented to explain what the StrainEnergyEvolution
criterion does to the model.
To perform optimization with StrainEnergyEvolution
, a Optimization
step shall be defined instead of a standard
static step.
Text Only | |
---|---|
The ESO
step performs the complete static analysis step and calls the criterion to modify/update the model repeatedly
until an exit signal is received. The exit signal is often returned by a proper criterion
.
Collect Strain Energy
The first step is to collect the normalized strain energy of each element. If the element is currently inactive, the corresponding strain energy will be set to zero. The normalization uses the characteristic length of the corresponding element.
Averaging
Instead of the original node based averaging procedure, which requires to compute the sensitivity parameter of the
connected nodes, the StrainEnergyEvolution
criterion uses a convolution filter type process. The averaged strain
energy is updated by computing the weighted average of the strain energy of all connected elements. Say the target
element, denoted with subscript
The parameter [4]
.
For the above averaging process, each element can affect the adjacent elements, resulting in a smoothed distribution of
strain energy. Such a process can be repeated several times to further average the result. The number of the averaging
process is controlled by the fifth input argument [5]
.
Stabilization
Collect all averaged strain energy into a vector and denote it with
So even if some elements are deleted in the current iteration by accident, they can be added back to the model in the
next iteration as the stabilized [7]
.
Addition/Deletion of Elements
The rejection ratio starts from zero with an increment of (2)
and the rejection
ratio (3)
.
For the current rejection ratio [6]
. So
After reactivation, the number of active elements is the sum of numbers of reactivated elements and already active elements.
The averaged strain energy of all active elements will be sorted to determine which elements shall be removed. The number of removed elements is the difference of current number of active elements and the current rejection ratio.
Convergence
The convergence is achieved when the relative energy difference between two adjacent iterations is smaller than the
tolerance, which is controlled by parameter [8]
.