Under topology optimization, the material density of each element should take a value
of either 0 or 1, defining the element as being either void or solid, respectively.
Unfortunately, optimization of a large number of discrete variables is
computationally prohibitive. Therefore, representation of the material distribution
problem in terms of continuous variables has to be used.
With the density method, the material density of each element is directly used as the
design variable and varies continuously between 0 and 1; these represent the state
of void and solid, respectively. Intermediate values of density represent fictitious
material. The stiffness of the material is assumed to be linearly dependent on the
density. This material formulation is consistent with our understanding of common
materials. For example, steel, which is denser than aluminum, is stiffer than
aluminum. Following this logic, the representation of fictitious material at
intermediate densities does reflect engineering intuitions.
Penalization
In general, the optimal solution of problems involves large gray areas of
intermediate densities in the structural domain. Such solutions are not meaningful
when you are looking for the topology of a given material, and not meaningful when
considering the use of different materials within the design space. Therefore,
techniques need to be introduced to penalize intermediate densities and to force the
final design to be represented by densities of 0 or 1 for each element. OptiStruct uses different penalization techniques in
different settings of topology optimizations. These are SIMP, RAMP or
Polynomial.
SIMP:
(1)
Where,
and
represent the penalized and the real stiffness
matrix of an element, respectively,
is the density and
is the penalization factor which is always greater
than 1. SIMP is used for the vast majority of setups.
RAMP:
(2)
Where,
and
represent the penalized and the real stiffness
matrix of an element, respectively and
is the penalization factor which is always
greater than 1. RAMP is the default when using the OVERHANG constraint. This
default can be overwritten with the PENSCHE field on the
DTPL card. At the moment RAMP can only be used with
OVERHANG.
POLYNOMIAL:
(3)
Where,
and
represent the penalized and the real stiffness
matrix of an element, respectively and
is the penalization factor which is always
greater than 1. The Polynomial penalization is active by default whenever mass
influences the loading, for instance for normal modes, frequency response,
gravity loading (
GRAV) or rotational forces
(
RFORCE). This penalization scheme can be turned off and
replaced by SIMP by using
DOPTPRM,
OLDPEN,
1. In that case the loading is calculated with the
penalized mass matrix. However, the mass response value printed to the
.out file for each iteration does not consider the
penalty but simply the mass times the density, because the mass matrix is
penalized for gravity force calculation and if there are semi-dense elements in
the model which is usually the case for non-converged iterations, the
Sum
of the Applied Forces or
SPCFORCE values printed
in the
.out file will be different from their expected
values (from the printed mass response). After convergence, typically the
SPCFORCE and
Sum of Applied Forces will be
closer to the printed mass response-based applied force calculation since the
converged solution typically is more discrete and contains lower number of
intermediate density elements.
Note: There is no mass penalization when using the
Polynomial penalization which is applied only to the
stiffness.
Discreteness
As described above, for the sake of interpretability it is desirable to achieve a
discrete design, i.e. a design where the vast majority of elements is either 0 or 1.
In addition to interpretability, the performance of the structure, reported at the
end of the optimization, becomes inaccurate when large amounts of medium dense
elements exist. This is because the medium dense elements, despite their low
penalized stiffness, can still have a significant influence on the structural
behavior. A reanalysis after interpretation of the structure is the only reliable
way to verify the performance of the structure. This becomes even more important
when comparing structures obtained with different penalty schemes, for instance
comparing a structure obtained with DRAW and a structure with OVERHANG, i.e. a
topology obtained with SIMP and one obtained with RAMP. The different penalty
schemes can further amplify differences between the reported performances as medium
dense elements are penalized differently.
Estimating Discreteness
In practice, it is very difficult to obtain a design that is comprised of densities
exclusively equal to 0.0 or 1.0. In reality a transition zone usually exists between
a solid member and voids. This transition zone is acceptable in most cases. It
should be avoided however, to have large areas containing mainly medium dense
elements. To quantify this, OptiStruct reports a
discreteness index in the .out file after each iteration (since
version 2017.2.3). This indicates the amount of medium dense elements in the
structure by calculating the ratio between the volume from elements with densities
of at least 0.9 and that of the entire design space. For a perfectly discrete model
this value would be 1.0 but for structures where a transition zone exists, this
parameter should be 0.5 or higher. When values are smaller than that at the end of
the optimization, the topology should at least be interpreted with caution and
possibly measures should be taken to improve discreteness.
An example discreteness index table from the
.out file and the
corresponding equation used in the calculation.
Density %
------------------------------
0.0-0.1 64.6
0.1-0.2 0.9
0.2-0.3 0.8
0.3-0.4 1.3
0.4-0.5 1.2
0.5-0.6 2.1
0.6-0.7 1.2
0.7-0.8 4.1
0.8-0.9 5.6
0.9-1.0 18.2
(4)
Where,
-
- Discreteness indexed
-
- Density of element
-
- Volume of element
Improving Discreteness
There are numerous ways to improve the discreteness of the resulting topology. A list
of potential issues leading to indiscrete designs and how to address them are:
Lattice Optimization
While it is desirable to achieve purely solid and void designs in regular topology
optimization, Lattice structure opens up the freedom of realizing porous zones
(medium dense regions) into lattice regions. The penalty used for this type of
optimization is usually reduced to increase porous zones in the design. The penalty
and thus the amount of lattice structure is controlled via
LATPRM, POROSITY. Refer to Lattice Structure Optimization for additional
information.
Penalty for SIMP
In OptiStruct, the DISCRETE parameter
corresponds to (
). DISCRETE can be defined on the
DOPTPRM Bulk Data Entry.
usually takes a value between 2.0 and 4.0. For
example, compared to the non-penalized formulation (which is equivalent to
=1) at
=0.3,
=2 reduces the stiffness of the element from 0.3 to
0.09 times the stiffness of the fully dense element. The default
DISCRETE is 1.0 for shell dominant structures, and 2.0 for
solids dominant structures with member size control and no manufacturing constraints
(the dominance is defined by the proportion of number of elements). An additional
parameter, DISCRT1D, can also be defined on the
DOPTPRM Bulk Data Entry. DISCRT1D allows
1D elements to use a different penalization to 2D or 3D elements.
For non-solid dominant models, when
Member Size Control is used, the penalty starts at 2 and is increased to 3 for the second and third
iterative phases. This is done in order to achieve a more discrete solution. For
other manufacturing constraints such as
Draw Direction Constraints,
Extrusion Constraints,
Pattern Repetition, and
Pattern Grouping,
the penalty starts at 2 and increases to 3 and 4 for the second and third iterative
phases, respectively. Obviously, due to the existence of semi-dense elements, the
analysis results may change dramatically when the design process enters a new phase
using a different penalization factor.
Table 1. Default DISCRETE and Penalty Values for Topology Optimization
Model |
DOPTPRM, DISCRETE |
Penalty |
Shell-dominant structure |
1.0 |
2.0 |
Shell-dominant structure + member size control only |
1.0 |
1st Phase - 2.0 2nd Phase - 3.0
3rd Phase -
3.0
|
Shell-dominant structure + other manufacturing
constraints |
1.0 |
1st Phase - 2.0 2nd Phase - 3.0
3rd Phase -
4.0
|
Solid-dominant structure |
1.0 |
2.0 |
Solid-dominant structure + member size control only |
2.0 |
1st Phase - 3.0 2nd Phase - 4.0
3rd Phase -
4.0
|
Solid-dominant structure + other manufacturing
constraints |
1.0 |
1st Phase - 2.0 2nd Phase - 3.0
3rd Phase -
4.0
|
Three types of finite elements can be defined as topology Design Elements in
OptiStruct: Solid elements, shell elements, and 1D
elements (including ROD,
BAR/BEAM, BUSH, and
WELD elements).