Department of Precision and Microsystems Engineering
Topology Optimization For Localizing Design Problems: An Explorative
Christopher Reichard
Report no
Type of report
EM 2012.025
Matthijs Langelaar, Shinji Nishiwaki
Fred van Keulen
Thesis Report
17 September 2012
D E S I G N P R O B L E M S : A N E X P L O R AT I V E R E V I E W
chris reichard
MSc Thesis report
Department of PME
Faculty of Mechanical, Maritime and Materials Engineering (3mE)
Delft University of Technology
Topology optimization is a valuable tool that can assist engineers in the design of many
complex problems. However optimization techniques often have difficulties dealing with
problems that have a strong tendency to localize in the global design domain forming a
sparse design. Typically an extremely fine mesh is needed to capture these results, with
high computational costs. Examples are seen in spanning of large bridges, reinforcements
of thin plates, and the branching effect of a heat conduction problem.
The aim of this explorative review is to identify different possibilities to improve the
computational efficiency. Next to reviewing current techniques, also two novel ideas
were developed and evaluated. The first idea is inspired by techniques present in fields
such as computer graphics. In this field 3D objects used in animation are represented
by skeleton models to reduce the complexity of the problem. Similar techniques are
investigated to determine if such an approach can be used within topology optimization
to develop an optimum structure. The second idea employs an adaptive substructuring
technique in a less traditional manner. The computational domain is split in a part that
is changing and one that is static during the optimization process. The overall goal of
both proposed approaches is to improve the solution process by reducing the number of
variables needed to be solved to obtain the response of the design.
From these investigations and research many ideas are presented which bring benefit
to the sparse problem in optimization. The idea of skeleton modeling is a potential
method but has several issues in developing the model and obtaining the temperature
response. The sub-structuring approach is a promising development offering significant
improvements with up to approximately 67% time savings in the finite elements were
shown for a design problem using 1% of the orignal volume.
background and problem definition
2.1 Preliminaries / Background . . . . . . . . . . . .
2.1.1 Topology Optimization . . . . . . . . . .
2.1.2 SIMP Method . . . . . . . . . . . . . . . .
2.1.3 Heat Conduction: Optimization Problem
2.2 Localization Problem . . . . . . . . . . . . . . . .
2.3 Motivation & Project Goal . . . . . . . . . . . . .
2.3.1 Motivation . . . . . . . . . . . . . . . . . .
2.3.2 Project Goal & Approach . . . . . . . . .
2.4 88 Line Optimization Code . . . . . . . . . . . .
observations / analysis of simp problem for
3.1 Test Problem Definition . . . . . . . . . . . . . . . .
3.2 Observations . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Development & Characteristics of Structure
3.2.2 Effect of Conductivity Ratio . . . . . . . . . .
3.3 Efficiency Analysis . . . . . . . . . . . . . . . . . . .
3.3.1 Test: Efficiency . . . . . . . . . . . . . . . . .
3.3.2 Test: Design Changes . . . . . . . . . . . . .
3.4 Summary of Observations and Analysis . . . . . . .
3.5 Areas of Improvement . . . . . . . . . . . . . . . . .
developing local
methods to exploit local structure
4.1 Finite Element Solution . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Local Mesh Refinement / Adaptivity . . . . . . . . . . . . .
4.1.2 Global Mesh Refinement . . . . . . . . . . . . . . . . . . . .
4.1.3 Mesh Superposition Methods (S-FEM) . . . . . . . . . . . .
4.1.4 Adaptive Sub-Structuring of Optimization Domain . . . . .
4.1.5 Structural Re-Analysis . . . . . . . . . . . . . . . . . . . . . .
4.2 Finite Element Assembly . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Optimization Problem Formulation . . . . . . . . . . . . . . . . . .
4.3.1 Level Set Method Through Skeletonization . . . . . . . . . .
4.3.2 SIMP with Gray Scale Suppression . . . . . . . . . . . . . .
4.4 Update / Convergence . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Sequential Approximation Optimization Update Algorithm
4.5 Summary of Methods . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Level Set Method Through Skeletonization . . . . . . . . . . . . . . . . . . .
5.1.1 Development of Skeleton Curve from the Level Set Function . . . .
5.1.2 Alternative Formulation . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 Current Issues of Skeleton Approach . . . . . . . . . . . . . . . . . .
SIMP with Gray Scale Suppression . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Effects of Gray Scale Suppression Parameter . . . . . . . . . . . . . .
5.2.2 Comparison of Traditional Solid Isotropic Material with Penalization (SIMP) to SIMP-Gray Scale Suppression (GSS) . . . . . . . . . .
5.2.3 Effects on Design Variables . . . . . . . . . . . . . . . . . . . . . . . .
Adaptive Sub-Structuring of Optimization Domain . . . . . . . . . . . . . .
5.3.1 Comparison of Optimal solutions . . . . . . . . . . . . . . . . . . . .
5.3.2 Analysis of Solution Process . . . . . . . . . . . . . . . . . . . . . . .
Methods for Structuring the Optimization Domain . . . . . . . . . . . . . .
5.4.1 Radial Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 Sensitivity Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3 Issues with Sensitivity and Radial Buffer Method . . . . . . . . . . .
5.4.4 Combined Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.5 Comparison of Buffer Zone Methods . . . . . . . . . . . . . . . . . .
5.4.6 Performance of Combined Buffer for Different Volume Fractions . .
5.4.7 Buffer Zone Improvements . . . . . . . . . . . . . . . . . . . . . . . .
5.4.8 Performance of Domain Selection and Buffer Zone Development . .
5.4.9 Adaptive Substructuring Method Summary . . . . . . . . . . . . . .
recommendations for future work
appendix a
Efficiency Analysis for Design 2 . . . . . . . . . . . . . . . . . . . . . . . . .
Effects of Design Change on Design 2 . . . . . . . . . . . . . . . . . . . . . .
appendix b
Effects of Sparsity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Buffer Method with Traditional SIMP . . . . . . . . . . . . . . . . . . . . . .
appendix c
Method of Moving Asymptotes . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure 1.1
Figure 2.1
Figure 2.2
Figure 2.3
Figure 2.4
Figure 3.1
Figure 3.2
Figure 3.3
Figure 3.4
Figure 3.5
Figure 3.6
Figure 4.1
Figure 4.2
Figure 4.3
Figure 4.4
Figure 4.5
Figure 4.6
Figure 4.7
Figure 5.1
Figure 5.2
Figure 5.3
Figure 5.4
Figure 5.5
Figure 5.6
Figure 5.7
Figure 5.8
Figure 5.9
Figure 5.10
Figure 5.11
Figure 5.12
Figure 5.13
Skeleton modeling as presented in a paper by Cornea et al. (8) . .
Optimization Process . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generalized Design Problem . . . . . . . . . . . . . . . . . . . . . .
Heat conduction optimization problem . . . . . . . . . . . . . . . .
Localization of optimal structure . . . . . . . . . . . . . . . . . . . .
Design domains for test problems. Left: Design 1, Right: Design 2
Development of heat conducting structure . . . . . . . . . . . . . .
Effect of different conductivity ratio . . . . . . . . . . . . . . . . . .
Break down of computational cost in terms of increase in complexity, time differences, and percentage of total optimization process
for design 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Computational cost breakdown . . . . . . . . . . . . . . . . . . . . .
Percentage of design with change less than 10−4 for different volume fractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topology optimization on an adaptive mesh with Cartesian grid.
Reproduced from the paper by Costa Jr. and Alves (9) . . . . . . .
Topology optimization with adaptive unstructured mesh. Reproduced from the paper by Maute et al. (23) . . . . . . . . . . . . . . .
Example of mesh superposition (Picture developed byYue (36)) . .
Multi-level superposition (Picture developed byYue (36)) . . . . . .
Substructuring of Domain . . . . . . . . . . . . . . . . . . . . . . . .
Processes involved with adaptive structuring of the optimization
domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Discretization of level-set function with skeleton structure . . . . .
Extracting skeleton from level set structure with ridge detection
method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining principle curvature with the use of the first and second fundamental form . . . . . . . . . . . . . . . . . . . . . . . . . .
RBFs to determine skeleton and its corresponding width . . . . . .
Determining width of skeleton structure from Φ function . . . . .
Example of placing skeleton and determining width of a 2D structure
Issues with Radial Basis Function (RBF) approach . . . . . . . . . .
Connectivity issue of skeleton structure . . . . . . . . . . . . . . . .
Optimized structure for SIMP-GSS with varying gray scale suppression parameter (at iteration 60) . . . . . . . . . . . . . . . . . . .
Comparison of optimized structures between SIMP and SIMP-GSS
with continuation method . . . . . . . . . . . . . . . . . . . . . . . .
Comparison of optimized structures between SIMP and SIMP-GSS
Percentage of design domain with chaning design elements . . . .
Static structure for testing optimization domain . . . . . . . . . . .
Comparison of optimized structures computed from FI and ASSM
(Top: Design 1, Bottom: Design 2) . . . . . . . . . . . . . . . . . . .
Figure 5.14
Figure 5.15
Figure 5.16
Figure 5.17
Figure 5.18
Figure 5.19
Figure 5.20
Figure 5.21
Figure 5.22
Figure 5.23
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Efficiency of static condensation method for number of static iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Establishing static and changing domains . . . . . . . . . . . . . . .
Establishing static and changing domains with use of sensitivity
information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparison of the buffer implementations at some instance in the
optimization process (Iteration: 145) . . . . . . . . . . . . . . . . . .
Using sensitivity information and blur radius to form buffer zone
Efficiency plots of radial buffer for different number of filter passes
Efficiency plots of sensitivity buffer for different threshold levels .
Efficiency plots of combined buffer for different threshold levels
and filter passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Efficiency plots of sensitivity buffer for different threshold levels .
Percentage of computational cost for development of the buffered
changing domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break down of computational cost in terms of increase in complexity, time differences, and percentage of total optimization process
for design 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Computational cost breakdown, Design 2 . . . . . . . . . . . . . . .
Percentage of design with change less than 10−4 for different volume fractions, Design 2 . . . . . . . . . . . . . . . . . . . . . . . . .
Comparison of full stiffness matrix with stiffness matrices of the
substructured domain . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior of traditional SIMP with use of combined buffer at iteration 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3.1
Table 3.2
Table 3.3
Table 3.4
Table 4.1
Table 5.1
Table 5.2
Table 5.3
Table 5.4
Table 5.5
Table 5.6
Design domain criteria . . . . . . . . . . . . . . . . . . . . . . . . . .
Criteria for example of the developing structure . . . . . . . . . . .
Effect of sparsity on convergence . . . . . . . . . . . . . . . . . . . .
Efficiency and design variable test settings . . . . . . . . . . . . . .
Summary of methods to improve the solution process of localizing
topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparison of performance valus at 60 iterations . . . . . . . . . .
Comparison settings for comparing SIMP to SIMP-GSS . . . . . . .
Comparison of performance values for full optimization process
between SIMP and SIMP-GSS with continuation method . . . . . .
Comparison of performance values for full optimization process
between SIMP and SIMP-GSS . . . . . . . . . . . . . . . . . . . . . .
Comparison of Adaptive Sub-Structure Method (ASSM) to Full
Implementation (FI) settings . . . . . . . . . . . . . . . . . . . . . . .
Performance data of optimized structures computed from FI and
ASSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 5.7
Table 5.8
Table 5.9
Table 5.10
Comparison of solution process between FI and ASSM . . . . . . .
Comparison of buffering methods . . . . . . . . . . . . . . . . . . .
Effects of volume fraction on combined buffer method . . . . . . .
Percentage of time used in radial buffer of the total buffering and
domain selection method . . . . . . . . . . . . . . . . . . . . . . . .
Settings for combined buffer with traditional SIMP method and
sensitivity filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Results for combined buffer with traditional SIMP method and
sensitivity filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1
Table 2
Boundary contour.
Global local transformation matrix.
Design domain.
Spatial temperature derivative.
Material property of isotropic material.
Change Threshold.
Dampening parameter.
Internal body forces.
Force applied.
Constraint function.
Objective function.
Heat flux boundary condition.
Temperature boundary condition.
Identity matrix.
Second fundamental form.
General stiffness matrix.
Principal curvature.
Change in stiffness matrix.
Changing domain stiffness matrix.
Coupling stiffness matrix.
Global stiffness matrix.
Global local transformation matrix.
High conductivity.
Low conductivity.
Local stiffness matrix.
Stiffness matrix at previous analysis.
Static domain stiffness matrix.
Set of elements.
Material Domain.
Refernce domain.
Penalty parameter.
Level set function.
Nodal heat flux.
Nodal heat flux changing domain.
Nodal global heat flux.
Nodal local heat flux.
Nodal heat flux static domain.
Matrix of basis vectors.
Filter radius.
S(u, v)
Parametric surface.
Nodal temperature response.
Sensitivity threshold.
Nodal temperature of changing domain.
Nodal global temperature.
Principal directions.
Nodal local temperature.
Surface tractions.
Nodal temperature of static domain.
Upper triangular matrix.
Vol (Ωmat )
Volume of design variables.
Maximum volume.
Change in design variables.
Elemental design variables.
Vector of unknown coefficients.
Adaptive Sub-Structure Method.
Convex Linearization.
Degree of Freedom.
Finite Element.
Full Implementation.
Gray Scale Suppression.
Level Set Function.
Level Set Method.
Method of Moving Asymptotes.
Optimality Criteria.
Radial Basis Function.
Sequential Approximation Optimization.
s-refinement (Mesh superposition technique).
Solid Isotropic Material with Penalization.
Volume Fraction.
Topology optimization has become a powerful tool that can assist designers in the development of many complex structures. Through a numerical solution method and with
the use of optimization algorithms the distribution of material for a given objective and
constraints can be determined inside a given domain. For approximately the past two
decades, topology optimization has received a vast amount of attention and has been
the subject of development to solve many different forms of problems. These problems
range from different forms of structural problems as can be seen from the MBB-beam
example by Sigmund et al. (3), heat conduction optimization as presented by Ha and
Cho (15), and fluid domain optimization as presented by Kreissl, Pingen, and Maute (19).
Essentially the possibilities of what can be optimized are endless if the problem can be
formulated numerically.
The methods to achieve an optimal structure have developed through many different
approaches. A microstructure / homogenization approach was developed by Bendøse
and Kikuchi (5) in 1988. Here the general idea was through the use of composite materials
to described the material properties in the design space. Later Bendose proposed an
alternative approach called Solid Isotropic Material with Penalization (SIMP)(4). This
approach assumes the material properties to be constant within each element and is
scaled through the use of densities which are the design variables of the problem. The
densities are penalized to force the design towards a discrete 0-1 design. More recently
is the development of the Level Set Method (LSM) in topology optimization with Osher
and Sethian developing the concepts of level sets in 1988 (25). The idea uses the contours
of a level set function to implicitly define the boundary of the structure. This gives a clear
distinction between what is structure and what is void.
A specific class of problems that has received little research is in the area of designs
that develop into sparse, local structures through the optimization process. Thus in general these structures develop with the use of low volume fractions meaning the structures
occupy a small fraction of the original design domain. The present issue with this type
of problem is an extremely fine mesh is often needed to resolve the structure and the
responses in order to have any meaningful design once the optimization process has finished. The development of this type of structure can be seen in several areas within topology optimization. Such areas include large spanning bridges, slender reinforcements of
thin plates, compliant mechanisms, and heat conduction optimization problems.
Research in this area is important in order to develop an efficient implementation to
deal with such problems. Therefore the goal of my research is to identify and test approaches in order to improve the efficiency of the optimization process when dealing
with sparse designs. From the literature study methods using mesh refinements have
been currently used to resolve some of the computational issues for this class of problem. Swan and Rahmatalla (30) presented a method through the use of a global mesh
refinement and a reduction technique. Hence, the mesh was globally refined and void elements were removed from the problem. However removing void elements is not always
a possibility, such as in the heat conduction problem. Other approaches use adaptive
mesh refinements to remove the need for highly refined meshes in the void region as
presented by Wang et al. (34) and Costa Jr. and Alves (9).
Through my research two new ideas were also developed to take advantage of the
sparse, local structure. One idea looks into the possibility of sub-structuring the optimization domain based on the status of the design variables. The status can be simply
explained as, whether the design variables are changing or remain static in the optimization process. Based on this criteria the design will be sub-structured into two seperate
domains, a static and changing domain. The computational advantage of this matrix
decomposition comes from a reduction of the Degree of Freedom (DOF) in the changing
domain. With a pre-computed matrix of the static domain, these DOFs can be cheaply
solved. Another method investigates the use of skeleton curves to model the structure.
Such methods are often used in many other fields including computer graphics, medical
imaging, and scientific visualization. An illustration of the method is presented in Figure
1.1. The idea is to represent the structure through bar elements to represent the skeleton
structure. Along with the bar elements a width will be specified to correspond to the
width of the structure.
Figure 1.1: Skeleton modeling as presented in a paper by Cornea et al. (8)
Through my thesis I examine current methods that are available as well as introduce
two new novel ideas on ways to exploit the characteristics of local problems. Hence,
the structure of this thesis is in the form of an explorative review. The feasibility of
these novel ideas will be assesed and if applicable the performance of the methods will
be determined. Therefore, the objective is not about finding a specific solution to the
problem and implementing it fully. By reviewing, exploring and evaluating, at the end of
this thesis recommendations can be made on how to deal with sparse designs and where
future research in this topic can be directed.
The rest of my thesis will be structured as follows. In the second Chapter, a brief
introduction to topology optimization will be given. Here the research problem will be
explained along with the motivation for this research. An overview of the test case will
also be given. In Chapter 3, the observations of the formation of local structure in the
optimization domain will be discussed. This will be followed by different tests to analyze the performance and the behavior of the design variables through the optimization
process. Chapter 4 looks at the research of the current methods as well as a description
of the two novel ideas developed from research. A short summary of the methods and
the advantages and disadvantages was developed and concludes the section. Chapter 5
looks at presenting a more detailed investigation of the two novel ideas. Chapter 6 and 7
will summarize the final conclusion of the thesis and present some recommendations for
future work.
preliminaries / background
2.1.1 Topology Optimization
Topology optimization is a mathematical method used to optimize the material layout
of a structure for a given design domain. This is achieved based on specified boundary
conditions and loads while also trying to meet specific performance criteria. In general
topology optimization is implemented through the use of Finite Elements to analyze the
design and optimization algorithms to update the design to the next design iteration.
These algorithms are often based on the method of moving asymptotes, optimality criterion, and level sets. The general formulation of the optimization problem is given below:
min : f 0 (x)
s.t. f i (x) ≤ 0
x min
≤ x j ≤ x max
i = 1, ..., m
j = 1, ..., n
where f 0 is the objective function sent to the optimizer, f i are the constraints to limit the
design (Stress, volume, displacements), and x are the design variables which are manipulated / controlled by the optimizer to formulate a new design based off of sensitivities
or other gradient information. The design variables often are constrained in a way that
limits the values they can take.
Topology optimization is essentially a material distribution problem requiring placement of material where it is needed and removal where it is not based on the fundamental equations of the design problem. Thus the purpose of topology optimization is to
determine this placement of material. Generally known before formulating the problem
are the following:
• Applied loads
• Support conditions
• Volume of final structure
• Design restrictions
Unknown before formulating the problem and to be determined through optimization
are the following:
• Physical Size
• Shape
background and problem definition
• Connectivity
Optimization is an iterative process that can be summarized in Figure 2.1 from the
method presented by Bendøse and Sigmund (6, p. 2)
Figure 2.1: Optimization Process
A typical type of problem in topology optimization is a minimum compliance problem.
This is a natural starting point in understanding optimization processes as it is a simple
design problem with simple resource constraints with the objective of minimizing the
compliance in the structure. The problem is formulated by considering the structure
represented as the design domain Ωmat that is occupying a subset of the reference domain
Ω in either R2 or R3 .
The choice of the reference domain allows for the definition of boundary conditions and applied loads. Using such
a reference domain also allows the optimization design problem to be formulated
as the optimal choice of stiffness tensor
Eijkl ( x ) which vary within the domain. By
taking advantage of the variational form
of the problem and discretizing the solution over the domain, a finite element approach to the problem can be used. Two
parameters of interest are the displacement U and the stiffness E. If both are
discretized over the same finite element
mesh and the stiffness E is kept constant
in the element, Bendøse and Sigmund (6)
showed the design problem can be formuFigure 2.2: Generalized Design Problem
lated as:
min :f Tapp u
s.t. K( Ee )u = f app
e = 1, ..., N
Ee ∈ E
were fapp is the force applied due to the surface tractions, t, and internal body forces, f .
K is represented as:
∑ Ke (Ee )
e =1
2.1 preliminaries / background
In the design problem we are interested in the optimal placement of the material Ωmat
as a subset of the given design space Ω. This can be visualized as a black and white rendering with the pixels given by the Finite Element (FE) discretization. Thus black pixels
correspond to an area with material and white corresponds to void. Mathematically this
is represented as a scaling of the stiffness tensor by the following equation:
Eijkl = 1Ωmat Eijkl
1 if Ω ∈ Ωmat
1Ωmat =
0 if Ω ∈ Ω/Ωmat
To restrict the design to a 0-1 design (black and white design), a constraint on the
design must be imposed. This constraint limits the amount of volume available in the
reference domain Ω and therefore this amount of material used to develop the structure.
1Ωmat dΩ = Vol (Ωmat ) ≤ Vmax
where Vol (Ωmat ) is the volume from the contribution of all the design variables and Vmax
is the maximum volume allowed limited by the volume constraint set by the user. The
volume constraint is often termed as Volume Fraction (VF), meaning the percentage of
volume remaining in the domain from the initial overall volume.
2.1.2 SIMP Method
A common approach to solving the minimum compliance problem presented in Section
2.1.1 is through the solid isotropic material with penalization (SIMP) method as developed by Bendøse and Sigmund (6). This method formulates the design problem with
continuous variables instead of integer values and uses a penalty function to steer the
solution to discrete values of 0 and 1. The density is then the design variable and the
optimization process tries to optimize the distribution of the density to have either zero
density or full density. The SIMP method can be modeled as:
Eijkl ( x ) = ρ( x ) p Eijkl
ρ( x )dΩ ≤ V
0 ≤ ρ( x ) ≤ 1
ρ( x ) : Design Function
o is denoted as the material property of the isotropic material. The interpolation
were Eijkl
of the density gives a stiffness of the problem between 0 and Eijkl
meaning the final
structure will have either 0 stiffness at a design point or the full material property.
With this penalization method, one can choose the penalty value in order to penalize intermediate densities. Thus usually a penalty value, p greater than one meaning
intermediate densities (stiffness) becomes to costly for the given amount of material volume present. Thus the optimization process will force the intermediate value material
densities either down to 0 or up to 1.
background and problem definition
2.1.3 Heat Conduction: Optimization Problem
For conducting research on localization effects, the heat conduction problem was chosen
as the design problem to investigate in topology optimization due to its tendency to
develop localized structure. This problem is also a bit more challenging than a structural
problem in order to efficiently implement. The field outside of the structure for heat
conduction must also be modeled.
The development of the heat conduction structure as controlled by the optimizer can be
visualized by imagining the main branches of a tree. The heat conduction optimization
problem is essentially a two material design problem consisting of the placement of high
and low conductive material on a square or rectangular plate as shown in Figure 2.3.
Uniformly applied over the plate is a constant heat source transferring energy into the
domain which must be removed through the heat sink. The goal of the optimizer is to
develop the optimum path to move the heat from the domain to the heat sink, which can
be defined anywhere on the boundary or the interior of the domain.
Figure 2.3: Heat conduction optimization problem
As a practical example, think of the plate as a method to remove the heat generated
from a CPU. Two types of material are available to conduct the heat away from the
CPU. For formulation of the optimization problem, the high conductive material is considered expensive and the low conductive material is considered cheap. Thus through
optimization, an optimal placement of the high conductivity material is needed in order
to minimize the average temperature in the domain through the given amount of high
conductive material specified.
The formulation of the heat conduction optimization problem is developed from the
governing differential equation for heat transfer. For isotropic material and steady state
conditions, the heat transfer equation is simplified down to the following:
∂ T ∂2 T ∂2 T
+ 2 + 2 + q = 0 in Ω
with the following boundary conditions:
qn = q T n = q̄
T = T̄
2.2 localization problem
were k is the conductivity, T is the temperature, ∂∂T
is the spatial temperature derivative
in the corresponding direction, q is the internal heat load, and Γq is the heat flux boundary
condition, and Γt is the temperature boundary condition.
Through the Galerkin method, a finite element formulation can be developed which is
used in the optimization problem to develop the objective function. Here the objective
of the problem can be interpreted as minimizing the thermal resistance of the problem
in order to reduce the average temperature (only if a uniform heat load is applied) of
the design domain. The optimization formulation of the the heat conduction problem is
shown below.
min :q Tapp t
s.t. K(ρ)t = q app
e = 1, ..., N
∑ ρi Vi ≤ Vmax
0 ≤ ρmin ≤ ρi ≤ 1
with q app the uniformly applied heat source and K represented as:
K(ρ) = (k L + (k H + k L )ρ P )
were k L and k H are the low and high conductivity respectively.
localization problem
Optimization of certain design problems often tend towards a localized design structure
which can be defined as the development of fine detail in a fraction of the global design
domain. Thus a majority of the domain is left void of material. Examples of such phenomena can be seen in reinforcement of thin plate structures, heat conduction through
two different conductive materials with a uniform heat source, placement of conductive
elements in solar panels, the span of large bridge structures, and compliant mechanisms.
This tendency of localized effects is directly influenced by the volume constraint for the
optimization process. As the volume constraint approaches zero, the material is forced
to concentrate in specific parts of the domain due to high strains, thermal resistances, or
other criteria in which the objective function of the optimization process is developed for.
With such local features, it is important to use extremely refined models incorporating high numbers of degrees of freedom in the finite element mesh. If such detail is
not achieved, it will be difficult to capture such a structure and resolve the necessary
response of the system to accurately estimate the system performance. Such refinement
obviously presents some serious issues in performing an optimization, as efficiency will
be compromised. As this research is focused around the heat conduction problem an
example of this localizing effect is shown in Figure 2.4 for different volume constraints.
motivation & project goal
2.3.1 Motivation
Capturing such localized features in an optimization problem in an efficient manner has
received little research in the topology optimization field and is limiting the practical
applicability of topology optimization for sparse problems. For a minimum compliance
background and problem definition
Figure 2.4: Localization of optimal structure
problem such a solution as removing elements from the model that are not directly contributing to the structure may be used. There are some drawbacks with this method as
the structure can not re-enter the area where elements have been deleted. However such
an approach is not always available, such as in a heat conduction problem were the temperature response is needed in the rest of the domain. Adaptive mesh refinement could
be employed, but the drawback is this method is not always the most efficient way.
Missing in the topology optimization field is a method that exploits the structure and
sparsity of localized problems and takes such information into account during the optimization process. Instead of optimizing and then further refining the solution to capture
such local details, a method that explicitly develops the structure and determines the
response locally from the initial design point is needed. Once developed, further investigations on the behavior of localized phenomena can be further investigated in an efficient
2.3.2 Project Goal & Approach
The goal of this thesis is to increase the understanding of topology optimization for structures that localize and to investigate ways to improve topology optimization efficiency
for sparse problems. This will be achieved by:
• Examining current topology optimization methods (Chapter 3),
• Research techniques dealing with local refinement (Chapter 4),
• Develop and test ideas to take advantage of local structures (Chapter 5).
An explorative overview of the problem will be developed which first examines the
behavior of the heat conduction problem through a SIMP implementation. This offers a
simple starting point / introduction to the problem giving a basis for initial analysis and
observations. With knowledge of the problem behavior further research on localization
and other optimization techniques will be conducted. Exploration of some typical solutions will be presented as well as some new novel ideas will be investigated along with
some tests of their implementations. From this review, the reader should be more aware
of the present issues around topology optimization for localizing structures and have an
idea of how to proceed with such problems.
2.4 88 line optimization code
88 line optimization code
As the 88 line topology optimization code by Sigmund (3) was adapted in this research
for the earlier stages of investigation of the localization problem, a brief description of
the code as well as how it was used in the research will be given. This optimization
code is a simple yet efficient MATLAB implementation of the SIMP method developed by
Sigmund for research use. The code takes advantage of the ability to vectorize equations
in MATLAB to avoid costly construction of the finite element matrices. The following is
implemented within the code:
• A basic finite element package is used to develop the conductivity matrix for a
rectangular grid,
• MATLAB backslash operator to determine the temperature response,
• Filtering methods (both density and sensitivity filtering) to provide for unique solutions and avoid checkerboard patterns in the design,
• Optimality criteria method for updating the design variables.
Due to its simplicity, some modifications to the original code were needed to account
for changing grid sizes and the use of heat conduction elements for a heat conduction
problem. Since little information on efficient methods for dealing with localization problems was found in the initial research, it was decided the 88 line code will be the basis for
the initial investigation. Also since the implementation is very efficient, it will provide for
a basis of comparison for any ideas or implementations developed through the research
performed during the thesis.
Through this chapter, an understanding of the behavior of the SIMP method for a localizing design problem involving heat conduction will be observed and analyzed at low
volume fractions. These observations and analysis will develop knowledge of localization which are beneficial for focusing the research. Insight to new ideas that could benefit
the modeling of such structures during optimization routines will also be obtained. This
information will be used in Chapter 4 which focuses on methods to handle such problems.
test problem definition
The design domain for the heat conduction problem is developed under the criteria provided in Table 3.1 with a uniform mesh (Unless otherwise specified), where the units are
relative and uniform:
Domain Size
Heat Flux
Element Type
DOF per Element
Min. Density
Rectangular Element
Table 3.1: Design domain criteria
From here two different designs are used for observations and testing as shown in
Figure 3.1. The first design only has a small heat sink (T=0) located on the left boundary
centered in the middle with a width of 1/10th of the length of the overall side. The second
design has heat sinks (T=0) placed on all of the boundaries surrounding the domain.
Figure 3.1: Design domains for test problems. Left: Design 1, Right: Design 2
observations / analysis of simp problem for developing local structure
Through observation of the optimal heat conduction structure as well as how this structure develops can provide useful information on improving the optimization process or
insight on how to develop a new process. These observations will focus on how the
structure develops along with the characteristics of this structure and the influence of
different conductivity values specified in the design domain.
3.2.1 Development & Characteristics of Structure
This development would be best shown through a movie of the process iterations, but is
hard to show in report format. Thus a description of the process will be given. These
observations focus on how the design changes within the structure and the optimal configuration for both designs 1 and 2 . They are performed under the criteria provided in
Table 3.2.
Sensitivity Filter Radius
Temp. Change < 0.05%
p: 3
Table 3.2: Criteria for example of the developing structure
The structure initially develops by concentrating all of the material near the center of
the domain as a result of the high penalty factor suppressing the design sensitivities on
the outer regions. This is illustrated in Figures 3.2a and 3.2c.
From here the material is arranged into branch like structures which eventually fill the
rest of the domain as shown in the optimal design of Figures 3.2b and 3.2d. However
this redistribution of material after it has clustered is a slow process as it must move
material into a fine local structure in areas with no initial density. Already this shows the
inefficiency of starting with a penalty of 3 and a reason for the use of a penalty continuation method, along with avoiding local optimal solutions. Using a penalty continuation
method, the structure develops similarly except the material does not initially cluster to
the center of the domain but remains dispersed.
The areas of design change after the majority of the material has been redistributed
into the branches remains as local changes in the structure. These changes are mostly
concentrated around the boundaries as shown in Figures 3.2e and 3.2f. In the figure, the
gray areas correspond to no change in the design, the white areas correspond to adding
material, and the black areas correspond to removal of material
As the optimization process continues, most of these design variables remain oscillating or only decrease in a slow manner until eventually convergence is reached. However
there always remains design changes located on the boundaries due to the use of a sensitivity filter making the sensitivities inconsistent. This occurrence is less prevelant with
the use of a density filter with a similar formation of the structure (If penalty continuation
methods are used).
The effect of the volume fraction, or the sparsity of the problem, on the convergence
rate in general is rather significant as shown in Table 3.3. As the volume fraction decreases the number of iterations to converge to a solution greatly increases. This is
partially due to the strict penalty of 3 as all the material concentrates which is more
profound for local structures. Thus differences may develop based on the settings used.
3.2 observations
(a) Developing structure (Design 1: 10 iterations)
(b) Optimal structure (Design 1: 146 iterations)
(c) Developing structure (Design 2: 10 iterations)
(d) Optimal structure (Design 2: 84 iterations)
(e) Areas of design change (Design 1: 146 iterations)
(f) Areas of design change (Design 2: 84 iterations)
Figure 3.2: Development of heat conducting structure
Volume Fraction
Mesh Size
Iter. for Convergence
Table 3.3: Effect of sparsity on convergence
observations / analysis of simp problem for developing local structure
Characteristics of Structure
The general characteristic of sparse localized structure (especially at low volume faction,
see Figure 2.4 in Section 2.2 as an example) is a form of a discretized beam like structure
with varying cross sections of each of the individual beam members. This is seen in
many sparse structural designs, such as optimal configuration of a spanning bridge and
as shown from the heat conduction problem. This distinction from other topology optimization problems could possibly give modeling of the structure a distinct advantage
which presently has not been exploited in continuum topology optimization methods.
3.2.2 Effect of Conductivity Ratio
For the purpose of this section the conductivity ratio is defined as :
kratio =
hence it is a ratio of the high conductivity to the low conductivity.
The selection of the conductivity ratio places an interesting and important role in the
development of the structure. It directly influences the amount of branches forming in
the optimization problem. As the high and low conductivities become closer together
there is less incentive for the structure to branch. This is due to the ability of the low
conductivity material being able to conduct the heat more efficiently. As the difference in
conductivities increase, the low conductive material is less able to transfer heat to the high
conductive material. If large pockets of low conductive material exist, high temperatures
will develop. In order to minimize these pockets of low conductive material and the
temperature in these regions, the structure begins to develop more branches. Effects of
different conductivity ratios is presented in Figure 3.3
efficiency analysis
Through this analysis two main tests were performed to help understand the behavior
of the optimization process for localizing design problems. The first test investigates the
effect of increasing design variables which directly increases the number of degrees of
freedom in the system. The number of design variables controls the resolution of the
structure that can be obtained and the degrees of freedom influences the resolution of
the response. Typically in SIMP implementations, as well as in the 88 line code, the
number of elements and design variables are equal but this does not necessarily have
to be true. The second test looks at the design variables and how they change during
the optimization process. Through these two tests, a better understanding of the SIMP
Method and how the heat conduction problem localizes through optimization will be
used to determine areas were improvements or changes in implementation of algorithms
can be made. This topic will be discussed further in Chapter 4. For both of these tests
the settings are presented in Table 3.4.
3.3.1 Test: Efficiency
The development of update algorithms for optimization has produced a variety of efficient processes even for large amount of design variables. Therefore it is expected the
optimization formulation to not be a big issue in terms of efficiency. Finite element
3.3 efficiency analysis
Figure 3.3: Effect of different conductivity ratio
100 iterations
Sensitivity Filter Radius
Elements doubled in each
direction, reference mesh of
Table 3.4: Efficiency and design variable test settings
solvers, however for large problems, still consume considerable amounts of time. Many
advancements have been achieved with the use of different factorizations, parallelization,
and iterative methods, but there is still a large dependence on the size of the problem.
One of the most efficient direct methods is the use of Cholesky factorization with forward
and backward substitutions. Even with such an implementation the cost of computation
of the solution Ax = b is (1/3)n3 flops with the forward and backward substitution of
2n2 flops. This is the worst case and depending on sparsity of the problem, efficiency may
be improved (7). Through the MATLAB implementation the backslash operator is used
where the method of solution was determined to be through Cholesky factorization.
The first test will examine the time increase for doubling the number of elements in
each direction (subsequently increasing the amount of degrees of freedom (DOF) and
design variables) for each of the components in the optimization process: FE (Assembly
and Solution), Objective function, Update of design variables, and filtering along with
the total time for the optimization process. The overall optimization process can be seen
in the flowchart presented in Section 2.1.1 in Figure 2.1. This test does not include the
start up time before the optimization loop is performed. The results from this efficiency
test are shown in Figure 3.4
observations / analysis of simp problem for developing local structure
(a) Increase in computational complexity
(b) Time differences per iteration
(c) Percentage of total optimization process
Figure 3.4: Break down of computational cost in terms of increase in complexity, time differences, and percentage of total
optimization process for design 1
Figure 3.4 breaks down the time per iteration of the components involved in the optimization process for design 1. The results for design 2 are presented in Appendix A,
Section 1, however the behavior of the results are the same as design 1. Figure 3.4a shows
how each of the components increases with an increasing mesh size on a log scale. This
better depicts the increase in computational complexity of the method. Overall all the
methods increase at approximately a similar rate. Figure 3.4b better presents the time
difference as the mesh size increases and shows how much the finite elements is the controlling time factor in the optimization process especially at large mesh sizes. The time
to compute the finite elements is significantly longer than all the other processes. Figure
3.4c presents a numerical comparison of the percentage each process takes in the overall
optimization process. This once again shows the domination of the finite element process
in optimization.
Figure 3.4 is further elaborated on by splitting the finite element contribution into its
individual components of the finite element assembly of the stiffness matrix and the solution of the finite element to obtain the temperature response in the design domain. Some
interesting occurrences in the behavior of the optimization process are better seen as plotting the data in a 2D line plot. This breakdown is shown in Figure 3.5. The plot shows
the percentage of each component for each of the different mesh sizes, were it is noted
that the FE assembly and FE solution is a subsequent breakdown of the FE and reflects
the percentage of time towards the total contribution of the finite elements (blue solid
line). Initially the finite elements increases in percentage for the smaller mesh sizes and
begins to decrease. This is either due to inherit changes within the internal workings of
3.3 efficiency analysis
the methods, such as possibly needing more search iterations for the bisection algorithm
in the optimality criteria method, or perhaps due to the computer architecture changing
the storage of the matrices in memory. After examining the the number of iterations
needed for the bisection method, no irregularities were noticed.
Figure 3.5: Computational cost breakdown
From these results the following conclusions can be made about the increasing mesh
size and the cost it has on the performance.
• Roughly all the components increase in the same manner with the FE method increasing by the fastest and the objective increasing slowest.
• Inside the finite elements the solution method is the dominate cost and increases
faster than the assembly cost with increasing mesh size.
3.3.2 Test: Design Changes
This final investigation takes a look at the design variables and examines how they change
within the design domain. Thus during what part of the optimization process is there a
global change in design variables and when is the change dominated by local fluctuations.
It is expected the degree in which it is global or local change will be dependent on
the volume fraction specified, the design implementation (i.e. the boundary conditions,
conductivity ratios, filter radius, etc.), and the mesh size. In this test a design element is
considered not to be changing if the change in the element is less than 10−4 . The results
from this test are shown in Figure 3.6 for changing volume fraction for design 1.
The number of design variables changing within the domain is significantly dependent
on the VF specified in the optimization process as can be seen in Figure 3.6d. The higher
the VF the more global fluctuations remaining in the optimization process for greater
amounts of iterations. Likewise the lower volume fractions experience significant local
fluctuations early on in the process. It can be see with the black dotted lines in Figures
3.6a, 3.6b and 3.6c, the percentage of design domain not changing after 20 iterations.
For a VF of 30%, 10%, and 1% about 50%, 20%, and 2% of the design domain remains
changing respectively. This is due to the greater number of design variables available for
observations / analysis of simp problem for developing local structure
(a) Percentage no change for VF: 0.3
(c) Percentage no change for VF: 0.01
(b) Percentage no change for VF: 0.1
(d) Comparison between
1600x1600 mesh
Figure 3.6: Percentage of design with change less than 10−4 for different volume fractions
change with higher VF and the greater length of the perimeter of the structure that can
change (See Figure 2.4 for example).
Also interesting is the differences between mesh resolution and the fact the design
changes never reach zero during the optimization process especially for lower mesh resolution. This is due to the inconsistencies of the sensitivity filter resulting in small fluctuations in the design variables throughout the process. Optimization runs on smaller mesh
resolutions become more affected by the inconsistencies of the sensitivities meaning there
is a less percentage of design variables being static. This is due to the use of a fixed filter
radius of 1.2 used for all of the mesh resolutions.
The percentage of design domain with no change was also determined for design 2
with the results shown in Appendix A, Section 2. The same main findings as determined
for design 1 also were seen in design 2. However the percentages throughout the iterations seem to be less stable as some fluctuations occur.
summary of observations and analysis
A short summary of the principle findings will be given from the previous observations
and analysis. The findings are the following:
3.5 areas of improvement
• Overall the structure of a sparse design problem develops in a manner that resembles a series of connected beams each with varying width. This is a potential area
were better representation of the model could be used.
• In general the number of iterations for convergence increases for sparse problems.
• Roughly all the processes within optimization increase in the same manner and the
finite elements is the dominate cost within topology optimization.
• With sparse problems there is a great percentage of design variables non-changing
early on in the optimization process, which is another potential area of exploitation.
areas of improvement
Since the 88 line code is not optimized for a design problem with local structure, potentially some significant improvements can be made. As can be seen from the observations
and analysis in Sections 3.2 and 3.3, the following areas need attention:
1. Increase efficiency per iteration of finite element solution
2. Increase efficiency in assembly of finite element stiffness matrix
3. Reducing gray solutions and making boundaries of structure well defined
4. Number of iterations for convergence
The focus of these improvements will be in the form to improve the overall efficiency
in terms of a reduction of variables. In a sense that, a smarter approach of how to model
the structure in the physics of the problem is needed. Thus the main area of focus of this
research investigation is:
• Smarter assembly of stiffness matrix to reduce redundancy of updating non-changing
design variables
• Smarter modeling of the structure in the physical domain (reduced DOF) to obtain
response and sensitivities accurately to update the design domain (design variables)
This task will be assisted by looking into different optimization problem formulations
which can better describe the boundaries of the structure, bringing greater potential to
methods to represent the sparse structure. Lastly, it was noticed in general when compared to a less sparse design, a sparse design often required more iterations for convergence. Examination of mathematical programming methods may bring some benefits to
the methods looking to exploit the sparse structure.
This chapter focuses on presenting a diverse set of methods that can bring benefits to
sparse, localized design problems in topology optimization. The area of improvements
identified are general areas that effect the computational efficiency of the optimization
process. Thus the areas presented in Section 3.5 will be used to guide the research and
discussion. Some of these methods are ideas that are already familiar in the areas of finite elements and have been more or less adopted into the realm of optimization, such as
using mesh refinement / adaptivity and matrix re-analysis. The topics presented on current methods were chosen because they best target the issue of sparse structures and this
list is not meant to be comprehensive of all the techniques available. Besides the current
methods, two novel ideas incorporating concepts from substructuring in optimization
and an idea that was developed based off the observations of the previous chapter will
be shown. These include ideas such as an adaptive domain substructuring and skeleton
curve representation of the structure.
The discussion for this Section will be broken down into the main corresponding areas
of improvement: Finite Element (FE) solution, FE assembly, formulation of optimization
problem, and convergence. In each of these sections the method will be described while
keeping in mind the objective of the research of local structures. In terms of the current methods, only research has been performed on the subject as to implement them all
would provide for considerable amount of time and resources to perform. For the novel
ideas, background research was performed and some implementations / tests were developed to shown the functionality of such methods and how they can benefit the localized
representation of a structure. These investigations will be presented in Chapter 5. At
the end of this chapter, a summary of the methods is presented in Section 4.5, giving an
overview of the complexity of the implementation, expected improvement, advantages,
and disadvantages as determined from the research.
finite element solution
As determined from Section 3.3.1 the solution of the finite element procedure is a considerable cost in optimization, whether it be for a local structure or not. Either way there are
several different existing techniques that are used within topology optimization to help
improve efficiency. Some existing methods will be reviewed along with the introduction
of a novel method. Moreover some of these methods could be combined to achieve an
even better overall efficiency.
methods to exploit local structure
4.1.1 Local Mesh Refinement / Adaptivity
The concept of adaptive mesh refinement within topology optimization is still rather new
and under development, but the main idea is to obtain the same design as a uniform
mesh but with a lower cost. Thus it is a method of balancing resources by not wasting
time computing overly fine meshes or obtaining inaccurate results from to coarse of a
representation. Such a method can bring considerable computational gains to the problem by preventing resolution of response in void areas which are significant in this type
of problem. However since the structure is constantly changing, it must be assured that
such adaptions allow for accurate responses and computations of sensitivities to drive
the changes in the material distribution accurately. Thus through a dynamic adaptive
strategy, refinement and definement of the mesh can occur to adapt to the position of the
optimization structure. Advantages of such a scheme are:
• Increased computational savings
• Increased storage savings of degrees of freedom
• Control of grid resolution, providing resolution where it is needed.
and the disadvantages are:
• Extra cost due to increased complexity in mesh handling
• Deciding when are where to refine or coarsen the mesh.
Two main methods have evolved through research being performed on the topic. Either
the mesh can remain in a fixed format, usually Cartesian / structured grid, and then
further refined in each individual element. Or the mesh can adapt itself to the form of
the structure. Each method offers its own benefits to the problem. Since these methods
are often involve numerous steps to implement, only a description of the methods will
be presented here.
The simplest mesh adaptivity methods employ the use of regular Cartesian grids that
are further refined in each of the individual grid cells. The general procedure of such
a method begins by covering the computational domain with the use of a coarse mesh.
As the optimization process progresses, cells are tagged for refinement based on the
supplied criterion such as the density in the element. The cells that are tagged are then
refined after a certain period of time and a procedure is performed to ensure conserved
quantities are balanced between the boundaries of the cells.
One of the early approaches in this method was developed by Costa and Alves (9),
presenting a method that refines the mesh through a sequence of converged solutions at
fixed intervals in the optimization process. The method aims at refining the coarse mesh
design and never goes back to derefine any previous details. These refinements occur in
all elements once they reach a specific density level. As a down side to this method, as
reported by the author, is the dependency on the initial mesh. The results obtain were
often not the same optimal design found with the use of a uniform mesh. This was due
to the designs being confined to earlier results of coarse meshes.
Another work presented by Wang, Sturler and Paulino (34) looked to improve upon
Costa and Alves adaptive mesh refinement by offering a method that dynamicly adapted
to the optimization process but still keeping with the simplicity of the Cartesian grid. The
resulting grid for an optimal structure based on the authors methods is shown in Figure
4.1 finite element solution
4.1. The method allows for the meshes to change continually in both refinement and derefinement. The author reported better gains in efficiency (approximately 30% reduction
in time) through the use of de-refinements in void regions as well as structures that were
similar in optimal solutions with in a margin of error (2.58% difference in designs) to that
of a uniform mesh. This greater accuracy can be attributed to the dynamic nature of the
refinement as the results after the refinements occur can be used to update the design
and is no longer confined to earlier coarse meshes. Such a method makes it possible to
readapt the mesh if the structural region moves towards a boundary of fine and coarse
Figure 4.1: Topology optimization on an adaptive mesh with Cartesian grid. Reproduced from the paper by Costa Jr. and
Alves (9)
A few papers by Maute, Schwarz, and Ramm (22)(23) present a different version of
adaptive mesh refinement. An approach in which the orientation of the mesh adapts to
the structural boundaries of the optimization problem as shown in Figure 4.2, but greatly
adds to the complexity of implementing such a solution. Such an approach better represents the material boundaries and the stresses along the boundary. Adaptive refinement
is first used to develop the structure and transform the mesh into the configuration along
the boundary through the use of isolines. Once void areas are determined they are eliminated from the problem. In the examples presented, the authors report 16% reduction
in computational effort compared to a conventional procedure while producing similar
Overall this approach adds a larger amount of complexity to the problem especially if
the mesh deviates from a Cartesian mesh. Methods need to be devised to select elements
for refinement and the error in the solutions need to be monitored. Thought has to be
given about how the sensitivities develop and the effects mesh refinements play on the
final optimal design. The results achieved are usually similar to conventional uniform
mesh but discrepancies are still present.
4.1.2 Global Mesh Refinement
A conceptually simpler mesh refinement strategy can be employed through the use of
global mesh refinement. This eliminates many of the complexities and complications
involved in a dynamic mesh adaptivity method while also still achieving fine mesh detail.
However this type of refinement needs coupling with another method to bring the true
benefits. Global mesh refinement will develop a fine mesh where the structure is located
methods to exploit local structure
Figure 4.2: Topology optimization with adaptive unstructured mesh. Reproduced from the paper by Maute et al. (23)
but also contributes to a fine mesh in void areas. The void areas need to be dealt with
An advantage of such a mesh refinement technique is the amount of iterations needed
to be performed on a fine mesh. By initially developing the structure on a coarse mesh,
feasibly less iterations will be needed for the fine mesh calculations. Improvement is
gained based on the reduction of iterations on the fine mesh. A concern of such a
method is how the coarse meshes effects the final optimization results. The solutions
before refinement of the mesh are based on solutions of a coarse mesh, which are often
considerably different from a fine mesh solution. Since the structure is already developing to an optimal solution based on the coarse mesh, perhaps it is not the same path that
would be taken if an initial finer mesh had been used.
A paper by Swan and Rahmatalla (30) presents an implementation of a global mesh
refinement technique. They proposed a method were the preliminary problem is solved
on a coarse mesh using a moderate volume fraction. Through a sequential process they
map the results of the previous mesh onto a finer mesh and reduce the volume fraction in
the domain. They repeat the process until a optimal shape and performance is achieved.
Through this method they also apply a size reduction strategy in which the void structural elements can be removed from the problem. If needed the elements can be returned.
This strategy brought considerable computational gains. The author reported similar designs in the examples they used and expressed considerable computational gains, but
specifies no objective value on the improvement.
A strategy of removing void elements from the problem is computationally beneficial
if the type of problem is able to take advantage of it. For a heat conduction problem
and many others, this is not the case. The void areas in the domain need to be retained
in order to calculate the overall temperature response in the design. A different method
would be needed in order to reduce computational effort in these regions.
4.1 finite element solution
4.1.3 Mesh Superposition Methods (S-FEM)
A FE technique developed by Yue (36) is a technique that defines a global coarse mesh
followed by a sequence of finer meshes superimposed over the original coarse mesh.
This method is similar to adaptive h-refinement and is called s-refinement (Mesh superposition technique) (S-FEM). Global and local refinement can be achieved in an efficient
manner where the local refinement is structured in the areas where it is needed. The
mesh can be constructed in a simple fashion with the use of a structured mesh superposition as shown through the illustration below (unstructured mesh provides for greater
complications, but perhaps better representation or better efficiency)
Figure 4.3: Example of mesh superposition (Picture developed byYue (36))
A simple implementation and the main equations to structure the problem will be
presented, in order to indicate the computational complexity of this approach. The assembled system of equations for the problem as presented by Yue (36), becomes:
#( )
with KGG and KLL corresponding to standard stiffness matrices of the global and local mesh respectively and KGL and KLG representing the coupling matrix between the
different meshes.
Multi - level mesh superposition is possible which helps eliminate the influence of the
global discretization on the composite mesh. This also improves the condition of the
matrix. The assembled equations are:
methods to exploit local structure
Figure 4.4: Multi-level superposition (Picture developed byYue (36))
 K10 K11
 .
 ..
