Design Variables

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)
K ˜ ( ρ ) = ρ p K

Where, K ˜ and K MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaaC4saaaa@36CA@ represent the penalized and the real stiffness matrix of an element, respectively, ρ is the density and p MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiCaaaa@36EB@ is the penalization factor which is always greater than 1. SIMP is used for the vast majority of setups.

RAMP:(2)
K ˜ ( ρ ) = ( ρ 1 + p ( 1 ρ ) ) K MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabC4sayaaia WaaeWaaeaacqaHbpGCaiaawIcacaGLPaaacqGH9aqpdaqadaqaamaa laaabaGaeqyWdihabaGaaGymaiabgUcaRiaadchadaqadaqaaiaaig dacqGHsislcqaHbpGCaiaawIcacaGLPaaaaaaacaGLOaGaayzkaaGa aC4saaaa@46D9@

Where, K ˜ MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaaceWHlbGbaGaaaaa@329E@ and K MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaacaWHlbaaaa@328F@ represent the penalized and the real stiffness matrix of an element, respectively and p MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaacaWGWbaaaa@32B0@ 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)
K ˜ ( ρ ) = ( ( α 1 α ) ρ p + ( 1 α ) ρ ) K MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGabC4sayaaia WaaeWaaeaacqaHbpGCaiaawIcacaGLPaaacqGH9aqpdaqadaqaamaa bmaabaWaaSaaaeaacqaHXoqycqGHsislcaaIXaaabaGaeqySdegaaa GaayjkaiaawMcaaiabeg8aYnaaCaaaleqabaGaamiCaaaakiabgUca RmaabmaabaWaaSaaaeaacaaIXaaabaGaeqySdegaaaGaayjkaiaawM caaiabeg8aYbGaayjkaiaawMcaaiaahUeaaaa@4D86@

Where, K ˜ MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaaceWHlbGbaGaaaaa@329E@ and K MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaacaWHlbaaaa@328F@ represent the penalized and the real stiffness matrix of an element, respectively and p MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGa caGaaeqabaqaaeaadaaakeaacaWGWbaaaa@32B0@ is the penalization factor which is always greater than 1. The value of alpha ( α MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqySdegaaa@3796@ ) is 15.0.

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)
D = i = 1 n ( ρ i V i ) ,  if 0 .9 ρ i 1.0 i = 1 n ( ρ i V i ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiraiabg2 da9maalaaabaWaaabCaeaadaqadaqaaiabeg8aYnaaBaaaleaacaWG PbaabeaakiaadAfadaWgaaWcbaGaamyAaaqabaaakiaawIcacaGLPa aacaGGSaGaaeiiaiaabMgacaqGMbGaaeiiaiaabcdacaqGUaGaaeyo aiabgsMiJkabeg8aYnaaBaaaleaacaWGPbaabeaakiabgsMiJkaaig dacaGGUaGaaGimaaWcbaGaamyAaiabg2da9iaaigdaaeaacaWGUbaa niabggHiLdaakeaadaaeWbqaamaabmaabaGaeqyWdi3aaSbaaSqaai aadMgaaeqaaOGaamOvamaaBaaaleaacaWGPbaabeaaaOGaayjkaiaa wMcaaaWcbaGaamyAaiabg2da9iaaigdaaeaacaWGUbaaniabggHiLd aaaaaa@5EE0@
Where,
D MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiraaaa@36C0@
Discreteness indexed
ρ i MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyWdi3aaS baaSqaaiaadMgaaeqaaaaa@38D1@
Density of element i MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKf MBHbqefqvATv2CG4uz3bIuV1wyUbqedmvETj2BSbqefm0B1jxALjhi ov2DaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8 qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9 q8qqQ8frFve9Fve9Ff0dmeaacaGacmGadaWaaiqacaabaiaafaaake aacaWGPbaaaa@39C5@
V i MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOvamaaBa aaleaacaWGPbaabeaaaaa@37EC@
Volume of element i MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbwvMCKf MBHbqefqvATv2CG4uz3bIuV1wyUbqedmvETj2BSbqefm0B1jxALjhi ov2DaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8 qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9 q8qqQ8frFve9Fve9Ff0dmeaacaGacmGadaWaaiqacaabaiaafaaake aacaWGPbaaaa@39C5@

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:
  • Check the optimization setup. For instance, the volume fraction constraint could be too low relative to mesh size (i.e., low volume fraction can only be achieved with very fine mesh).
  • The optimization has hit the maximum number of iterations and has not fully converged to a discrete design. Use DOPTPRM, DESMAX to increase that maximum.
  • The discreteness might be improved by continuing the optimization for longer by reducing the objective tolerance with DOPTPRM, OBJTOL.
  • DOPTPRM, TOPDISC can be used to trigger an additional internal measure to improve discreteness.
  • Even though the defaults are set in a way that they are optimal for most cases, sometimes changing the penalty using DOPTPRM, DISCRETE could help improving design discreteness. See more information on this parameter in Penalty for SIMP.
    Note: This will not have an effect when OVERHANG is used.

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 ( p 1 MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiCaiabgk HiTiaaigdaaaa@3893@ ). DISCRETE can be defined on the DOPTPRM Bulk Data Entry. p MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiCaaaa@36EB@ usually takes a value between 2.0 and 4.0. For example, compared to the non-penalized formulation (which is equivalent to p MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiCaaaa@36EB@ =1) at ρ =0.3, p MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamiCaaaa@36EB@ =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).