Kn0 Kn1
   
· · · K00 
q0 
 t0 
 t1   q1 
· · · K1n 
..   ..   .. 
 . 
. 
 
 
 
 
 
· · · Knn
with layer 00 corresponding to the global layer and layers ii corresponding to the subsequent superimposed meshes and indices ij represent the coupling matrices between
the layers. The coupling matrices are obtained through the use of the local matrix KLL
and a global local transformation matrix C which is an expression developed by the interpolation functions of the global an local meshes. The coupling matrix is described
KeGL (i, j) =
∑ Cik KeLL (k, j)
k =1
A method could be envisioned of an assembling of multiple meshes either in a structure case or an unstructured case. First in a structured case, the method of assembly is
relatively simple as the discretization follows the main structural elements and uses it as
a guide to construct the finer mesh. Overall this method of assembly is relatively simple
and efficient. It can be used to develop a local mesh around the local structure while
maintaining a sparse global surrounding mesh. Another method of using an unstructured refinement, could be thought of in such a way of overlaying bar elements where
the structural members are needed in the heat conduction problem. Based on the amount
of conduction that is needed through the element a certain size can be given based on
some sizing algorithm. This method is likely to benefit from the use of a level-set method
which will give a more accurate placement of the bar elements do to its smooth boundaries.
A part that was not clear from the authors description of the approach, is the effect of
changing values in the global and local stiffness matrix. In other words if a density of an
element would change in the local mesh, would the matrix for the global mesh also need
to be recalculated. Also this method was presented through the use of a single material,
thus it is not clear how the formulation would be effected through a varying density field
in the case of continuum topology optimization.
4.1 finite element solution
4.1.4 Adaptive Sub-Structuring of Optimization Domain
The idea of sub-structuring (static reduction) is not a new topic in the field of finite element analysis and is used in many large scale problems to reduce the size of the problem
to efficiently obtain a solution or to perform different forms of analysis on different components. This technique first arised in the aerospace field in the late 1960’s in order to
perform a break down of the components to be analyzed in the complex structure of the
airplane. This was analyzed in a paper by Przemieniecki (26).
Recently, such methods have been explored in topology optimization as a technique
to reduce the computational cost. Vemaganti and Lawrence (31) developed a method
using a decomposition of non-overlapping domains to take advantage of parallel methods to solve the optimization problem. This consisted of developing a parallel algorithm
for SIMP as well as the testing of three different parallel linear solvers for the equilibrium problem. Mahdavi et al. (21) developed a similar technique using sub-structuring
to develop a parallel optimization method. They avoid developing the global stiffness
matrix and look to directly decompose the problem. The equilibrium equations are then
solved through a preconditioned conjugate gradient algorithm. Ma et al. (20) examined
a method of substructuring that allows the designer to have specific control over the subdomains to give some control back to the user to develop more realistic design problems.
Different types of control the user is given are allowing the user to use multiple materials
in various subdomains of the structure, controlling the material distribution, and following a desired pattern or tendency of the material distribution. In common with these
traditional substructuring techniques, is the use of parallel processes to achieve a gain in
efficiency. Hence, each sub-domain is solved with the use of a different processor.
Through the method of static condensation a different method is proposed unlike the
traditional approaches. Here it might be possible to improve efficiency by reducing the
size of the stiffness matrix that needs to be inverted every iteration. Since a large part
of the domain has unchanging design variables, it is possible to only take the inverse of
these design variables once every several iterations. When the number of design variables
greatly increases in the domain, this method could prove to be especially important. Thus
the effected set of design variables that needs to be inverted every iteration is reduced.
An approximate example will illustrate the improvements of such a method. Through
the Cholesky decomposition method the worst cast computation cost is of O(n3 ). For
calculating the full domain which is represented by 1, the computational cost is 1. Now
for calculating 10% of the domain being represented as 0.1, which was shown to arise
quickly in the optimization process in Section 3.3.2, and assuming a similar behavior
of O(n3 ), then the computational cost is 10−3 . This shows 99.9% improvement in the
computational cost. Obviously this comparison is just a crude approximation to represent
the idea, but in reality such improvements will be considerably less. As missing from
this example are the extra costs to construct the seperate domains and build the matrices.
A simple illustration of how the domain would be structured is shown in Figure 4.5.
The domain is essentially structured from a single domain to a dual domain in a way
that separates the design variables that are changing from those that are not changing.
Thus the finite element equation can be sub structured in the following manner:
#( ) ( )
where KSS , ts , and qs are the stiffness matrix, temperature response, and heat flux of
the static domain respectively. KCC , tc , and qc are the stiffness matrix, temperature re-
methods to exploit local structure
Figure 4.5: Substructuring of Domain
sponse, and heat flux of the changing domain respectively. KCS and KSC are the coupling
matrices. The stiffness matrix in the previous equation is developed by the following subdivision of the nodes:
Kcc Kci
 Kic
with 0 being a matrix of zeros.
Arranging the matrix equation into its individual components yields:
tS = K−
SS ( qS − KSC tC )
tC = KCC
(qC − KCS tS )
The temperature of the static domain can be substituted into the matrix equations to
determine the temperature of the domain that is changing.
tC = (KCC − KCS K−
SS KSC ) ( qC − KCS KSS qS )
The temperature in the part of the domain that is static can be recovered after the
temperature in the domain that is changing is known.
tS = K−
SS ( FS − KSC tC )
Thus the size of the problem to be calculated each iteration is reduced to the amount
of changing design variables in the design domain for several design iterations.
A concern to the process is the effect of the interface nodes shown in Equation 4.1.5 as
the size of KCC is [c + i ] × [c + i ] were c and i is the number of changing and interface
DOFs respectively. This will depend on the length of the boundary of changing variables.
If the boundary is large a significant amount of degrees of freedom will be added to
the changing domain through the terms Kii , Kic and Kci . This addition will reduce the
overall benefit of the method.
4.1 finite element solution
An illustration of how this process is performed is presented in Figure 4.6. The overall
process is similar to the original optimization process presented in Figure 2.1, the major
differences are the development of the separate domains and separate solution of the
temperature for the static and changing design variables.
Changing and
Static Domains
Develop Buffer
Generate Static
Stiffness Matrix
Solve Static
Stiffness Matrix
Update Domains
Solution of
Static Domain
Solution of
Domains Fixed
Figure 4.6: Processes involved with adaptive structuring of the optimization domain
This approach will be further explored and tested in Section 5.3
4.1.5 Structural Re-Analysis
Since a great deal of computation time within an optimization procedure is due to the
solution of the equilibrium equation, a significant reduction in computational cost can
be gained by performing an approximate solution to the analysis problem. Often in the
optimization of these localized structures there is a high percentage of design variables
within the optimization domain that do not change thus leaving few to be updated,
especially as the design is almost at the point of convergence. The remaining few changes
in design can be easily and accurately approximated through a method of structural reanalysis, and an approximate temperature response in the domain can be achieved.
Within the current formulation of the optimization routine these rough approximations
are acceptable as the errors developed in the optimization process is directly reflected
in the analysis of the sensitivities in order to maintain consistency. Hence, any errors
developed within the approximation process will also be accounted for in the sensitivity
analysis. This means large inaccuracies in the solution of the response can be tolerated.
This can be seen through the development of the sensitivity equations as presented by
Oded Amir (2) and which will be shown further on in this discussion.
Before getting into the implementation of re-analysis techniques within topology optimization, an overview of static re-analysis incorporating the combined approximation
approached proposed by Kirsch (18) will be discussed. In general the idea behind reanalysis is to reduce the number of DOFs needed to solve a solution to a system of
equations. Therefore the solution is approximated with a significantly smaller group of
variables to determine the response of a larger system. This is the basic idea used within
the reduced basis method, where the smaller group of variables is a linear combination
of a few preselected basis vectors.
Through a discretization of the computational domain in the optimization problem, a
linear system of equilibrium equations is developed at each iteration step of the optimization routine.
methods to exploit local structure
Kt = q
with K being the stiffness matrix given in its factorized form of K = U T U, U an upper
triangular matrix, t the unknown temperature vector, and q the applied heat flux on the
domain. Throughout the optimization process it is assumed that the heat flux, q, does
not change. Now to increase efficiency an approximate solution can be developed for
the temperature response with t ≈ t̃ through a formulation of a change in the stiffness
matrix due to a change in structure:
K = Ko + ∆K
where KO is the stiffness matrix (symmetric and positive definite) from a previous full
analysis and ∆K is a resulting change in the stiffness matrix due to a design change. The
approximate solution is obtained by:
(Ko + ∆K)t = q
A recurrence relation is then formulated in order to develop the binomial series expansion that is used to approximate the solution. Rearranging equation 4.1.12 in order to
develop the recurrence relation yields:
Ko t = q − ∆Kt
The recurrence relation is then formulated as:
k −1
tk = K−
o q − Ko ∆Kt
B = K−
o ∆K
t1 = K −
o q
t k +1 = ( 1 − B ) t k
Renaming variables forms:
Thus a binomial series can be developed as
(I − B + B2 − B3 + ...)t1
where I is the identity matrix and its important to note that t1 is obtained from a previous
full analysis of the optimization problem. Additional terms of the series are given by:
ti = −Bti−1
(i = 2, ..., s)
The local approximations were formed from the binomial series expansion, and the
rest of the basis vectors to be used within the global approximations are constructed
through the use of a forward and backward substitution. The reduced basis form to
approximate the temperature response is determined from a linear combination of s
linearly independent basis vectors t1 , t2 , ..., ts . The approximate solution can be expressed
t̃ = y1 t1 + y2 t2 + ... + ys ts = R B y
4.1 finite element solution
with RB an nxs matrix containing the basis vectors and y is the vector of unknown
R B = [t1 , t2 , ..., ts ]
y T = y1 , y2 , ..., ys
Substituting equation 4.1.20 into equation 4.1.10 and pre-multiplying by R TB gives the
approximate system of sxs.
R TB KR B y = R TB q
Simplifying the notation:
q R = R TB q
The reduced system is thus described by:
KR y = qR
Based on the development of the previous equations an optimization cycle can be developed consisting of a full analysis of the optimization problem performed once every few
iterations. Within this full analysis an approximate optimization problem can be formulated based on the approximate solutions of the equilibrium equation. The optimization
problem as formulated by Oded Amrir (2) is show below:
min c(ρ) =
y T R TB K(ρ)R B y
s.t. :
∑ ve ρe ≤ V
e =1
0 ≤ ρmin ≤ ρe ≤ 1,
with :
R TB K(ρ)R B y
e = 1, ..., N
R TB q
K0 ( ρ0 ) t1 = q
K0 (ρ0 )ti = −∆K(ρ, ρ0 )ti−1 ,
i = 2, ..., s
The matrix K(ρ) of the approximate problem is split into parts:
K(ρ) = K0 (ρ0 ) + ∆K(ρ, ρ0 )
with the first part corresponding to the previous factorization of the full problem and
the second part is the changes to the stiffness matrix due to a change in design. For the
approximate problem both parts are written as shown below:
K0 ( ρ0 ) =
∆K(ρ, ρ0 ) =
∑ ρe,[0] Ke
e =1
∑ (ρe − ρe,[0] )Ke
e =1
methods to exploit local structure
In order to keep the consistency in the optimization problem the sensitivity analysis
of the model also needs to be modified to accept the approximations. The modified
expression is shown below with full details on the implementation can be found in the
paper by Amir (2).
= −yT RTB
RB y − ∑ λiT
t i −1
∂ ρe
i =2
Amir tested his technique with the conventional topology optimization minimum compliance problem. The results he achieved were nearly identical (0.007% error) to the
known MBB-beam example by Sigmund et al. (3). Perhaps the most remarkable part
is the improvement in efficiency. The full problem was computed with a total of 92 iterations and through the use of re-analysis, 190 iterations were performed with only 19
iterations being full computations of the equilibrium equations. Unfortunately the author
did not present an exact savings in time for this example but mentioned the larger the
size of the problem, the greater the savings with this approach. Another approach was
also developed in a similar manner but the approximations in this method were developed through the use of a Krylov subspace iterative solver. With this method the author
reported a reduction of 40% on the time spent on the analysis. For more details on the
implementation within topology optimization the reader is refered to Amir (2)
One of the main benefits of this approach is the ability to control the accuracy and
efficiency of the method. By using more basis functions, RB greater accuracy in the
solution is achieved but at the cost of a reduction in efficiency of the method. Likewise
the opposite is achieved. Therefore in the beginning of the optimization process when
the structure is roughly formed, cheaper approximations can be used. Closer to the end
when greater accuracy is needed more expensive approximations can develop the final
structure. An approach used by Amir (2) was took look at the error developed in the
solution, based on the error either more or less basis functions were used while also
telling the algorithm when to construct new approximations.
finite element assembly
From Figure 3.6 in Section 3.3.2, it is shown that a significant amount of design variables
in the optimization domain are unchanging and thus a method can be envisioned where
only the elements that are changing are updated in the stiffness matrix. As the assembly
process of the finite elements is still a large part of computational cost, approximately
30% of the optimization process, great gains in efficiency could be achieved.
By examining the design elements, it can be determined if there is a change in the
design between successive iterations. If there is no change in design of a particular element then there is also no corresponding change in the stiffness matrix for that element.
Therefore the update of non-changing elements can be removed, reducing the number of
element matrices that need to be updated within the stiffness matrix.
optimization problem formulation
As determined from the observations in Section 3.2 there are different possibilities for
improvement in the type of method used. These improvements can occur in the way the
physical model of the structure is developed as well as a better description of the structure
in terms of better defined boundaries. Two methods are explored in this Section: a level
4.3 optimization problem formulation
set approach to change the modeling of the structure from the traditional discretization
of small elements to bar like elements and a SIMP method that offers better suppression
of the gray scale structure in the design. This suppression will be beneficial to the method
of adaptive substructuring presented in Section 4.1.4
4.3.1 Level Set Method Through Skeletonization
The concept of using level sets for moving interfaces was originally developed by Osher
and Sethian (25) in 1988 and since then has only recently been applied to research areas
in topology optimization with much of the focus on structural optimization[(1),(32),(27)].
Formulations for heat conduction problems have more recently been developed by Ha
and Cho (15) and further papers looking at effects of design dependent effects (35), multiple load cases (17), and nonlinearities (37).
Many researchers have used the level-set formulation as an alternative to traditional
optimization techniques such as SIMP or Homogenization Methods to overcome draw
backs of these methods such as checkerboard effects and large regions of intermediate
density in the resulting designs. The level set method unlike traditional methods uses
an implicit representation of the interface between void and solid through the use of
the contours of a level set function. Thus a clear distinction between the two regions
can be achieved which is advantageous for obtaining accurate responses and avoiding
ambiguity. Many different formulations have been developed over the last several years,
involving different ways to map the design to the physics of the system, update methods
for the Hamilton Jacobi equation, regularization techniques, and different methods for
sensitivity analysis. An overview of these methods was presented by van Dijk (10).
First a short and simple description of the formulation of the level set method will be
presented followed by a description of how this approach can be used and beneficial for
localizing designs in topology optimization. The idea of this description is not to present
a comprehensive review of level sets but to introduce the main characteristics to determine how they can be used to reduce the computational effort of topology optimization.
To start off, the formulation of the optimization problem for the level set method is similar to that of the traditional methods, the reader is referenced to equation 2.1.1 in Section
2. Here a level set function φ is introduced in a fixed design domain, D, which represents the boundary contour ∂Ω between material Ωmat and void D \ Ω domains. The
discrimination between the two domains can be expressed by the following property:
φ(X) > 0
φ(X) = 0
φ(X) < 0
for ∀X ∈ Ω
for ∀X ∈ ∂Ω
for ∀X ∈ D \ Ω
The update of this contour is often controlled through the use of the Hamilton Jacobi
equation defining an initial value problem, however other methods exist as well. The
type of update method used depends on the problem.
− vn k∇φk = 0
For a given normal velocity, the level set function can be updated to produce a new design in the optimization domain, where the normal velocity is usually obtained through
sensitivities of the problem.
methods to exploit local structure
Figure 4.7: Discretization of level-set function with skeleton structure
Since the localizing problem develops into a sparse branched network in a fraction
of the optimization domain, a level set formulation can be developed in order to take
advantage of this. The advantage of a level set approach is a smooth boundary structure
with a crisp interface thus potentially making it better for a substructuring approach.
However the drawback of this method is the increased complexity of the optimization
process as well as the slow update and convergence of the method making the results less
promising. Another idea to use the level set function is to parameterized it separately
from the physics of the problem. This could possibly be achieved by developing the
structure through the use of cheap bar elements along the skeleton of the structure, with
the bars receiving a width from the level set function as shown in Figure 4.7. This bar
element mesh is superimposed over a coarse global mesh giving both the response of
the local structure as well as the response of the entire optimization domain. Hence, an
optimal layout of the structure could be obtained much cheaper than using a traditional
dense fixed mesh. This idea of the bar elements will be further discussed in Section 5.1.
4.3.2 SIMP with Gray Scale Suppression
Through a simple modification of the Optimality Criteria (OC) statement within the 88
line code by Sigmund (3), a better suppression of gray scale structures can be achieved
then with just the use of the SIMP method with a penalty value alone. In a paper by
Groenwold and Etman (14) about gray scale suppression, they modified the OC update
statement to the following form:
xinew =
 Γ ( xi β i )
 x̂
if x̌i < Γ( xi β i ) < x̂i
if Γ( xi β i ) ≤ x̌i
Γ ( xi β i )
≥ x̂i
where xi are the elemental design variables, xinew are the updated elemental design variables and η is the dampening parameter. The suppression operator, Γ(•), biases the
update of individual gray scale design variables to a black and white design during the
iterations within the update method itself, without effecting the volume constraint. The
only difference of Equation 4.3.3 from the traditional OC method is the addition of Γ(•).
Groenwold and Etman (14) mention in there paper two different gray scale suppression
parameters, q, based either on a power law or linear suppression. Both are shown below:
4.4 update / convergence
Γ ( xi β i ) = ( xi β i )q
Γ ( xi β i )
qxi β i
These gray scale suppression parameters further bias gray scale variables to a black
and white design by affecting the update parameter β i , were β i is defined as the ratio of
the design sensitivity to constraint sensitivity with λ being a scaling parameter.
βi =
∂ fo
λ ∂xi
Using the definition of Lagrange optimality, a β i value equal to 1 means the design
variable is satisfying optimality conditions. Thus if β i is smaller than one material needs
to be removed and if β i is larger than one material needs to be added. Therefore the
further β i is from one, there is a greater promotion to add or remove material as the β i
is raised to the power of q incase of the power operator being used. So essentially, q can
be seen as a parameter that promotes greater movement of densities within the design
update to get the design variables to an optimal condition. This is done by underestimating the gray scale material developed in xi βη and further forcing greater movements of
material through x̌i and x̂i .
update / convergence
Finally this last Section looks at convergence. It was noticed through observations of the
structures developing at lower volume fractions, it often takes more iterations to converge
to a final solution for local structures. The OC method was used in the testing and observations, thus it raised questions if possibly a different update method might offer better
convergence results, with corresponding computational savings. Particularly a method
that offers different forms of dampening and move limits for the individual design variables seemed desirable to allow for different design variables to change at different rates.
For example, allowing better movement of material where the design variables seem to
be stuck with small local changes in design. Thus mathematical programming techniques
were researched.
4.4.1 Sequential Approximation Optimization Update Algorithm
Use of Sequential Approximation Optimization (SAO) update algorithms can bring about
several benefits to topology optimization, such they are intuitive and have a physical
background not relying on heuristic reasoning, provide more flexibility in the optimization process if exponential approximations are used, and can provide for an efficient
update method. SAO methods use gradient based algorithms that depend strictly on
convex separable approximation problems. Familiar SAO algorithms are the Convex
Linearization (CONLIN) algorithm as shown by Fleury (12) and a more general form
called Method of Moving Asymptotes (MMA) developed by Svanberg (28). Essential to
the success of these problems is the formulation of an analytical approximation of the
real objective f o (x) and constraint f i (x) functions. These approximate functions f˜0 ( x ) and
f˜i ( x ) generate an equivalent problem that is easier to solve but have a limit in the domain
they are applied. These approximations can be in the form of linear, reciprocal, or exponential approximations. An iterative procedure is applied to update the design variables
methods to exploit local structure
until convergence and the problem is no longer constrained by the temporary constraints.
These approximations are sampled in the sub-problems as they are less expensive.
A design problem can be approximated several ways, commonly through a truncated
first-order Taylor series expansion such as linear, reciprocal, and exponential approximations but higher-order Taylor series can also be used. As improved efficiency and
accuracy is obtained with the exponential intervening variables used by Groenwold and
Etman (13), further discussion will focus here as it provides results and flexibility that
could be beneficial to our / the considered problem. More information about the details of the SAO algorithm and the reciprocal approximation is discussed by Groenwold
and Etman (13). The exponential approximation is obtained by substituting exponential
intervening variables,
yi = xia ,
i = 1, 2, ..., n
into the truncated Taylor series, yielding the following approximation:
f˜Eα (x) = f α x{k} + ∑
{k} !
xi iα − xi iα
i =1
 xi
1− aiα
∂ fα
with α = 0 denoting the objective function, α = 1 denoting the constraint function, and
variables aiα can be estimated through a method by Fadel et al. (11) which uses first
order gradient information.
{k} ∂ f α { k −1}
∂ fα
, i = 1, 2, ..., n
aiα = 1 +
ln ( xi ){k−1} / ( xi ){k}
The default range for aiα according to Fadel et al. is −1 ≤ aiα ≤ 1, with -1 corresponding to a reciprocal approximation and 1 corresponding to a linear approximation.
To start off the algorithm it is suggested to set aiα = 1.
The update method proposed by Groenwold and Etman (13) is the following (specific
details can be found in their paper):
 {k} 1/ 1− ai0
xi (λ) = x̌
if x̌i
1− ai0
< β i (λ) < x̂i
1− ai0
if β i (λ) ≤ x̌i
if β i (λ) ≥ x̂i
1− ai0
1− ai0
They also propose to restrict the range of ai0 to amin ≤ ai0 ≤ e < 0 to ensure
convexity of the sub-problem, with amin being able to be selected arbitrarily. Through
some manipulations and setting a = −1 , it can be shown to exactly correspond to the
’OC Method’.
The author does not provide any specific details of the exact improvements, but he
mentions with the use of exponential approximation functions contribute to better efficiency due to the different exponent computed for each design variable. Thus each
design variable has a different dampening factor based on the history of the problem.
Thus if movement of material is slow, the problem can be relaxed to move more material.
If the problem begins to oscillate the problem can be tightened with more dampening to
4.5 summary of methods
suppress fluctuations. This may be beneficial for a sparse structure in optimization were
the movement of material in the optimization process greatly varies.
MMA, a similar method to SAO, was implemented and tested for the heat conduction
optimization problem, however it presented some issues. The MMA problem is breifly
described along with the issue in Appendix C.
summary of methods
A quick reference summary for the reader has been developed for this chapter and is
presented in table 4.1. The summary presents each method considered along with the
complexity of the implementation, expected performance, disadvantages and advantages
of the method. As most of the methods were analyzed through literature research, an
objective opinion based on what was presented in literature, is given. Hence the implementation of such methods could possibly result in different findings and it is left to the
reader to determine the final performance and benefits of each method for their particular implementation. In Chapter 5 the methods of sub-structuring and skeleton modeling
with level sets is further addressed with a more in depth and practical evaluation.
The information is expressed as an overview of the methods and not directly as a direct
comparison between each of the methods. It looks at how the methods would possibly
perform for the type of problem explored in this research: sparse structures in topology
Structured: Moderate
Unstructured: Complex
(Section: 4.1.3)
(Section: 4.1.4)
(Section: 4.1.5)
Stiffness Matrix
(Section: 4.2)
Level Set Method
with Skeleton
Curve (Section:
(Section: 4.3.2)
SAO (Section:
Improved Convergence (Heat
conduction problem: sensitive to
the parameters used)
Moderate (Difficult to assume as
there are many unknowns left in
the idea)
Moderate - High (Depending on
accuracy wanted)
Moderate - High (Depending on
method to develop the matrices
and volume fraction)
Structured: Low-Moderate
Unstructured: Low-Moderate
Moderate if void elements
Distorted Mesh: Low-Moderate
Distorted Mesh: Complex
Cartesian Mesh: Low-Moderate
Expected Performance
Cartesian Mesh: Moderate
Complexity of
Global Mesh
(Section: 4.1.2)
Local Mesh
(Section: 4.1.1)
Need gradient information
Heuristic in two parameters
Increased nonlinearity,
relatively slow update, still
need fine FEM mesh, expensive
overlay of meshes
Need to determine elements
that are changing
Solution of response is
approximate, better
approximations are costly
Method becomes less intuitive
and likely a costly method to
form the matrices
Increases bandwidth of
stiffness matrix, method of
arranging layers difficult for
moving structure
Need additional method for
void elements, questionable
effects on optimal solution
Cost and complexity of
algorithm, less intuitive, need
adaptivity information
Table 4.1: Summary of methods to improve the solution process of localizing topologies
Variable dampening,
mathematical reason for update
Reduction of gray scale and
changing variables
Smooth boundary description,
possibility of cheap bar
elements to represent structure
Only update stiffness matrix
with changed design values
Can control level of efficiency
and accuracy, great savings
with large problems
Reduction in the number of
variables to be solved every
Local refinement with better
efficiency then mesh adapting,
improves condition of matrices
Conceptually simple, able to
produce local design with
reduced cost compared to
uniform mesh
Local structure with minimum
design variables
methods to exploit local structure
Through this Chapter a select few topics from Chapter 4 will be explored further. These
topics mainly focus on the idea of using a level set method to develop a form of skeleton
structure and the use of sub-structuring methods to divide the optimization domain
into changing and static design variables. Also presented here is the implementation of
SIMP-GSS as it was used in the development of the sub-structuring approach. Thus it
is fitting to describe how the implementation performs. These topics were selected for
further investigation due to the fact they are new ideas and lack investigation in present
level set method through skeletonization
The level set method (LSM) which was initially introduced in Section 4.3.1 is a method
that uses a function called the Level Set Function (LSF) to define the structure developed
in the optimization process. From this function the contours are used to define the
boundary of the structure. Inside this boundary are the elements used to represent
the temperature of the structure. Instead of representing a sparse structure through
expensive quadrilateral elements, an idea is to develop the structure with the use of
cheap bar elements. As was shown in Section 3.2.1 about the characteristic structure of
sparse structures, they closely represent a bar with varying cross section. Thus such a
discretization through bar elements would be a suitable representation for these types
of structures. These bar elements will form the skeleton of the structure and through
the definition of a width obtained from the LSF the original description of the structure
will be maintained. Such a curve is advantageous to this situation as a normal boundary
curve developed from the LSF would be difficult to represent a branch like structure
which is necessary to develop the skeleton structure properly. However, a method needs
to be implemented in order to determine the placement of the skeleton from the LSF.
This will be the focus of investigation of this section. Through this research another
alternative idea was developed which looked at developing the skeleton directly instead
of extracting the skeleton from the LSF. This technique as well as some current issues
with the two approaches will also be discussed.
5.1.1 Development of Skeleton Curve from the Level Set Function
The idea of skeleton structures has been used in a variety different fields already, specifically within many different visualization tasks including computer graphics, medical
imaging, and scientific visualization. The reason for the use of skeleton structures in
these fields is the need for compact representation of the more complex 3D models. Es-
sentially it is a way to reduce the dimensionality of the object down to its simplest form
while still maintaining the characteristic and topology of the structure.
A variety of methods have developed in order to determine the underlying skeleton of
an object. A summary of these techniques was presented by Cornea et al. (8) as well as
a more formal description of skeletonization techniques. Among some of the methods
presented are topological thinning, distance transforms (ridge detection), and Voronoi
diagram based methods. The method which most closely relates to the current problem
of determining a skeleton from the LSF is a ridge detection method. An example to
illustrate this is shown in figure 5.1
Level Set Function
Skeleton Curve
Figure 5.1: Extracting skeleton from level set structure with ridge detection method
In the example a level set function was defined to represent a branch of the heat conducting structure. From the function the structure can be determined from the level
contours. Conceptually it is very easy to see from this example, the ridge of the function
corresponds to the skeleton within the structure itself. Hence, a method to determine the
ridge of the level set function is a viable way to extract the skeleton.
A lot of literature has been found on the subject along with many different methods
on how to determine a ridge. Ridges mark important intrinsic features of a surface and
form a stable way of calculating a skeleton of a surface as they are view independent.
The most common way to define a ridge through mathematics is through the use of principal directions and curvatures. A paper by Musuvathy et al. (24) discusses the details
about ridges and presents a method to determine a ridge from a given surface. Here a
ridge is defined on a parametric surface S(u, v) ∈ R3 through the use of principal curvatures κi and there respective principal directions ti . Each point on the surface has two
corresponding principal curvatures (κ1 , κ2 ) with κ1 > κ2 . The corresponding principal
directions are t1 and t2 . Thus ridges are the points where the principal curvature reaches
a local maximum (local minimum) in its respective principal direction. The mathematical
notation used in the paper of Musuvathy et al. and several others to define a ridge is the
h5κi , ti i = 0
i = 1, 2
were κ1 provides the ridges and κ2 determines the valleys.
Hence, given the level set function the skeleton curve can be defined as the gradient
of κi in the direction of ti is equal to zero. The principal curvatures and directions of the
surface can be obtained through the use of the surface normal, the tangent plane at the
5.1 level set method through skeletonization
point in question and the first and second fundamental forms as described by Musuvathy
et al.. The surface normal is specified as:
n(u, v) =
Su × Sv
k Su × Sv k
were the subscripts indicate partial derivatives with respect to the parameter.
Figure 5.2: Determining principle curvature with the use of the first and second fundamental form
An illustration of the idea is presented in Figure 5.2 showing the normal, the tangent
plane, and the point on the surface in question. The first fundamental form is determined from the inner product on the tangent space of a surface in 3D Euclidean space
and the second fundamental form at a given point on the tangent plane from second
partial derivatives of surface parameterization being projected onto the normal line perpendicular to the point on the surface. The first,I, and second, II, fundamental form are
defined as respectively:
# "
h Su , Su i h Su , Sv i
h Su , Sv i h Sv , Sv i
# "
hSuu , ni hSuv , ni
II =
hSuv , ni hSvv , ni
Defining A, B, C as:
A = EG − F2
B = 2FM − GL − EN
C = LN − M2
At a point on the surface the principal curvatures are defined as:
B2 − 4AC
− B − B2 − 4AC
κ2 =
κ1 =
−B +
The corresponding principal directions are:
# "
" # "
−( M − κ1 F )
−( N − κ1 G )
t1 = 2 =
L − κ1 E
M − κ1 F
# "
" # "
−( M − κ2 F )
−( N − κ2 G )
t1 = 2 =
L − κ2 E
M − κ2 F
Already this process is getting quite involved and a method would also be needed to
guaranty that the ridges obtained from this method correspond to the actual skeleton
curve as it was originally defined. As a ridge is not necessary defined as the maximum
values along the function. To clarify, take again the example presented in Figure 5.1. In
this function there is also a slight bend in the structure. This bend will also be determined
as a ridge from the above solution process. Thus some separation of the ridges occurring
due to this occurrences and the ridges needed for the skeleton structure would have to
be sorted out.
Also this definition of determining a skeleton curve is an implicit relation. This would
make it more complicated to develop sensitivities to update the structure as there is no
direct connection between the skeleton curve structure and the design variables. Due to
these issues, methods were investigated to determine if the skeleton structure can directly
and explicitly be developed and controlled initially. This is the topic of the next section
on alternative approach.
Thus a skeleton curve is captured as the peaks within the level set function itself and
many algorithms have been developed to obtain such a curve but often times in an
implicit formulation. Such an implicit formulation would complicate other processes
in the optimization procedure needed to represent such a structure. Such as obtaining
sensitivity information which is easily achieved if an explicit representation of the design
variables can be used.
5.1.2 Alternative Formulation
An alternative idea looks at directly developing a skeleton structure in an explicit manner
instead of calculating it from a surface function. Thus the approach is not directly a level
set approach anymore but was inspired from a level set optimization paper by Kreissl
et al. (19). In the paper he describes the development of an explicit level set approach
through the use of radial basis functions (RBF)s. The independent optimization variables
used in the method are the heights of the radial basis functions, si , and the evolution of
the level set function is explicitly controlled by the optimization algorithm.
Hence the idea of the alternative formulation is to explicitly develop a skeleton curve
through the use of the design variables used within the radial basis function. The width
would then be obtained from the overall radial basis function, Φ( x, si ). Thus similarly to
the method presented by Kreissl et al. the Φ function is discretized as follows:
φ(x, si ) = si e
( x − xi )2
wi b2
Φ(x, si ) =
∑ φ(x, si )
i = 1, ..., n
∀i : x − xi < R
were φ(x, si ) is the Gaussian normal distribution used as basis functions, wi determines
the width and si the height of the respective RBF and R determines the support radius
5.1 level set method through skeletonization
for the RBFs. Thus the heights of the RBFs (si ) are used as the design variables in
the optimization process. The term wi can handle different widths for each individual
basis function, but for most of the design variables the width remains constant. More
explanation will be given later. A description of the design variables is presented below.
smin ≤ si ≤ smax
si = smax
Point on Skeleton Curve
si = smin
Control Width of Structure
The concept is illustrated in Figure 5.3 which shows the development of the function Φ
through the use of RBFs in the x spatial direction representing a cross Sectional view of a
2D structure. The idea of this method is to use the design variables themselves to specify
the skeleton curve, which occurs when a design variable reaches its maximum value. The
other surrounding design variables are then used to size the width of the structure by
manipulating the function Φ. There are many different ways that width can be calculated
from the Φ function.
Figure 5.3: RBFs to determine skeleton and its corresponding width
The way presented in Figure 5.4 is by finding the location of were the function Φ passes
through zero. The distance from the point describing the skeleton curve to the point
of intersection with the zero axis can easily be determined through a search method.
Starting at the known point of the skeleton, an algorithm can simply search along the
discretized points of Φ values until the corresponding point of the RBF discretization
were the function Φ turns negative is found. Based off the discretization of the RBFs the
width from the center point is calculated.
An advantage of this approach, is the skeleton does not necessarily have to remain centered in the structure. A different width can be calculated for each of the sides. The issues
with this approach is the search method becomes more complicated when the search direction is not aligned in the direction of the discretization. Thus bilinear interpolation to
determine a width is needed. Another issue is when branching of the structure occurs.
Especially near the point of branching, the positive Φ values may span two skeletons
making the case a bit ambiguous how to calculate the width of the separate branches.
Search Along
RBF Discretization
values corresponding to RBF
w: width
(a) Search Method
(b) Width Determination
Figure 5.4: Determining width of skeleton structure from Φ function
A different method of determining width is through the height of the Φ function. The
method is simple and requires no extra calculation. The height of the function would be
used to describe the width on both side of the skeleton and is still controlled through the
use of the surrounding design variables.
Example Implementation
A simple example was created through the above approach and is illustrated in Figure
5.5. A simple structure was developed by selecting a few design variables and setting
them to a maximum value. Different heights of the surrounding design variables were
used to vary the width of the structure. In figure 5.5a the description of the Φ function
due to the selected radial basis functions is shown. In figure 5.5b, the skeleton curve in
blue was determined from the maximum design variables and the width of the structure
was determined from the search method.
(a) Radial basis function showing skeleton and width
(b) 2D structure with skeleton
and determined width
Figure 5.5: Example of placing skeleton and determining width of a 2D structure
Issues with RBF Approach
Explicitly developing a structure through the use of radial basis functions and determining the width presents several issues which need to be sorted out. The following is a list
of some of the issues with such an approach:
• Having a series of multiple maximum design variables
• Having no maximum but yet Φ is positive
• Connectivity of the discretized points of the skeleton curve should not be ambiguous
5.1 level set method through skeletonization
• Differentiability
Figure 5.6: Issues with RBF approach
The first two issues of having multiple maximum and no maximum is shown in Figure
5.6. If there were multiple maximum next to each other then the point of reducing the
number of elements would not be achieved as well as the structure could become illdefined in terms of the skeleton curve being developed. This is potentially to happen in
an effort of the optimizer to try to increase the width of the structure. To prevent this
an idea of changing the width of the RBF for the respective RBF reaching its maximum
height value si is used. Thus if si is equal to smax the width of the RBF would decrease
consequently causing a decrease in the width of the structure. Hence, it would give the
optimizer less incentive to increase the width of the structure by bringing surrounding
RBF to its maximum height. Having no maximum and yet Φ is positive could result
in the previous point of the skeleton which would be the tip of the branch to have an
overly defined width. A method would be needed in order to determine if the RBF
design variable corresponds to the tip of the structure and develop the structure in this
area in an appropriate manner. Further investigation in terms of a simple optimization
implementation would be needed to determine the actual occurrences.
As far as connectivity of the structure is concerned, the design variables corresponding
to the skeleton curve are known if the design variables reach the maximum. However,
as shown through Figure 5.7, it is not known specifically how these design variables are
connected together in order to develop the structure. This can especially be an issue at
points were branching occurs. As shown from Figure 5.7 there are multiple possibilities
on how to connect the 4 nodes together. Some other form of information from the function will be needed in order to determine the correct path of the structure. To accurately
determine the path, a similar method developed in Section 5.1.1 will most likely have to
be used.
The differentiability of the problem presents significant issues as the structure is noncontinuous. Hence, the structure is either defined or is not defined within this method.
A different method is needed as the traditional method of sensitivities will not work and
the use of boundary curve evolution is no longer applicable to the problem. Therefore
the structure can’t be update and optimization can not occur.
Figure 5.7: Connectivity issue of skeleton structure
5.1.3 Current Issues of Skeleton Approach
An issue with both of these methods is how to accurately and efficiently combine the
bar element discretization of the skeleton curve with a coarse background mesh in order
to obtain accurate temperature response. Such a method is not very intuitive to develop.
The element overlay method of S-FEM as discussed in Section 4.1.3 might be a suitable approach but currently has received little research within topology optimization itself. An
approach was presented in a paper by Wang and Wang (33) where they used a relatively
coarse Eulerian mesh of bilinear rectangular elements for the global mesh and a flexible
linear triangular elements to enhance the elements along the dynamic implicit boundary
of the level set function. To simplify the process the global and local meshes coincide to
alleviate the difficulties due to discontinuities. Such a simplification is unlikely to occur
with the skeleton approach as it would be difficult for the bar elements to coincide with
the global mesh, as the structure is randomly placed throughout the global domain.
The main goal of their approach is to achieve a better representation of the boundary
and accurate responses. Through their approach, their goal was met with numerical
results in good agreement with those from theoretical solutions and numerical results
from standard finite element method. However this approach brought extra computational cost due to the greater complexities of the method when compared to a standard
mesh method with the same number of elements. More research on this approach and
how it could be efficiently implemented for use with a skeleton curve needs to be investigated. From here a better understanding of whether or not computational savings can
be achieved will be better realized.
simp with gray scale suppression
The SIMP method with gray scale suppression as initially introduced in Section 4.3.2
is a simple method to implement which can provide a significant reduction in the gray
scale of the optimized design. This gives a better description of the structure and makes
the results easier to interpret. The gray scale suppression is achieved by the gray scale
suppression parameter q which penalizes the intermediate densities in the interactions
of the update process. Therefore two heuristic values are applied to the optimization
process, the penalization component and this gray scale suppression parameter. The
implementation of the method and how it compares to the traditional SIMP method will
be explored.
5.2 simp with gray scale suppression
5.2.1 Effects of Gray Scale Suppression Parameter
This investigation looks at how the gray scale suppression parameter effects the optimized structure. This was examined by setting the penalty parameter to 1 and varying
the gray scale suppression parameter with the following values: 1.5, 2, and 2.5. This
was performed on a mesh of 200x200 elements with a volume fraction of 0.1, using test
problem 1. The results of this investigation are shown in Figure 5.8 and the performance
values in table 5.1.
(a) Gray scale suppression parameter: 1.5
(b) Gray scale suppression parameter: 2.0
(c) Gray scale suppression parameter: 2.5
(d) Gray scale suppression parameter: 3.0
Figure 5.8: Optimized structure for SIMP-GSS with varying gray scale suppression parameter (at iteration 60)
Suppression Parameter
Avg. Temp
Max. Temp
Percent Static (%)
Table 5.1: Comparison of performance valus at 60 iterations
From the figures, the immediate results of how the suppression parameter affects the
design can be seen. This is especially true between Figure 5.9a with a suppression parameter of 1.5 and Figure 5.9b with a suppression parameter of 2, were all the intermediate
density branches of Figure 5.9a are removed from the design. From Table 5.1 a more
accurate description of the temperature in the domain is achieved, as the intermediate
material artificially lowered the temperature in the domain but contributes to no feasible
structure. Having a suppression parameter above 2 seems to overly suppress the intermediate values and prevents the structure from properly developing branches as can be
seen in Figure 5.8c and 5.8d. Overall there seems to be no benefit to have a suppression
parameter above 2.
Another observations is the effect on the changing design variables in the design area
which can be seen in Table 5.1. By suppressing the intermediate design variables less
changing elements are occurring in the optimization process. The higher the suppression
parameter the greater the percentage of static design variables.
The issue of non-convexity induced from the penalty parameter of the SIMP is not an
issues in this case, but still with changing the gray scale suppression parameter different
optimal designs result. Thus the issue of multiple optimal solutions still remains. This
is due to how the suppression parameter modifies the update method. Having a higher
suppression parameter means a greater promotion to remove intermediate material, thus
locking the design into removing as much intermediate material early in the design
5.2.2 Comparison of Traditional SIMP to SIMP-GSS
A comparison study of the final structures achieved between the traditional SIMP method
and the implementation of the SIMP method with gray scale suppression was performed
both with a continuation method and static penalty parameters. Due to the issue of
local optimum solutions the final optimal structures obtained are not easy to compare,
but other interesting observations are made. The comparison was performed under the
conditions presented in Table 5.2:
Filter Radius
Temp. Change < 0.1%
Table 5.2: Comparison settings for comparing SIMP to SIMP-GSS
The first comparison shown in Figure 5.9 is a comparison between the two methods
using a continuation approach with the following increment procedure.
• Penalty Stepping SIMP: Penalty = 1 for the first 20 iterations then increased by 0.2
every 10 iterations afterwards
• Penalty Stepping SIMP-GSS: q= 1 for the first 20 iterations then increased by 0.2
every 10 iterations afterwards, penalty set to 1 for entire process.
End Parameter value
Avg. Temp
Max. Temp
Percent Static (%)
q: 2.0
p: 3.0
Table 5.3: Comparison of performance values for full optimization process between SIMP and SIMP-GSS with continuation method
Through the use of continuation methods, the issue of local optimal configurations is
lessened but still contributes to the final designs. Despite this, striking resemblance of the
5.2 simp with gray scale suppression
(a) Gray scale suppression parameter: Continuation
(b) SIMP Penalty parameter: Continuation
Figure 5.9: Comparison of optimized structures between SIMP and SIMP-GSS with continuation method
final designs can be seen especially in the main structural elements as shown in Figure 5.9.
The performance results are presented in Table 5.3 and show the gray scale suppression
method minimizes the temperature the most with fewer iterations. The reason for the
difference is the better suppression of intermediate design variables with the SIMP-GSS
approach as would be expected. Thus essentially most of the gray material from the
traditional SIMP method has been eliminated providing a structure that is more physical
and easily to interpret in an engineering sense. The main observations are summarized
as follows:
• SIMP - GSS offers better suppression of intermediate design variables and increases
the percentage of static design variables
• Less iterations were needed for convergence in the considered test case due to
better suppression of local changes in the design with SIMP-GSS. The amount of
suppression can be controlled by the q parameter, which effects how the design
variables are updated within the domain.
• A lower objective value for the average temperature in the domain is achieved with
The second comparison shown in Figure 5.10, is an optimization problem using static
penalty values in both of the methods. The following parameters where used:
• Traditional SIMP: Penalty was set to 3
• SIMP - GSS: Penalty was set to 1 and q parameter was set to 2
Avg. Temp
Max. Temp
Percent Static (%)
q: 2.0
p: 3.0
Table 5.4: Comparison of performance values for full optimization process between SIMP and SIMP-GSS
(a) Gray scale suppression parameter: 3
(b) SIMP Penalty parameter: 3
Figure 5.10: Comparison of optimized structures between SIMP and SIMP-GSS
Due to local optima in the optimization process, little comparison is achieved between
the two structures. However, a similar observation is seen in better suppression of intermediate design variables in the design domain through the use of the gray scale suppression method. Again better objective values, less iterations, and larger percentage of static
design variables was achieved through the use of SIMP-GSS.
An interesting observation is the comparison of the results without penalty continuation in table 5.4 with the results with penalty continuation in table 5.3. With the
traditional SIMP method, the penalty continuation approach reaches a better objective
value and is often accredited to achieving a better optimal design as it eliminates the
tendency to get stuck in a local optima. However with SIMP-GSS, continuation of the
suppression parameter did not reach a better optimal solution. The reasons for this are
currently unknown, but the more aggressive gray scale suppression might also contribute
to convergence to a local minima to some degree as also seen in Figure 5.8.
5.2.3 Effects on Design Variables
A similar procedure of analyzing the amount of changing design variables in the design
domain was also performed for the SIMP method with gray scale suppression. The
procedure used is the same as presented in Section 3.3.2. The results of this analysis are
presented in Figure 5.11.
Overall significant improvements over the traditional method of SIMP were achieved,
with better suppression of changing design variables. This can be seen comparing the
SIMP-GSS change in design variable plots, Figures 5.11a and 5.11b, to that of the traditional SIMP plots in Figures 5.11c and 5.11d. Overall results near almost 100% suppression were achieved for almost all the mesh sizes tested and both design problems. After
20 iterations with a volume fraction of 0.1, approximately 90% and 80% of the design
area has no changing design elments for designs 1 and 2 respectively. This is about 10%
improvement over the finest mesh quality with the traditional SIMP method as shown
in Figure 5.11e. A similar trend was seen with the other volume fractions tested. These
results show promise for a combination of gray scale suppression technique with an
adaptive substructuring formulation of the design problem, which is discussed in the
next section.
5.3 adaptive sub-structuring of optimization domain
(a) SIMP-GSS Design 1
(b) SIMP-GSS Design 2
(c) SIMP Design 1
(d) SIMP Design 2
(e) Comparison of SIMP to SIMP-GSS
Figure 5.11: Percentage of design domain with chaning design elements
adaptive sub-structuring of optimization domain
The goal of this investigation is not necessarily to show the efficiencies of the substructuring algorithms in general or to develop a new algorithm for this situation. There
is much literature and research performed on ways to efficiently implement a substructuring method into analysis of a design (26)(16) and a few papers describing implementations within topology optimization (31),(21),(20). Thus such efforts to efficiently implement a sub-structuring routine is out of the scope of this research paper. However this
investigation will focus on how to adapt such substructuring methods in a way that is
slightly different from the traditional methods, and describe the benefits it can bring to
the localizing design problem.
The concept of the adaptive sub-structuring of the optimization process was established in Section 4.1.4 with further analysis of how to implement such a technique and
the implications of the process will be discussed here. Through development of a new
optimization formulation it is important for the optimal structure to have similar features
to the current methods available. This ensures consistencies in the approach for optimization problems. This will be examined first to justify the continuation of the investigation
into this technique. Since the objective of this approach is to reduce cost, an analysis
on the solution method will follow. Finally, the separate domains corresponding to the
static and changing design variables need to be selected. An idea on how to select the
two different domains for assembly of the stiffness matrix will be explained.
5.3.1 Comparison of Optimal solutions
For the comparison, the following descriptions of the two optimization forms will be
• Full Implementation (FI): Refers to calculating all DOF’s within the FE problem
(Traditional SIMP optimization)
• Adaptive Substructuring Method (ASSM): Refers to calculating changing DOFs
within the FE problem and the static degrees of freedom every few iterations
In order to get an accurate comparison of ASSM to FI without fully implementing the
sub-structuring problem, a simple test case was developed. An illustration of how the design domain was set up for this simple test case is shown in Figure 5.12. A portion of the
optimization domain is set fixed both in location and size throughout the optimization
process, with the location being centered on the right boundary for design 1 and in the
center of the optimization domain for design 2. The number of design variables within
each of the domains can be specified before the beginning of the optimization process. It
is assumed the behavior of the equations will be the same for the simple case of holding
the domains fixed and for when the domain boundaries will be changing throughout the
optimization process.
Insulated Boundaries
Changing Domain
Changing Domain
Known Static H H
(a) Design 1
Known Static
(b) Design 2
Figure 5.12: Static structure for testing optimization domain
The ASSM routine was directly implemented from equations 4.1.4 - 4.1.9 in Section
4.1.4 within the MATLAB environment. Such an approach is not an optimal method as
will be explained in Section 5.3.2 but allows for a straight forward implementation. During the first iteration, the stiffness matrix for the static domain is computed along with
5.3 adaptive sub-structuring of optimization domain
forming KSS
FS . For the rest of the iterations, these terms are held constant
to simulate the ASSM process. For the current method FI, the MATLAB backslash operator using Cholesky decomposition is calculated every iteration for the entire domain.
The two implementations are then compared together using the same amount of design
variables in each domain, with the following criteria for comparison:
• Development of similar structures (Figure: 5.13)
• Average temperature in the domain
• Maximum temperature in the domain
• Percentage of design variables remaining static
• Iteations to convergence
Figure 5.13 and table 5.6 present the results of the optimized structures for the two
implementations. For these tests, SIMP-GSS was used as it offered better suppression
of changing design variables. For a description of this method the reader is referred to
Section 4.3.2 and Section 5.2. The specifics for the test are presented in Table 5.5.
Filter Radius
Temp. Change < 0.1%
q: 2, p: 1
Table 5.5: Comparison of ASSM to FI settings
Comparison of the optimum structures presented in Figure 5.13 shows no visual differences in the structures developed from the two methods. The performance data shown
in table 5.6 is also consistent between the two methods with no significant deviation in
the values. Due to this being a simple test to simulate the ASSM process, differences
could arise during a complete implementation of ASSM when the different domains corresponding to the changing and static variables need to be updated.
In this direct substructuring approach, the main sources of error arise from the matrix
of DOFs that is condensed from the global system, as the inverse is used in three separate occasions in the solution process (see equations 4.1.4 - 4.1.9). If this matrix becomes
ill-conditioned, significant numerical errors occur. During this test, the static stiffness
matrix was significantly better conditioned when compared to the global stiffness matrix,
approximately 1.5E3 and 5.0E17 respectively. This is due to the fact the static domain
Design 1
Design 2
Description (Mesh
Size)(Static Elements)
Avg. Temp
Max. Temp
Percent Static
FI: 100x100 50x50
ASSM: 100x100 50x50
FI: 200x200 100x100
ASSM: 200x200 100x100
FI: 100x100 50x50
ASSM: 100x100 50x50
FI: 200x200 100x100
ASSM: 200x200 100x100
Table 5.6: Performance data of optimized structures computed from FI and ASSM
(a) FI: 200x200 Mesh, 100x100 Static Domain
(b) ASSM: 200x200 Mesh, 100x100 Static Domain
(c) FI: 200x200 Mesh, 100x100 Static Domain
(d) ASSM: 200x200 Mesh, 100x100 Static Domain
Figure 5.13: Comparison of optimized structures computed from FI and ASSM (Top: Design 1, Bottom: Design 2)
typically has elements with the same material properties making the system better conditioned when compared to the global system with changing properties throughout the
domain. However the condition of the static matrix worsens as the number of static
variables increase, and may become an issue later in the optimization process if the domains are update with an ill conditioned static matrix. Different implementations of the
equations, whether it be through implicit development of the equations through a modified factorization or through iterative methods, can result in errors depending on the
structure of the matrix, the factorization used, or the degree of accuracy obtained from
iterative methods.
5.3.2 Analysis of Solution Process
This section on analysis of the solution process looks to identify the benefits of using
this approach by providing a comparison of ASSM to the FI. Since the ASSM method
can not be efficiently implemented in MATLAB to give a fair comparison against the
direct Cholesky solver, an approximate comparison was developed through the use of
flop counts. As some assumptions were made on the process due to the sparsity, the
implications of how sparsity effects the problem will be explained. Finally a direct implementation of the equations is not the most beneficial way to solve for the temperatures.
5.3 adaptive sub-structuring of optimization domain
Full Implementation
Kt = F
#( )
1. Solution Process Ax = b
a) Cholesky Factorization.
Factor: A = LL T
b) Forward Substitution
Solve: Ly = b
c) Backward Substitution
Solve: L T = y
2. Dominant Terms
Step a): 31 n3 flops
Step b): n2 flops
Step c): n2 flops
Total: 13 n3 + 2n2
( )
1. Solution Process
a) Form: K−
b) Form: S = KCC − KCS K−
SS KSC and
f̃ = fC − KCS K−
c) Solve: StC = f̃
d) Solve: KSS tS = fS − KSC tC
2. Dominant Terms
Step a): f + nC s flops
(f: Factoring KSS , s: Solve)
Step b): 2n2C nS (Cost: KCS × KSS
2 3
Step c): 3 nC flops
Total: f + nC s + 2n2C nS + 23 n3C
Table 5.7: Comparison of solution process between FI and ASSM
Different methods on implementation will finalize the discussion on the analysis of the
substructuring method.
Efficiency Improvement of Sub-Structuring
A relative idea of how the approaches compare can be developed by looking at the dominant mathematical operations needed. Such an analysis is often done by using flop
counts, giving an estimate on the computational effort based on the number of variables
being used in the calculation. Depending on how the algorithms are implemented and
the architecture of the computer system, the results may be different from what is predicted in the flop count analysis. To create an accurate comparison some assumptions
on the behavior of the ASSM process were made. The assumptions used to develop the
efficiency improvements for the substructuring approach are the following:
• Solution of substructured equations is less efficient
• Sparsity patterns and density of matrix is less optimal, particularly KCC
• A form of Cholesky decomposition is used in the solution process of ASSM
• Efficiency can be compared effectively through flop counts
An overview of the analysis is presented in Table 5.7, stating the main equations, the
solution process, and the dominant terms of the solution process for each implementation.
As can be seen from this overview, some information is needed on how the factoriza−1
tion of KSS behaves as well as the solution of KSS
FS is performed. However,
this can very much depend on the specifics of the implementation. Considering the full
implementation uses Cholesky decomposition it is assumed for the ASSM approach a
Cholesky decomposition with forward and backward substitution is also used. Since
the structure of the matrices and the equations is often rather efficient for the full implementation an assumption has to be made on the computational performance for the
substructured matrices. Often these matrices will not develop in a nice banded structure
as in constructing the global matrix. Without doing a complicated full analysis on methods of permutations, sparsity patterns and fill in of the substructuring equation to get
the exact cost, it was assumed the Cholesky decomposition for ASSM would be half as
efficient. More information on the sparsity of the problem is presented in Appendix B,
Section 3.
Therefore the cost for factoring and solving is given by 23 n3s and 2n2s respectively. Incorporating these terms into the the total cost equation and taking into account the terms in
the static domain are computed once every few iterations, the following cost equation is
2 n3s
+ 2 s nc + 2n2c
+ n3
3 iter.
iter 3 c
Expanding the total cost for FI and inputting n = nc + ns , the cost equations can be
easily compared
Cost(iter, ns , nc ) =
1 3
ns + n2s nc + n2c ns + n3c
The two equations were plotted together in Figure 5.14 for a varying amount of static
variables. For the cost equation belonging to ASSM, several different values for the
number of iterations the domain was kept fixed is also plotted. The x-axis shows the
percentage of the design variables being static, and the y-axis the percent time savings
in Figure 5.14a and the speed up of the solution process of the finite elements in Figure
5.14b. For Figure 5.14a a value of +100 means the process takes 100% less time, thus
practically a free solution process, and -100 means the process takes 100% more time,
thus double the solution time. For Figure 5.14b a value of 25 means the process is 25
times faster in solving the finite elements to obtain the temperature of the problem.
Cost(ns , nc ) =
(a) Percent time savings in the solution process of
the finite elements
(b) Speedup of the solution process of the finite
Figure 5.14: Efficiency of static condensation method for number of static iterations
From these figures the following information can be interpreted:
• Holding the domain fixed for one iteration results in the process being twice as
inefficient, at least 3 iterations are needed to see improvement
5.4 methods for structuring the optimization domain
• Typically after 30% of the domain being static, significant improvements result
• At higher percentages of the domain being static, the improvements plateau. Thus
approximately after 80% of the domain being static, the focus should be on holding
the domains fixed for more iterations. Strategies in Section 5.4 look to better exploit
this region.
This information will be taken into account when developing the separate domains
for the optimization process. The efficiency information developed in Figure 5.14 can be
used to compute an approximate overall efficiency improvement, in terms of reduction
of the computation time, for a whole optimization process. This information will be
presented further in Section 5.4.
Sub-Structure Implementation
The implementation of ASSM can greatly impact the performance of the method as well
as the storage space needed. One of the biggest problems of directly implementing Equations 4.1.4 - 4.1.9 in Section 4.1.4 is the immediate products developed from the process
especially from KSS
KSC . This results in a full matrix if explicitly computed resulting in
extra need for storage and computation time. A better method is to obtain KSS
KSC and
KSS FS through decomposition, forward reduction, and backward substitu
The sub-structured stiffness matrix in Equation 4.1.4 can be decomposed as:
# "
The main components of the stiffness matrix needed in the substructuring process become the following through decomposition:
Through forward reduction the modified force vector for the changing domain becomes:
p∗ = fC − LSC L−
and through backward substition the temperatures in the changing domain followed by
the recovery of the static domain are achieved by:
tC = K∗−1 p∗
tS =
tC )
methods for structuring the optimization domain
A very important process in this method, is how to construct the domains in an efficient
manner. Obviously the designs are changing, meaning the areas were design changes
occur also change through the optimization process. Figure 5.15 illustrates the changing
design area as well as the ideas that will be presented shortly. As was shown in Section
5.3.2 and Figure 5.14 it is important to keep the domains fixed for several iterations in
order for ASSM to be beneficial to the user. To achieve greater number of iterations when
the domains are fixed, an extra area around the changing domain can be developed, a
form of buffer zone in a way. This comes at a trade off:
Changing Domain at k
Changing Domain at k+1
(a) Domain Change
Static Domain
Buffer Zone
Changing Domain
(b) Domain Change with Buffer Zone
Figure 5.15: Establishing static and changing domains
• Smaller buffer zone → greater number of updates needed
• Larger buffer zone → smaller percentage of static design variables
Both approaches ultimately end up reducing the overall benefit to the procedure, but
selecting the proper one will minimize this reduction.
Figure 5.15 is a simplification of the processes involved in SIMP but presents an understanding of the behavior. Figure 5.15a shows the development of the changing domain
over iterations and Figure 5.15b shows the concept of the buffer zone. The buffer zone is
meant to encapsulate the changing domain for several iterations. Thus great care in the
construction of the buffer zone is needed.
The changing domain can have many different behaviors in the optimization process.
Changes can result due to the addition of material to the structure, as well as changes
can occur when structure is removed. The areas where the design changes occur are not
necessarily aligned with the definition of the structure. For instance, there can be areas
of no design change within the structure itself.
For the sake of completeness, a description of how the initial changing and static domains are selected will be given, followed by different implementations to formulate a
buffer zone. Selecting the domains is relatively simple process by examining the design
variables of the current iteration to see if they changed from the previous. To avoid selecting changing design variables occurring through roundoff / numerical error, a change
threshold e is specified. If the change is greater than e the design element is marked
with the discrete value 1 and is part of the changing domain. If the change is less than
e the design element is marked with discrete value 0 and is part of the static domain.
Mathematically the element design change, xc , values are shown as:
5.4 methods for structuring the optimization domain
xc =
if |xik − xik−1 | ≥ e
if |xik − xik−1 | < e
A buffer zone can be developed in many ways, but to keep the process simple, intuitive,
and computationally inexpensive, existing information in the optimization process is
exploited. Three different ideas for development of the buffer zone are the following:
radial buffer around changing design variables, buffer in areas of high sensitivities, and
a combination of the previous two.
5.4.1 Radial Buffer
A radial buffer zone, as shown in Figure 5.15b, can be developed by using the existing
filtering methods established in the optimization routine. Thus instead of filtering sensitivities or densities, as in the optimization process, the design change values in xc are
filtered. Since xc is a matrix of zeros and ones, with the ones corresponding to design elements that are changing, a radial filter will create an artificial expansion of the changing
domain into the static domain representing the buffer zone. Once the matrix is filtered,
the values in the matrix will no longer will be a discrete value of 0 or 1. Thus these
median values are returned back to 1 to maintain the discrete structure. The filtering
method is presented in equation 5.4.2 using the filter that was presented by Sigmund (3).
xbc =
∑i∈ Ne Hei
Hei xc
i ∈ Ne
where Ne is the set of elements i with the center to center distance of i to e 4(e, i ) is
smaller than the filter radius rmin and Hei being the weight factor defined as:
Hei = max (0, Rmin − 4(e, i ))
There are a few disadvantages of this method, such as each changing design variable
receives the same filter radius and the radius is set to the same size used within the
optimization routine. Since different parts of the structure grow more rapidly than others,
specifically at the tip of a branch compared to the side of the branch, a bigger radius is
needed where in the other parts it is not. Therefore there is excess buffer zone. This
provides the motivation to look into using sensitivity information which is presented
in the next section, as the sensitivities indicate where the structure is about to change.
As far as being linked to the optimization filter radius, a smaller radius size can not be
achieved from what is specified without rebuilding the filter for a smaller radius. Which
is problematic if a large filter radius is needed for the optimization process but not for
the buffer zone. On the other side to make the filter radius bigger, it is rather simple.
The filtering method described above can be performed multiple times through the use
of loops.
Sensitivity Buffer
The use of sensitivity information is more of an intuitive approach, as the sensitivities tell
where changes in the structure are likely to occur. Thus, if we know from the sensitivity
information in future iterations material is needed in these regions, it makes sense to
develop a buffer zone in those areas. Figure 5.16 provides a simple illustration of this
idea, with Figure 5.16a showing regions of high sensitivity and Figure 5.16b showing
the establishment of a buffer zone in this region. The idea behind sensitivities is to look
how the optimization objective is influenced by a change in the design variables. If a
design variable is highly sensitive, it means adding material in that element will have a
significant impact on reducing the temperature in the domain. If there is low sensitivity,
it means material in these locations does not provide a large impact and could possibly
be removed.
Buffer Zone
Changing Domain
Region of High Sensitivity
Changing Domain
(a) Domain Change with regions of high sensitivity
(b) Domain Change with buffer zone based on
Figure 5.16: Establishing static and changing domains with use of sensitivity information
By selecting a sensitivity threshold level τ, the size of the buffer zone can be controlled
with τ capable of receiving the following values:
τ set to 0 means all the sensitivity values are taken into account and τ set to 1 means no
sensitivity values are used to develop the buffer zone.
This method is again done by using the discrete values of 0 and 1 mentioned previously
in the beginning of the Section. If the sensitivity value of a design element is above τ,
the element design change, xc , value is set to 1 and 0 otherwise. This is mathematically
defined as:
1 if ∂x
xc =
0 if ∂xi < τ
Therefore this method offers a larger buffer zone in the region where the greatest
amount of design changes will be occurring in future iterations. This eliminates unnecessary buffer zone elements elsewhere but has a disadvantage as there is often high
sensitivity in areas where no design changes are occurring. An issue that arised during
implementation, is there is often not a large enough buffer zone around the changing design elements with a lower sensitivity region. Due to this, the design had to be updated
quite often in these areas. This led to the idea of combining the sensitivity buffer zone
with the use of the radial buffer zone and a small filter radius.
5.4 methods for structuring the optimization domain
5.4.3 Issues with Sensitivity and Radial Buffer Method
The previous two methods have some issues which were determined during testing of the
implementations. To illustrate the issue, the characteristics of each of the buffer domains
will be examined at some iteration in the optimization process. Figure 5.17 illustrates
the differences in the methods. Figure 5.17c shows the domain of design changes with
the black areas representing a design element that has changing density. Figures 5.17a
and 5.18b show the resulting buffered changing domains (black elements) based on the
respective buffering method.
(a) Radial Buffer (Percent Static: 77.11%)
(b) Sensitivity Buffer (Percent Static: 90.8%)
(c) Areas of Design Change (Percent Static: 99%)
Figure 5.17: Comparison of the buffer implementations at some instance in the optimization process (Iteration: 145)
As can be seen from the design changes in Figure 5.17c the areas where the design is
changing is quite sparse in the overall design domain. Thus it is hoped to maintain a
small fraction of design variables in the changing domain with the addition of the buffer
zone. This is achieved in different degrees from the different methods and parameters
used in the optimization, as well as each method develops a different buffer zone around
the changing design variables. At the tips of each branch, shown in Figure 5.17c, are
the areas where the design grows the fastest and along the sides of the branches little
growth or sometimes shrinking of the structure occurs. The major issues in the radial
and sensitivity methods are summarized in the following:
• Radial Buffer Zone, Figure 5.17a: A large buffer radius is needed to provide a big
enough buffer zone in areas of high growth, but provides for excess in areas where
the design is shrinking or small growth is occuring.
• Sensitivity Buffer Zone, Figure 5.17b: The buffer zone at high growth is adequate,
but the buffer zone is overly minimal in areas where shrinking or small growth is
5.4.4 Combined Buffer
It is thought a hybrid of the two methods could provide for a better buffer zone. Here
the idea is to first perform the addition of the buffer zone through the use of sensitivities,
allowing for an expanded region where high growth is occurring. This is followed by the
use of the radial filtering to expand the buffer region. This is illustrated in Figure 5.18a.
Instead of looping to create a large radial filter, which is needed if the radial filter is
only used, ideally a single pass of the filter is used providing enough additional material
to the changing domain. Examination of the combination of the two buffering methods
as well as how all the buffering methods compare, will occur in the next section. The
direct implementation of the combined buffer is shown in Figure 5.18b, where the direct
combination of the enlarged region at the tips of the branches can be seen as well as the
enhancement around the branches.
Buffer Zone
Changing Domain
Region of High Sensitivity
(a) Sensitivity and blur radius buffer zone
(b) Combined Buffer (Percent Static: 76.51%)
Figure 5.18: Using sensitivity information and blur radius to form buffer zone
5.4.5 Comparison of Buffer Zone Methods
As described in Sections 5.4.1 through 5.4.4 about the different buffer methods, each
of them have their advantages and disadvantages. To gain a better understanding of
how they can help improve the efficiency through a reduction of the analysis time, each
method will be compared under a variety of different settings. The standard set up of
the problem used the following parameters with a SIMP-GSS implementation:
Filter Radius
Temp. Change < 0.1%
q: 2, p: 1
The comparison considers each of the different buffering methods and estimates the
computational savings based on the flop count estimates discussed in Section 5.3.2. The
5.4 methods for structuring the optimization domain
results are presented in Table 5.8. With the radial buffer, the number of passes using
the set filter radius was varied. In the sensitivity buffer, the threshold level, τ, was
varied. Finally in the combined buffer, a combination of the two parameters were varied.
Observations focused on the number of updates after the domains were fixed for the first
time, the total number of fixed iterations, the total iterations, and an estimated overall
improvement in terms of time reduction. The estimated improvement was established by
using Equations 5.3.1 and 5.3.2 from Section 5.3.2 and only presents the improvement in
solving the finite element problem.
Pass: 1
Pass: 2
Pass: 3
τ = 0.3
τ = 0.5
τ = 0.7
= 0.3, Pass:1
= 0.3, Pass:2
= 0.5, Pass:1
= 0.5, Pass:2
= 0.7, Pass:1
= 0.7, Pass:2
Num. of
Total Iter.
Est. Overall Time
By EleBy
Table 5.8: Comparison of buffering methods
Firstly, examining the use of the radial buffer method, Table 5.8. From the standpoint
of overall improvement, the results look fairly promising especially as the number of
passes with the filter increased and a significant amount of iterations are held static.
Looking at the number of updates needed to reach the efficiency improvement, makes
such gains questionable. The exact cost of forming the matrices are unknown, but is
assumed to be rather costly as the domains are rather unstructured. To estimate an effect
of developing the matrix for the problem, it is blindly assumed it reduces the efficiency
by 2% per update. Thus having a significant number of updates which are currently
seen, quickly reduces the improvement. Increasing the filter radius only helps to some
degree, as the larger radius will quickly reduce the percentage of static variables held
fixed. Figure 5.19 shows how the efficiency is developed through out the optimization.
The blue lines represent the total improvement through the process and the red lines
represent the improvement for the specific fixed domain.
Throughout all the processes, the iterations early on present the most trouble for the
radial buffer as there are many updates occurring with few fixed iterations. The reasons
for this is due to the heavy growth that is occurring during this period. Later on in the
process the growth slows, and the radial buffer zone can effectively hold the domains
fixed for longer periods of time. This is especially true for a greater number of passes
with the filter (i.e. a more extended buffer).
The sensitivity buffer showed to be a poor choice for developing a buffer zone as can
be see in Table 5.8. No matter what sensitivity threshold was used, the process always
became less efficient. The issues that were previously mentioned about minimal buffer
(a) Passes: 1
(b) Passes: 2
(c) Passes: 3
Figure 5.19: Efficiency plots of radial buffer for different number of filter passes
zone along the edge of the structure are the main causes for the difficulties of this method,
as numerous updates were needed due to changes along the boundary. Figure 5.20 shows
the domains were only fixed for a few iterations, and were not able to increase the total
The combined buffer method was the best performing method to develop a buffer zone,
see Table 5.8. Both significant improvements were seen in overall efficiency increasing by
approximately 10% over the highest improvement achieved with the radial buffer and in
the number of updates needed. The number of updates needed is perhaps the most significant improvement, as 3 updates can be performed while also maintaining a relatively
large efficiency improvement. Within the radial buffer and sensitivity buffer method, the
lowest amount of updates achieved during testing were 10 and 56 respectively. This is
particularly beneficial to minimize the cost to re-assmble matrices corresponding to new
Interesting to note is the interaction of the threshold level and the number of passes
used. Increasing the number of passes for the radial filter only seemed to help when the
sensitivity threshold level was set to high, and provided negative results if the threshold
level was set to low. This makes sense as a higher threshold level means a smaller buffer
zone developed by the sensitivities around the areas of high growth, thus more updates
were needed as seen in Table 5.8. Therefore increasing the buffer zone radially help
reduce the number of updates needed. Looking at Figures 5.21e and 5.21f, the increasing
number of fixed iterations in early fixed domains can be seen by using more filter passes
with a direct result of reducing the number of updates.
As for when the sensitivity threshold level was set low, a large buffer zone has already
been developed from the sensitivities. Adequate area was present to reduce the number
of updates and the additional area in the buffer zone through an extra filter pass only
reduced the percentage of the static area. This reduction in static area off set the benefits
brought by reducing the number of updates needed, therefore reducing the efficiency
5.4 methods for structuring the optimization domain
(a) Threshold Level: 0.3
(b) Threshold Level: 0.5
(c) Threshold Level: 0.7
Figure 5.20: Efficiency plots of sensitivity buffer for different threshold levels
improvement. This effect is seen within Figures 5.21a and 5.21b. The highest improvement seen within a specific fixed domain is about 15% less with 2 filtering passes when
compared to the 1 filter pass.
The effect of the length of the boundary and the number of interface nodes is also presented in Table 5.8 when comparing the estimated overall time reduction between using
the elements or nodes to determine the percentage. First a refresher on how the interface
nodes affects the matrices in the substructuring process. The interface nodes effect Kii , Kic
and Kci in the stiffness matrices of the substructured matrix of KCC meaning the size of
the matrix is determined by [i + c] × [i + c]. Hence, calculating the percentage reduction
through the use of the nodes that are connected to a changing design variable, the true
time savings of the process is achieved. By calculating the percentage reduction with the
use of the elements, it neglects the contribution of the interface nodes and calculates the
percentage assuming the size of KCC is [c × c]. Thus comparing the percentage reduction
between the two methods gives an indication of the affect of the boundary on the savings
achieved. In general for all the buffering methods presented in Table 5.8 the approximate
affect of the interface nodes is about 4% less in the savings achieved.
Overall the combined buffer method brings the most benefits to the ASSM approach,
both in the overall time reduction and the number of updates needed. Here a median
value of the sensitivity threshold brings the greatest improvement in terms of reduction
in time, but if the updates prove costly a lower sensitivity threshold with a smaller filter
radius could be more beneficial. The effects of the interface nodes are also important to
consider as a longer boundary between the static and changing domains means less savings are achieved. A short investigation of how this method behaves with the traditional
SIMP method is presented in Appendix B, Section 4
(a) Threshold Level: 0.3, Passes: 1
(b) Threshold Level: 0.3, Passes: 2
(c) Threshold Level: 0.5, Passes: 1
(d) Threshold Level: 0.5, Passes: 2
(e) Threshold Level: 0.7, Passes: 1
(f) Threshold Level: 0.7, Passes: 2
Figure 5.21: Efficiency plots of combined buffer for different threshold levels and filter passes
5.4.6 Performance of Combined Buffer for Different Volume Fractions
As the structures develop differently depending on the volume fraction, specifically the
sparsity in the structure, it is interesting to investigate how this effects the performance
of the buffered problem. From Figure 2.4 presented in Section 2.2, the differences in the
structure are noticeable. One main difference with a potential effect on the performance,
is the length of the boundaries present. As lots of design changes are focused along the
edge of the structure further in the optimization process, this can have a great effect on the
type of improvement expected. Increasing the volume fraction, in other words increasing
the amount of material to create a structure, produces larger boundary lengths. It is
suspected, greater efficiency improvements occur with ASSM with decreasing volume
fraction. Therefore a test was performed using the combined buffer method and several
different volume fractions. The settings of this test are the same as those comparing the
different buffering methods in the previous section. The only difference is τ is set to 0.5
and the number of passes with the radial filter is 1, as this offered one of the best results
in terms of performance.
Table 5.9 and Figure 5.22 provide some results from this investigation. Volume fractions between 0.2 and 0.01 were tested, with the trend showing better performance with
lower volume fractions as predicted. Also at lower volume fractions was a reduction in
the number of updates particularly at a volume fraction of 0.01. Examining Figure 5.22
5.4 methods for structuring the optimization domain
Num. of
Iter. Fixed
Total Iter.
Iter. Fixed (%)
Est. Overall Time
By EleBy
Table 5.9: Effects of volume fraction on combined buffer method
it is noticed the reduction in time for the current fixed domain for the higher volume
fractions is not as high as those for lower volume fractions. This indicates as mentioned
before the boundaries spread out the changing design elements and when buffered reduce the percentage of static variables considerably. The effect of the boundary length
is also shown in Table 5.9 when comparing the percent reduction achieved by looking at
the elements or nodes as was discussed when comparing the buffer methods. It is shown
at larger volume fractions, the boundary provides a more significant impact on the time
savings that are achieved as the boundary reduced the savings by 4%. For sparse structures, particularly with volume fraction of 0.01, the boundary has approximately 1.5%
effect on the savings achieved. Another factor is how many iterations were fixed. As the
volume fraction decreases the percentage of the total iterations that are fixed increases
significantly. This directly impacts the performance and increases the overall benefit of
the method.
(a) Volume Fraction: 0.2
(b) Volume Fraction: 0.1
(c) Volume Fraction: 0.05
(d) Volume Fraction: 0.01
Figure 5.22: Efficiency plots of sensitivity buffer for different threshold levels
5.4.7 Buffer Zone Improvements
As this is the first investigation into this method and due to restrictions on time, perhaps
better buffer zones can be developed through more investigations. Looking at Figures
5.19, 5.20, and 5.21 already give some hints at where improvements in the implementation
in the buffer zone can take place. Almost all the fixed domains in the beginning of the
process are only fixed for a few iterations when compared to the number of iterations
they are fixed near the end of the optimization process. Thus some sort of variance in
the parameters used to set the buffer zone can be beneficial to increase improvements
in this area. In the very beginning when the percentage of static elements is below the
change threshold level, ASSM provides no benefits. To further increase savings in this
area, the idea of global mesh refinement as discussed in Section 4.1.2 can be employed.
This method will become especially important if large amounts of elements are needed
for the final mesh refinement level. Thus the idea is to start with a coarse mesh to develop
a better initial structure. The coarse mesh will lead up to the fine mesh being employed
once the change threshold level is reached.
Mentioned in Section 5.3.2 and shown in Figure 5.14, is the fact that after 80% of the domain being static, no significant improvements can be achieved by increasing the amount
of static design variables. Thus the focus should be on increasing the number of iterations the domains are fixed. A crude attempt was made at such an implementation by
increasing the number of filter passes, but led to an oscillation in the buffer zone as the
radius increased the buffer zone to much. Better implementation can be achieved by determining a proper distribution of buffer zone were it is most needed while maintaining
80% of the domain being static.
Finally looking at Figure 5.17, perhaps a better radial buffer implementation can be
develop. An idea is to make the radius of buffer vary per design element or design
region. Thus in regions where great amount of growth is occurring, impose a larger
radius. Thus would require a redevelopment of the filter method and would no longer
coincide with the filtering method within the optimization process. Benefits in greater
control will be achieved but at the cost of possibly re-developing the filter often.
5.4.8 Performance of Domain Selection and Buffer Zone Development
This section looks at investigating the computational performance of selecting the respective static and changing domains as well as the performance of the buffer zone development relative to the other processes in the optimization process. The other optimization
processes include calculating the solution of the finite elements, determining the objective
and sensitivities of the design, filtering the design, and updating the design to its next
configuration. Figure 5.23 presents the performance of the domain selection and buffer
zone development as a percentage of the total optimization process. Here the combined
buffer method was used with a threshold level of τ = 0.5 and 1 pass of the radial filter
with a volume fraction of 0.1.
As seen from Figure 5.23 the total percentage of time needed for developing the buffer
zone is relatively small compared to the overall cost of the finite elements. It is fairly
small compared to the other processes in the optimization process as well, approximately
3%, 1.5% and 1% of the optimization process for the mesh sizes of 50x50, 100x100 and
200x200 respectively. One of the main costs in this method is the effect of the radial buffer
in the development of the buffered region. Table 5.10 presents the percentage of the total
buffering costs that the radial buffer implementation uses.
5.4 methods for structuring the optimization domain
Figure 5.23: Percentage of computational cost for development of the buffered changing domain
Radial Buffer
50x50 Mesh
100x100 Mesh
200x200 Mesh
1 Pass
2 Pass
Table 5.10: Percentage of time used in radial buffer of the total buffering and domain selection method
The percentage of time spent in radially expanding the buffer region is quite significant
especially if more than one pass is needed which could cost up to 31.78% if one pass is
used and 40.58% if two passes is used. This percentage of the total time increases with
the mesh size as the radial filter is performed on all the design variables irrespective if
they are marked as changing with a 1 or marked as static with a 0. Thus the use of a
radial buffer for large mesh sizes may prove to be problematic as it needs to be performed
every iteration. This could be another possible area of future investigation.
5.4.9 Adaptive Substructuring Method Summary
In summary, the goal of the adaptive substructuring method (ASSM) is to reduce the
number of degrees of freedom to solve for every iteration in hopes to reduce the time
needed to compute a solution. This is accomplished through static condensation which
is a substructuring technique. Unlike traditional methods of substructuring the original optimization design domain will be split on the basis of whether or not the design
variables are changing or if they remain static. The computational advantage of this matrix decomposition comes from a reduction of the DOF in the changing domain. With
a pre-computed matrix of the static domain, these DOFs can be cheaply solved. The
method presented the same result as using a full implementation (FI) of the optimization
process calculating all the degrees of freedom at once. Through a comparison of the
computational cost of ASSM to FI, it was shown significant savings can be achieved if the
number of static design variables is large and the domains for the static and changing
design variables can be held fixed for numerous iterations. In order to keep the domains
fixed even though the areas where the design variables are changing also change, a form
of buffer zone is developed around the changing design variables. Three different approaches where presented based on a radial buffer, sensitivity buffer, and a combination
of the two. From the analysis it was found combining the two methods offered the best
performance with approximately 47% reduction in the time needed in the finite element
problem. A comparison was then performed due to the effect of volume fraction. It was
found the smaller the volume fraction the more benefits ASSM brings. With the best
reduction of approximately 67% at a volume of 1%.
In this present study, research was performed on a variety of different topics to develop
sparse structures through optimization. Sparse designs develop naturally in several different types of structures, such as large spanning bridges, slender reinforcements of thin
plates, compliant mechanisms, and heat conduction optimization problems. The effects
of sparsity are also determined through the volume fraction specified. Particularly at low
volume fractions of approximately 10% and under a sparse problem is more prominent.
To accurately develop these structures in topology optimization, a fine mesh is needed
to determine the responses in order to give the design physical meaning. The issue with
using such a fine mesh in topology optimization is the significant computational cost
required to solve for the DOFs. Thus through my research different methods to simplify
the problem by reducing the amount of DOFs needed to be solved were evaluated.
Research on current methods available looked into different mesh refinement techniques, structural re-analysis, assembly of the stiffness matrix, and methods to deal with
convergence of the design problem. Each of these methods brings some benefits to the
sparse problem, as they all bring a form of reduction in the computation time needed.
Using a local mesh refinement technique provides for mesh resolution where it is needed,
but costly adaptive mesh algorithms do not bring about the full benefit for sparse problems. A global mesh refinement is much simpler, and can be coupled with adaptive
substructuring method developed with in this paper to reduce the computational effort needed in the beginning of the optimization process. Structural re-analysis offers a
significant reduction in the size of the problem by approximating the existing problem
characteristics through the use of basis functions. Through an initial solve on the full
system, later structures can be approximated based on the initial characteristics for a few
iterations. Sparse structures often do not have many changing design variables, thus
the approximations with this approach could be quite accurate as well as reducing the
number of computations of the full system. More investigation is needed however on
sparse problems for this approach. Updating the stiffness matrix with the DOF that are
changing can bring benefit, as it represents approximately 30% of the total cost in the
optimization process. Thus only updating changing DOFs can bring a significant benefit
as a vast majority of the DOFs are not changing.
The current methods available offer some benefit to a sparse optimization problem,
however two new approaches were proposed which more directly takes into account the
characteristics of the sparse design problem in optimization. The two main characteristics
determined through investigation is the appearance of the developed structure as well
as how the material changes in the continuum optimization methods. The developed
structure for a sparse problem develops into a form which resembles a series of bars
connected together with each bar having a different width. The bars then can be used to
formulate a skeleton. The other characteristic looks at whether or not the design variables
are changing. For sparse structures early on in the optimization process, approximately
90% of the design variables are no longer changing in the optimization domain after
about 10 or 20 iterations depending on the volume fraction used.
A skeleton modeling approach was proposed to take advantage of the characteristic
structure. By representing the structure through bar elements and overlaying on a coarse
global mesh, potentially significant savings in computational time could be achieved.
However, currently the feasibility of this method remains questionable. Two ideas were
developed in order to obtain the skeleton structure. One method looked at extracting
the skeleton from the principle curvature of the level set function. However the skeleton
curve would be an implicit representation making it difficult to determine sensitivities,
as a unique and well defined differentiable mathematical relation must exist with the
design variables. The other method looks to explicitly develop the skeleton through the
use of radial basis functions. This method presents several issues, such as how to connect
the design variables together to form the skeleton and the update of the skeleton curve
it self as the structure is non-continuous. Overall for both proposals, a common issue is
how to combined the bar element mesh with the global coarse mesh. A potential method
is through a concept called S-FEM but could be a costly method. Further investigation is
needed on the S-FEM method in order to determine if it is an efficient approach.
An adaptive sub-structuring method is a promising approach bringing large benefits
in computational savings especially for volume fractions less than 10% as approximately
65% savings in time to compute the finite element solution for a volume fraction of 1%
was achieved. The advantage of the approach is developed by decomposing the domain
based on the design variables being static or changing. As the optimization process is
performed the seperate domains change and to prevent updates of the decomposition
a buffer method is introduced. Several ideas were presented, including a radial buffer,
sensitivity buffer and a combination of the two. Overall the combination of the two
methods provided for the best performance as it offered significantly less updates (28 iterations less depending on settings) and brought larger savings of approximately
10-20% over the radial buffer method. Using only the sensitivity buffer method alone
provided for an infeasible method as the seperate domains needed to be update many
times, thus becoming computationally more expensive. In order to gain a more accurate
result on the benefits more investigation is needed on how to construct the respective
stiffness matrices in an efficient manner. As these estimates on improvements do not
factor this in.
A direct comparison of the methods is hard to formulate as each method would have to
be investigated for this sparse case. But overall each approach offers some improvement
and the substructuring method is a promising alternative to the traditional methods.
The recommendations for future work focus around the ideas of the skeleton modeling
and substructuring techniques. The skeleton modeling approach is potentially still a
feasible method but more investigation on how to combine the two models of the bar elements representing the skeleton with the background mesh is needed in order to obtain
accurate temperatures in the domain. This investigation would most likely benefit from
an initial investigation into the S-FEM method as the approach seems to be a feasible
solution to this problem but has received little research in the application of topology optimization. Further investigation of the obtaining the skeleton structure needs to be done
as the two methods presented each have their own issues which prevent the updating off
the structure. If the structure can not be update, then the optimization process can not
be performed.
The substructuring approach already proved promising, but the structuring of the
matrices still needs to be sorted out. If an efficient method for developing the matrices
can be determined then a cheaper method of determining an optimal sparse structure is
achieved. Further investigation on implementing static condensation approach is needed
as an efficient algorithm could not be developed within the MATLAB environment. This
will provide for a better estimate on the time savings of the solution process. Finally
further investigation can be performed on the optimal development of the buffer zone.
Three methods were investigated within this paper but possible improvements could be
achieved by making the settings adaptive to the problem itself. Such ideas are to improve
the performance early on in the process as the domains are held fixed for fewer iterations
initially. Another idea is optimally placing buffer material once the percentage of design
variables being static reaches 80%. After this point the focus needs to be on holding the
domains static for as many iterations as possible.
efficiency analysis for design 2
(a) Increase in computational complexity
(b) Time differences per iteration
(c) Percentage of total optimization process
Figure 1: Break down of computational cost in terms of increase in complexity, time differences, and percentage of total
optimization process for design 2
Figure 2: Computational cost breakdown, Design 2
appendix a
effects of design change on design 2
(a) Volume Fraction: 0.3
(b) Volume Fraction: 0.1
(c) Volume Fraction: 0.001
Figure 3: Percentage of design with change less than 10−4 for different volume fractions, Design 2
effects of sparsity
To gain a better understanding of sparsity behavior in the substructuring problem, examination of the matrix structure is needed. Through substructuring the matrices are
manipulated from a nice banded structure to a form that is often less efficient for factorization. There are many different occurrences in matrices that can effect the process of
factorization and the solution of a system of equations with the exact details beyond this
investigation. But to name a few is the sparsity of the matrix, the amount of fill-in that is
present in the process, and the structure of the non-zero values. All of these seem to be
effected during sub-structuring.
(a) Full stiffness matrix
(c) KSC stiffness matrix
(b) KCC stiffness matrix
(d) KSS stiffness matrix
Figure 4: Comparison of full stiffness matrix with stiffness matrices of the substructured domain
In this discussion only the sparsity and the appearance of the equations will be discussed as getting into how fill in and the number of non-zero values effect the structure
and solution process is beyond the scope of this investigation. Figure 4 presents a com-
appendix b
parison of the stiffness matrix from a full implementation (FI) and the stiffness matrices
from the adaptive substructuring method (ASSM). The structure of the stiffness matrix
for FI is shown in Figure 4a and it maintains the simple banded structure that is efficient
to solve within the finite element problem. The difficulty arises within the substructuring
approach with the stiffness matrices becoming unstructured. This is particularly seen in
Figure 4b with KCC and Figure 4c with KSC whereas the static domain stiffness matrix
still maintains its banded structure as shown in Figure 4d. In Figure 4b the effects of the
interface nodes can easily be seen. These interface nodes greatly increase the complexity
of the matrix structure as well as form a dense spot in the matrix.
buffer method with traditional simp
This section shows how the adaptive substructuring method (ASSM) behaves with the
use of the traditional SIMP method instead of using SIMP with the gray scale suppression
(GSS) as was discussed in Section 5.3. First the traditional SIMP method with the use of a
sensitivity filter was investigate with the settings in Table 1. A threshold level of τ = 0.5
and 1 pass on the radial filter was used for this investigation.
Filter Method
Sensitivity w/ Rmin = 2.4
p: 3, q:1
Table 1: Settings for combined buffer with traditional SIMP method and sensitivity filter
The results of this investigation are presented in Table 2 and Figure 5. Here it is seen
that the current ASSM approach does not perform as well with the traditional SIMP
method. The reason for this is how the sensitivities develop in the traditional SIMP
method which are different from the SIMP-GSS approach as it does not develop high
sensitivities in regions of high growth. The constant changes in the design variables
along the edge of the structure as shown in Figure 5b which are not suppressed also
contribute to a reduction in the percentage of design variables held constant as shown in
Figure 5c. Overall the estimated reduction in time is worse at estimated 6.3% reduction
compared to the method with SIMP-GSS which obtained an estimated 45.58% reduction
with the same settings.
Iter. Static
Total Iter.
Iter. Fixed (%)
Est. Overall Time Reduction
By Nodes
Table 2: Results for combined buffer with traditional SIMP method and sensitivity filter
4 buffer method with traditional simp
(a) Sensitivity
(b) Areas of Design Change
(c) Buffered Domain
(d) Efficiency
Figure 5: Behavior of traditional SIMP with use of combined buffer at iteration 50
method of moving asymptotes
A method that is similar to the sequential approximate optimization (SAO) algorithm
presented in Section 4.4.1 was initially tested and had some issues dealing with the heat
conduction optimization process. Thus some insight of the method will be given along
with the details of the issues the method of moving asymptotes (MMA) had with the
heat conduction problem.
MMA is performed in a similar manner to that of the SAO algorithm in that it solves the
problems though the use of an approximate explicit subproblem. These approximations
are mainly based on gradient information from the current design iteration as well as
information from previous iteration points. The subproblem is solved and this unique
optimal solution becomes the start of the next iteration. The exact details of this method
will not be discussed here but the reader is referred to Svanberg (28) and Svanberg (29).
The problem to be solved for the MMA algorithm as presented by Svanberg (29)
is presented in Equation 5.1 with the optimization variables as x = ( x1 , ..., xn )T , y =
(y1 , ..., ym )Y and z.
minimize : f 0 (x) + a0 z + ∑
i =1
ci yi + di y2i
s.t. f i (x) − ai z − yi ≤ 0
x min
≤ xj ≤
x max
i = 1, ..., m
j = 1, ..., n
yi ≥ 0
were xi are the true optimization variables, and yi and z are the artificial optimization variables. In order to put the above equation into proper form for the heat conduction problem, the author suggested the following values: a0 = 1, di = 0 and ci = ”a large number”
for all i. Setting ci to a large number makes the corresponding approximate variables yi
expensive. Typically for an optimal solution y and z are equal to zero.
The issue with the MMA algorithm for the heat conduction optimization is the selection of the coefficient values, particularly ci . The problem became vary sensitive to the
value selected. In general the ci coefficient is used to enforce the volume constraint of
the problem. Thus having to high a value would force the constraint to much and to
low a value will not maintain the constraint. Typically in the optimization problem for
heat conduction the constraint was not met in the beginning of the optimization process.
As the process continues the volume constraint comes closer to being satisfied. However
once the constraint is just about to be satisfied the problem becomes unstable and begins
to oscillate, forcing the volume constraint not to be equal anymore. Depending on the
problem particular care had to be taken in order to properly select the coefficient ci .
The same problem was tested with a structural optimization case with minimum compliance and the issues did not exist. Thus a possibility is the approximate subproblems
appendix c
due not represent the exact behavior of the heat conduction problem. This was briefly
investigated but no conclusions on the cause were made.
[1] Gregoire Allaire, Francois Jouve, and Anca-Maria Toader. Structural optimiation
using sensitivity analysis and a level - set method. Journal of COmputational Physics,
[2] Oded Amir. Efficient reanalysis procedures in structural topology optimization,
[3] Erik Andreassen, Anders Clausen, Mattias Schevenels, Boyan S. Lazarov, and Ole
Sigmund. Efficient topology optimization in matlab using 88 lines of code. Struct
Multidisc Optim, 2011.
[4] M.P. Bendøse. Optimal shape design as a material distribution problem. International
Journal for Numerical Methods in Fluids, 2009.
[5] M.P. Bendøse and Noboru Kikuchi. Generating optimal topologies in structural
design using a homogenization method. Computer Methods in Applied Mechanics and
Engineering, 1988.
[6] M.P. Bendøse and O. Sigmund. Topology Optimization: Theory, Methods and Applications. Springer, 2003.
[7] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press, 2004.
[8] N.D. Cornea, D. Silver, and P. Min. Curve-skeleton properties, applications, and
algorithms. Visualization and Computer Graphics, IEEE Transactions on, 13(3):530 –548,
may-june 2007.
[9] J. C. A. Costa Jr. and M. K. Alves. Layout optimization with h-adaptivity of structures. International Journal for Numerical Methods in Engineering, 2003.
[10] N.P. van Dijk, Maute K, M. Langelaar, and F. van Keulen. Level - set methods in
structural topology and shape optimization: A review, 2012.
[11] G.M. Fadel. Two point exponential approximatin method for structural optimization.
Structural Optimizaiton, 1990.
[12] C. Fleury. Conlin: an efficient dual optimizer based on convex approximation concepts. Structural Optimization, 1989.
[13] Albert A. Groenwold and L.F.P. Etman. On the equivalence of optimality criterion
and sequential approximate optimization methods in the classical topology layout
problem. International Journal for Numerical Methods in Engineering, 2008.
[14] Albert A. Groenwold and L.F.P. Etman. A simple heuristic for gray-scale suppresion
in optimality criterion-based topology optimization. Struc Multidisc Optim, 2009.
[15] Seung-Hyun Ha and Seonho Cho. Topological shape optimization of heat conduction problems using level set approach. Numerical Heat Transfer Part B: Fundamentals,
[16] Tao-Yang Han and John F. Abel. Substructure condensation using modefied decomposition. International Journal for Numerical Methods in Engineering, 1983.
[17] Min-Geun Kim, Seung-Hyun Ha, and Seonho Cho. Level set based topological
shape optimization of nonlinear heat conduction problems using topological derivatives. Mechanics Based Design of Structures and Machines, 2009.
[18] Uri Kirsch. Reanalysis of Structures. Springer, 2008.
[19] Sebastian Kreissl, Georg Pingen, and Kurt Maute. An explicit level set approach for
generalized shape optimization of fluids with the lattice boltzmann method. International Journal for Numerical Methods in Fluids, 2009.
[20] Zheng-Dong Ma, Noboru Kikuchi, Christophe Pierre, and Basavaraju Raju. Multidomain topology optimization for structural and material designs. Journal of Applied
Mechanics, 2006.
[21] Arash Mahdavi, Raghavan Balaji, Mary Frecker, and Eric M. Mockensturm. Parralel
optimality criteria-based topology optimization for minimum compliance. Technical
report, Pennsylvania State University, 2005.
[22] K. Maute, S. Schwarz, and E. Ramm. Adaptive topology and shape optimization.
Computational Mechanics, 1998.
[23] K. Maute, S. Schwarz, and E. Ramm. Adaptive topology optimization of elastoplastic
structures. Structural Optimization, 1998.
[24] Suraj Musuvathy, Elaine Cohen, James Damon, and Joon-Kyung Seong. Principal
curvature ridges and geometrically salient regions of parametric b-spline surfaces.
Comput. Aided Des., 43(7), July 2011.
[25] S. Osher and J.A. Sethian. Fronts propagating with curvature dependent speed:
Algorithms based on hamilton - jacobi formulations. Journal of Computational Physics,
[26] J.S. Przemieniecki. Matrix structural analysis of substructures. AIAA Journal, 1963.
[27] J.A. Sethian and Andreas Wiegmann. Structural boundary design via level - set and
immersed interface methods. Journal of Computational Physics, 2002.
[28] Krister Svanberg. The method of moving asymptotes. International Journal for Numerical Methods in Engineering, 1987.
[29] Krister Svanberg. Some modelling aspects for the matlab implementation of mma.
Optimization and Systems Theory, 2004.
[30] Colby Swan and Salam Rahmatalla. Strategies for computational efficiency in continuum structural topology optimization. Advances in Engineering Structures, Mechanics
& Construction, 2006.
[31] Kumar Vemaganti and W. Eric Lawrence. Parrallel methods for topology optimization. Technical report, University of Cincinnati, 2004.
[32] Michael Yu Wang, Xiaoming Wang, and Dongming Guo. A level - set method for
structurl topology optimization. Computer Methods in Applied Mechanics and Engineering, 2002.
[33] Shengyin Wang and Michael Y. Wang. A moving superimposed finite element
method for structural topology optimization. International Journal for Numerical Methods in Engineering, 2006.
[34] Shun Wang, Eric de Sturler, and Claucio H. Paulino. Dynamic adaptive mesh refinement for topology optimization. Technical report, University of Illinois at UrbanaChampaign, 2010.
[35] Takayuki Yamada, Kazuhiro Izui, and Shinji Nishiwaki. A level set based topology optimizatin method for maximizing thermal diffusivity in problems including
design dependeent effects. Journal of Mechanical Design, 2011.
[36] Zhihua Yue. Adaptive Superposition of Finite Element Meshes in Linear and Nonlinear
Dynamic Analysis. diploma thesis, University of Maryland, 2005.
[37] Chun Gang Zhuang, Zhen Hua Xiong, and Han Ding. A level set method for topology optimizaiton of heat conduction problem under multiple load cases. Computer
Methods in Applied Mechanics and Engineering, 2006.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF