TOPOLOGY OPTIMIZATION OF A CURVED THERMAL...
Transcript of TOPOLOGY OPTIMIZATION OF A CURVED THERMAL...
i
TOPOLOGY OPTIMIZATION OF A CURVED THERMAL
PROTECTION SYSTEM
A thesis submitted in partial fulfillment
of the requirements for the degree of
Master of Science in Engineering
By
MUTHUMANIKANDAN PRITHIVIRAJ
B.E., Bharathidasan University, India 2000
2005
Wright State University
WRIGHT STATE UNIVERSITY
ii
SCHOOL OF GRADUATE STUDIES
Dec 14, 2005
I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY
SUPERVISION BY Muthumanikandan Prithiviraj ENTITLED Topology Optimization of a
Curved Thermal Protection System BE ACCEPTED IN PARTIAL FULFILLMENT OF
THE REQUIREMENTS FOR THE DEGREE OF Master of Science in Engineering.
Ramana V. Grandhi, Ph.D.
Thesis Director
Richard J. Bethke, Ph.D.
Department Chair
Committee on
Final Examination
Ramana V. Grandhi, Ph.D.
Ravi C. Penmetsa, Ph. D.
Scott K. Thomas, Ph. D.
Joseph F. Thomas, Jr., Ph.D.
Dean, School of Graduate Studies
iii
Acknowledgement
I would like to thank my advisor Dr. Ramana Grandhi for his guidance and support and for
giving me the opportunity to work in Computational Design and Optimization Center
(CDOC). He was instrumental in directing me towards successful completion of this thesis.
My sincere thanks goes to Mr. Mark Haney for his guidance and constructive comments
throughout the project. I would like to thank Dr. Kim for giving me initial thrust and
guidance. His eagerness to guide me in the proper direction is highly appreciated. I would
like to express my gratitude to Dr. Ravi Penmetsa and Dr. Scott K. Thomas
for being a part of my thesis committee.
I was well supported by all the members at Computational Design and Optimization Center
(CDOC), Wright State University. I would like to thank my friends Rajesh, Nagaraj, Ed,
Jalaja and all for always supporting me. I would like to thank Chris for his help in making
this document grammatically correct and readable.
Finally, I would like to take this opportunity to thank my parents, my elder sister, and my
fiancée for providing me with motivation and support.
This research work was sponsored by Wright Patterson Air Force Base through the task,
“Design and Analysis of Advanced Materials in a Thermal/Acoustic Environment”.
iv
I would like to dedicate this thesis to
My parents,
Prithivirajan and Sasireka Prithivirajan
v
ABSTRACT
Prithivirajan, Muthumanikandan, M.S. Enginering., Department of Mechanical and Materials
Engineering, Wright State University, 2005. Topology Design of a Curved Thermal
Protection System.
The purpose of Thermal Protection System (TPS) is to protect the spacecraft from the
extreme environmental conditions during its re-entry into atmosphere. TPS undergoes harsh
thermal and acoustic loads at around 3500 0F and 180 dB, making its design critical. The
high aerodynamic heating of the TPS panel induces heavy thermal stresses and decreases the
natural frequencies. The design of TPS should be such that it can withstand heavy thermal
stresses due to aerodynamic heating and high acoustic loads. In the current thesis, topology
design of the TPS is performed to obtain the minimum weight configuration using
Evolutionary Structural Optimization (ESO) method, to maintain the fundamental natural
frequency, and to reduce maximum thermal stress for its stability towards acoustic and
thermal loads. Transient thermal analysis is performed to simulate the re-entry heating effect.
A coupled thermal-structural analysis is performed to obtain thermal stresses at elevated
temperatures. Topology Design algorithm using ESO is implemented successfully on a
commercial non-linear solver ABAQUS.
vi
TABLE OF CONTENTS
1. Introduction........................................................................................................................... 1
1.1 Background..................................................................................................................... 5
1.1.1 Density-Based Method............................................................................................. 5
1.1.2 Homogenization Method.......................................................................................... 6
1.1.3 Evolutionary Structural Optimization (ESO) Method ............................................. 8
1.1.4 Bi-directional Evolutionary Structural Optimization Method (BESO) ................. 10
1. 2 Research Approach ...................................................................................................... 11
2. Theory Behind Evolutionary Structural Optimization........................................................ 13
2.1 Derivation of Dynamic Control Parameter ................................................................... 13
2.2 Derivation of Modified Dynamic Control Parameter ................................................... 14
2.2.1 Equate Modal Displacement to Spatial Displacement........................................... 15
2.2.2 Calculation of Modified Dynamic Control Parameter........................................... 17
2.3 Implementation of Modified Dynamic Control Parameter in ABAQUS ..................... 18
2.4 Derivation of Static Control Parameter ........................................................................ 19
2.5 Frame Work for the Implementation of Combined Control Parameter in ABAQUS .. 21
2.6 Problems Occurred in the Evolution............................................................................. 24
2.6.1 Checkerboard Prevention Algorithm ..................................................................... 24
2.6.2 Occurrence of Local Mode in the Evolution Process ............................................ 27
2.6.3 Occurrence of Local Mode due to the Presence of Unremovable Region............. 29
3. Design of a Curved Thermal Protection System Panel....................................................... 31
3.1 Loads on TPS................................................................................................................ 32
3.2 Material Properties of Inconel 693 at Elevated Temperatures [11].............................. 33
vii
3.3 Sequentially Coupled Thermal-Structural Analysis ..................................................... 35
3.3.1 Theory Behind Uncoupled Heat Transfer Analysis in ABAQUS [10].................. 35
3.3.2 Superimposing Thermal Load from Heat Transfer Analysis on the Structural
Model .............................................................................................................................. 37
4. Case Studies ........................................................................................................................ 38
4.1 Case Study 1 ................................................................................................................. 38
4.2 Case Study 2 ................................................................................................................. 40
4.3 Case Study 3 ................................................................................................................. 43
4.4 Case Study 4 ................................................................................................................. 46
4.5 Case Study 5 ................................................................................................................. 50
4.6 Case Study 6 ................................................................................................................. 55
5. Results and Discussion ....................................................................................................... 59
6. Future work......................................................................................................................... 61
6.1 Performing Topology Optimization Considering Large Deformation ......................... 61
6.2 Topology Optimization by Considering Mode-Switching Phenomenon ..................... 61
APPENDIX............................................................................................................................. 64
Appendix A......................................................................................................................... 64
Appendix B......................................................................................................................... 78
References............................................................................................................................... 80
viii
LIST OF FIGURES
Figure 1.1 Equilibrium Surface Temperatures for a NASA Hypersonic Vehicle Concept
for Sustained Flight on Mach 8 at 88,000 ft
Figure 1.2 Positioning of Various TPS Panels on a Space Shuttle Orbiter
Figure 1.3 Geometric Representation of Design Variables Given in Equation 1.3
Figure 1.4 Flow of Conventional ESO Algorithm
Figure 1.5 ESO Design Approach
Figure 2.1 Derivation of Modified Dynamic Control Parameter
Figure 2.2 Implementation of Modified Dynamic Control Parameter in ABAQUS
Figure 2.3 Frame Work for the Implementation of Static Control Parameter in
ABAQUS
Figure 2.4 Frame Work for the Implementation of Combined Control Parameter in
ABAQUS
Figure 2.5 Solid Square Plate
Figure 2.5 Uniform grid of Square Q4 Elements
Figure 2.5 Initial Structure for the Checkerboard Check
Figure 2.6 Final Structure without Checkerboard Filter
Figure 2.7 Final Structure with Checkerboard Filter
Figure 2.8 Occurrence of Elemental Local Mode
Figure 2.9 Algorithm to Handle Elemental Local Mode in Evolution
Figure 2.10 Initial Model without Dense Mesh in Frame Region
Figure 2.11 Modified Initial Model to avoid Local Mode at Unremovable Region
Figure 3.1 Temperature vs Time History in Re-entry
Figure 3.2 Heat Transfer Model of Curved TPS with Transient Temperature Boundary
Condition
1
3
8
12
11
15
19
20
23
26
27
28
28
29
30
32
32
24
24
26
ix
Figure 3.3 Initial Model
Figure 4.1 Initial Structure for Frequency Maximization Problem
Figure 4.2 Final Structure at the end of 85 iterations
Figure 4.3 First Natural Frequency Maximization
Figure 4.4 Initial Model to obtain Fully Stressed Design
Figure 4.5 Final Model
Figure 4.6 Plot of max. von Mises stress vs Iteration
Figure 4.7 Final Structure Considering only Dynamic Control Parameter
Figure 4.8 Fundamental mode of the Final Structure when Natural Frequency is 465 Hz
Figure 4.9 Iteration vs First Natural Frequency
Figure 4.10 Final Structure of Thermally Loaded Structure Considering only Dynamic
Control Parameter
Figure 4.11 Natural Frequency vs Iteration of Thermally Loaded Structure
Figure 4.12 Iteration vs max. von Mises Stress
Figure 4.12 Iteration vs max. von Mises Stress
Figure 4.13 Fundamental mode of the Final Structure when Natural Frequency is
458 Hz
Figure 4.14 Structural Deformation of the Final Structure in the Presence of
Thermal Loads
Figure 4.15 Final Structure Considering Combined Control Parameter
Figure 4.16 Iteration vs max. von Mises Stress Considering Combined Control
Parameter
Figure 4.17 Natural frequency vs Iteration Considering Combined Control Parameter
Figure 4.18 Fundamental mode of the Final Structure when Natural Frequency is
739 Hz
Figure 4.19 Deformation of the Final Structure in the Presence of Thermal Loads
39
39
40
41
41
42
44
45
47
48
49
53
52
53
36
45
49
49
50
54
54
x
Figure 4.20 Fundamental mode of the Final Structure when Natural Frequency is
993 Hz
Figure 4.21 Deformation of the Final Structure in the Presence of Thermal Loads
Figure 4.22 Natural frequency vs Iteration by Removing Maximum Stressed Element
Figure 4.23 Max. von Mises stress vs Iteration by Removing maximum stressed element
57
58
56
56
xi
LIST OF TABLES
Table 3.1 Variation of modulus of elasticity with temperature 33
Table 3.2 Variation of thermal properties with temperature 34
Table 3.3 Variation of specific heat with temperature 34
Table 4.1 Change of Volume and Natural Frequency in the Evolution
Table 4.2 Change of Volume, Natural Frequency and Max. von Mises stress in the
Evolution
Table 4.3 Change of Volume, Natural Frequency and Max. von Mises stress in the
Evolution
Table 4.4 Change of Volume, Natural Frequency and Max. von Mises stress in the
Evolution
Table 5.1 Comparison of results at 900 Hz 59
46
57
52
48
1
1. Introduction
A space shuttle consists of a winged orbiter, two solid-rocket boosters, and an
external fuel tank. The orbiter of the space shuttle is used to carry payload in and out of space.
The orbiter experiences high aerodynamic heating due to air friction because of its high
speed re-entry. Hence, to decrease this heating effect, the speed of the orbiter is reduced
during re-entry by flying through sweeping S-curves. Even then, the spacecraft enters the
atmosphere with the magnitude of velocity approximately 17,000 mph. When the space
vehicle re-enters the atmosphere from Low Earth Orbit (LEO), it hits the extreme fringes of
the atmosphere broadside, using friction (or drag) to slow the vehicle. The descent of the
space vehicle brings it deeper into the thicker atmosphere, increasing the vehicle’s rate of
deceleration as well as the amount of heat that is generated. Figure 1.1 shows the
equilibrium surface temperatures for a NASA hypersonic vehicle concept for sustained flight
of Mach 8 at 88,000 ft [15]. The figure shows elevated temperatures at nose and wing
leading edges.
Figure 1.1 : Equilibrium surface temperatures for a NASA hypersonic
vehicle concept for sustained flight of Mach 8 at 88,000 ft.
2
A major challenge is the selection of materials and design of structures that can
withstand the aerothermal loads of high-speed flight. Aerothermal loads exerted on the
external surfaces of the flight vehicle consist of pressure, skin friction (shearing stress), and
aerodynamic heating (heat flux). Aerodynamic heating is extremely important because
induced, elevated temperatures can affect the structural behavior in several detrimental ways.
Thermal stresses are introduced because of restrained local or global thermal expansions or
contractions as explained by Thornton [15]. TPS protects the entire spacecraft from these
extreme thermal and acoustic loads [5]; its survival from these extreme conditions is critical
to the safety of the mission. Hence, an optimal TPS design for a spacecraft operating in
extreme environments of thermal and acoustic loading is of significant importance for
today’s space missions.
Thermal Protection System (TPS) of a space shuttle orbiter can be classified based on
the types of materials used for the design, they are: Flexible External Insulations (FEI),
Surface Protected Flexible Insulation (SPFI), Ceramic Matrix Composites (CMC), and
Metallic.
Flexible External Insulations (FEI)
Materials used for FEI are ceramic, silica, sewing threads, microfiber fleeces felts etc.
They are used on surfaces with limited aerodynamic or mechanical loads. The materials can
withstand a temperature range of 300 0C – 1200
0C.
Surface Protected Flexible Insulation (SPFI)
SPFI is composed of a FEI-type blanket covered by thin ceramic sheet plate. SPFI is
used on surfaces with higher aerodynamic or mechanical loads and it can withstand
temperature range of 300 0C – 1200
0C.
3
Ceramic Matrix Composites (CMC)
CMC is made of Carbon and Silicon Carbide and used in the regions of high thermal
loads until 1600 0C.
Metallic TPS
Ti-Al alloys are used in the design of Metallic TPS, the alloys can withstand a
temperature range of 300 0C to 1200
0C.
A curved Metallic Thermal Protection System has wide application for the
installation on a space shuttle orbiter to fit onto the outer surface of the vehicle structure.
Figure 1.2 shows the conceptual positioning of a metallic thermal protection system on the
body of a space shuttle orbiter, which needs a curvature in the panel.
Figure 1.2 : Positioning of Various TPS panels on a Space Shuttle Orbiter [12]
C/SiC - Ceramic Matrix Composite TPS
SPFI - Surface Protected Flexible Insulation
ULTIMATE - Metallic Thermal Protection System
A successful TPS design will not only maintain the underlying vehicle structure
within acceptable temperature limits, but must also be lightweight, durable, operable, cost-
effective, and re-usable [4]. The main disadvantage of metallic TPS is its weight, so it is
important to keep the weight of the metallic TPS as low as possible. Therefore, the goal of
4
this research is to find the optimum topology of a curved TPS panel, which has less weight
that can withstand acoustic and thermal loads. Future Space vehicles are planned with no
Thermal Protection System, i.e., the outer structure of the space vehicle will also act as a
thermal protective layer. Hence, current research for the design of TPS is concerned with
using Metallic Thermal Protection System because of its easier replacement and maintenance
costs. Its inherent durability, ductility, and design flexibility lowers its maintenance costs
significantly compared to other TPS systems. Inconel 693 [11], which is an alloy of Ni, Cr
and Al, is chosen for the design of Thermal Protection System. Inconel 693 demonstrates
appreciable material properties even at elevated temperatures, and it shows good corrosion
resistance and low thermal conductivity.
Topology optimization of solid structures involves the consideration of various
parameters, such as the number, location, and shape of holes and the connectivity of domain.
In short, it is the determination of the points in the design domain, whether it is a material
point or the void (no material). There are various methods for performing the topology
optimization, such as the Homogenization method [3], [14], Density-based method [20],
Evolutionary Structural Optimization method [1], and Bi-directional Evolutionary Structural
Optimization method (BESO) [4]. ESO method is chosen for the current research because of
the following advantages:
1) It is a hard-kill method and is easy to implement stress and displacement based
constraints.
2) It can be easily integrated with any commercial packages.
3) It can be used for nonlinear problems considering large deformation.
4) Topology design of a structure undergoing dynamic load conditions can be performed.
5
The optimization by ESO method is performed by deriving control parameters based
on the objective, such as increasing the load carrying capacity of the structure or driving the
natural frequency to the target level.
1.1 Background
Various topology optimization algorithms were developed in the literature to
determine optimal distribution of material in the design domain. Broadly topology
optimization will be classified into two types: continuous and discontinuous approaches. In
continuous approach, an element can appear or disappear at a particular point during the
evolution, but in discontinuous approach a deleted element will never reappear and it is
termed hard-kill method. Density-based methods and homogenization methods fall under
continuous approach, and the ESO method is classified as a discontinuous approach. In a
conventional design process, topology optimization is followed by shape and size
optimization. Different types of topology optimization techniques used are further described
here:
1) Density-Based method
2) Homogenization method
3) Evolutionary Structural Optimization Method (ESO)
1.1.1 Density-Based Method
The material properties such as young’s modulus and density of each finite element
are varied to obtain the desired objective in a density-based method. A heuristic relationship
is constructed between the design variable X and the material properties [20]. For example
6
Where
)(XE - Young’s modulus
0E - Initial Young’s modulus
)(Xρ - Density
0ρ - Initial density
X - Topology design variables which represent volume fraction
minT - Minimum value of the topology design variable
A - Real value supplied by user (typically: 2.0~3.0)
B - Real value supplied by user (typically: 0.0~1.0)
The optimization routine is executed to minimize the objective function; hence, the
design variable values X , at the end of the optimization routine, indicate presence or absence
of the particular finite element. The value of X could not be equal to 0.0 to avoid singularity
of the stiffness matrix; hence, elements which have X values nearly equal to 0 are removed.
1.1.2 Homogenization Method
In the homogenization approach, topology optimization is built around the
employment of composite materials as an interpolation of void and full material. Introducing
composites as part of a solution method in topology design, one has to deal with a number of
aspects of materials science and, specifically, methods for computing the effective material
parameters of composites. Homogenization method deals with the limits on the possible
effective material behavior and gives information on the optimal use of local material
(1.1)
(1.2)
0 0( ) (1 ) AE X E A E B X= + −
0
min
( )
1.0
X X
T X
ρ ρ=
≤ ≤
7
properties, such as orientation of an orthotropic material, layup of laminates, and
parameterization of stiffness tensor.
Introducing a composite material consisting of an infinite number of infinitely small
holes periodically distributed through the base material, the topology problem is transformed
to the form of a sizing problem where the sizing variable is the material density. The density
of material is, in itself, a function of a number of design variables which describe the
geometry of holes at the micro level, and these variables are optimized. Hence, one spatial
point or mesh element will have more than one design variable. To obtain “classical” designs,
explicit penalties on the density are typically needed to steer the design to a 0-1 format, i.e.,
void or material.
In the homogenization approach, the design of continuum structures relies on the
ability to model a material with microstructure. The composite porous medium consists of
many such cells, infinitely small and repeated periodically through the medium. In the
implementation of the homogenization approach to design a structure with composites, the
same flow of computations is used as isotropic materials. For example
Geometric variables angles , ,....... ( ),Lα β ∞∈ Ω angle ( ),Lθ ∞∈ Ω
Young’s modulus, )),(),.......,(),(()(~
xxxExE ijklijkl
θβα=
Density, ,),.......)(),(()( xxx βαρρ =
( ) ;0 ( ) 1,x d V x xρ ρΩ
Ω <= <= <= ∈ Ω∫
The density of material, ρ , is a function of a number of design variables that describe
the geometry of the holes at the micro level, and these variables are optimized. Topology
(1.4)
(1.3)
8
optimization using homogenization approach can be used to minimize the compliance. The
geometric representation of the design variables is shown in Figure 1.3.
1.1.3 Evolutionary Structural Optimization (ESO) Method
Evolutionary Structural Optimization (ESO) method is one of the discontinuous
approaches for topology optimization. ESO method can be employed to solve many kinds of
problems of size, shape, and topology. It is based on the simple concept of evolution, where
by slowly removing inefficient material from a structure, residual shape evolves towards an
optimum [1]. The main advantage of ESO is that the optimality constraints can be based on
stress, stiffness, frequency, or buckling. The inefficient elements are selected by deriving a
γγγγ
µ
x2
θθθθ
x1
y1 x2
Composite material
Scale1: Rank-1 material
Scale2: Rank-2 material
Figure 1.3 : Geometric Representation of Design Variables Given in Equation 1.3
9
control parameter or sensitivity number for each finite element in the model. The control
parameter value is based on the type of topology optimization problem to be solved. For
example, control parameters for frequency, buckling, and static problems are calculated
separately for each finite element. ESO method is based on the fully stressed design concept.
The flow of a general ESO algorithm looks similar to figure 1.4.
Figure 1.4 : Conventional ESO algorithm
Fine meshed initial structure
Analysis
Remove inefficient elements
Are constraints violated?
End
YES
NO
Determine the Control Parameters for each finite element
10
1.1.4 Bi-directional Evolutionary Structural Optimization Method (BESO)
Bi-directional Evolutionary Structural Optimization Method is similar to that of ESO
method except that it allows elements to be added, and also to be removed from the structure,
to evolve towards an optimum. During the addition process, virtual elements are considered
around the actual elements; the virtual elements, which give good characteristics for the
structure, will be converted to an actual element in the next iterations. For example, the
control parameter for addition process for an eigenvalue maximization can be derived using
the following equations. Rayleigh quotient is given as in Equation 1.5:
Change in Rayleigh quotient is given by:
,i lλ∆ is considered as the dynamic control parameter for the addition process in the
frequency maximization problem. The ith
eigenvalue would be increased by adding the lth
element that has the highest positive ,i lλ∆
Similarly, for the removal process
,i lλ∆ - Change in Rayleigh quotient for ith mode
and lth element
,,
i l iT E - Local & Global kinetic energy
, ,i l iS L - Local & Global strain energy
i
lii
lii
liTE
SLλλ −
+
+=∆
,
,
,
,
,
,
i i l
i l i
i i l
L S
E Tλ λ
−∆ = −
−
(1.5)
(1.7)
i
i
iE
L=λ
(1.6)
11
The ith
eigenvalue would be increased by removing the lth
element that has the
highest positive ,i lλ∆ , as in Equation 1.7.
1. 2 Research Approach
The main objective of this investigation is to implement topology optimization
algorithm using Evolutionary Structural Optimization in the commercial nonlinear solver in
order to minimize the weight of a curved Thermal Protection System panel subjected to
reentry heat and to maintain the fundamental natural frequency of the thermally loaded
structure above the acceptable range. Two types of control parameters are used for the
topology design: static control parameter keeps the maximum thermal stress below the yield
stress and dynamic control parameter maintains fundamental natural frequency of the
structure above a certain value. The former is derived by performing structural analysis in the
presence of transient thermal loads; the latter is derived by performing combined modal and
structural analysis. Conduction heat transfer analysis is performed to obtain the temperature
profile in each time step. The temperature profile is applied on the structural model to obtain
thermal stresses by performing sequentially coupled thermal-structural analysis [9]. The
implementation of ESO in ABAQUS is checked first by solving benchmark topology
optimization problems before applying it to the TPS model. The main goal for the
implementation of ESO in ABAQUS is to perform topology optimization based on the
nonlinear analysis to capture large deformation. The modified ESO algorithm is coded in
Python script [8], [17] and integrated with ABAQUS, since heavy thermal stresses during the
re-entry drives TPS panels to exhibit large deformation which can be captured by performing
nonlinear analysis. The project flow can be explained from the following flowchart:
12
Figure 1.5 : ESO Design Approach
Develop finite element model of the initial
structure with boundary conditions
Derive static control parameter
Perform combined modal and structural
analysis
Apply transient thermal loads to simulate
the re-entry condition
Perform structural analysis
Derive dynamic control parameter
Obtain combined control parameter by combining static
and dynamic responses with weighting factors
Remove inefficient elements from the design domain
based on combined control parameter
13
2. Theory Behind Evolutionary Structural Optimization
2.1 Derivation of Dynamic Control Parameter
Dynamic control parameter is used to improve the dynamic characteristics, i.e., the
fundamental natural frequency of the structure during evolution. Improvement of the
fundamental natural frequency in the design has many applications in the aircraft and space
structures. The dynamic control parameter used for the removal process in the conventional
ESO algorithm in Equation 1.7 can also be written in the form following Equation 2.2. As
explained earlier Equation 1.7:
,i i lE T , - are the global and local kinetic energy
,i i lL S , - are the global and local potential energy
The global and local kinetic and potential energy terms can be expressed as :
, ,
, ,2
Te e e
i l l i l
i l
KS
Φ Φ =
[ ] 2
,,
,
e
li
e
l
Te
li
li
MT
ΦΦ=
[ ]
[ ]
, ,
,
, ,
2 2
2 2
T Te e e
i i i l l i l
i l iT Te e e
i i i l l i l
K K
M Mλ λ
Φ Φ Φ Φ −⇒ ∆ = −
Φ Φ Φ Φ −
[ ] ,
2
T
i i
i
KL
Φ Φ=
Substituting Equation 2.1 in 1.5
,
,
,
i i l
i l i
i i l
L S
E Tλ λ
−∆ = −
−
[ ] ,
2
T
i i
i
ME
Φ Φ=
[ ] [ ] [ ] [ ] i
e
li
e
l
Te
lii
T
i
e
li
e
l
Te
lii
T
i
li
MM
KKλλ −
ΦΦ−ΦΦ
ΦΦ−ΦΦ=∆
,,
,,
,
(2.1)
By Simplifying
14
- is the dynamic control parameter to increase ith
natural frequency for the lth
element.
i
m - is the modal mass
- is the ith
natural mode of the lth
element
[ ]l
K ,[ ]l
M - are stiffness and mass matrices of the lth
element
Elements with low values of
of this conventional dynamic control parameter are.
1) Not easy to implement in commercial packages, since it requires element mass and
stiffness matrices.
2) No direct consideration of modal stiffness; hence, smooth change in the natural frequency
is not assured in the evolution.
3) Hard to apply for analysis involving nonlinearity.
2.2 Derivation of Modified Dynamic Control Parameter
The limitation of the conventional dynamic control parameter can be handled by the
modification developed by Kim et al.[4]. According to earlier briefing in Section 2.1,
dynamic control parameter is used to increase any interested natural frequency during
evolution. Kim et al., uses modal stiffness of each finite element as the dynamic control
parameter, and this can be easily derived using any commercial packages. The contribution
[13] are removed from the structure. Limitations
, ,
,
, ,
Te e e
i i i l l i l
i l iTe e e
i i l l i l
m K
m M
λλ λ
− Φ Φ ⇒ ∆ = − − Φ Φ
[ ] [ ] [ ] e
li
e
l
Te
lii
e
li
e
l
Te
liiii
e
li
e
l
Te
liii
li
Mm
MmKm
,,
,,,,
,
ΦΦ−
ΦΦ+−ΦΦ−=∆
λλλλ
[ ] i
T
ii Mm ΦΦ=
( ) , ,
1 Te e e e
i i l i l l i l
i
M Km
λ λ ∴∆ ≈ Φ − Φ (2.2) l
iα=
l
iα
l
iΦ
l
iα
Let
15
of each finite element towards modal stiffness of the whole structure is calculated and least
contributing elements are removed from the structure. The steps involved in deriving this
modified dynamic control parameter are shown in Figure 2.1. The modal stiffness of each
finite element is calculated by creating virtual von Mises Stress due to the displacement of
interested natural mode.
Figure 2.1 : Derivation of Modified Dynamic Control Parameter
2.2.1 Equate Modal Displacement to Spatial Displacement
The general equation of motion can be written as:
where
][M , ][K - are the global mass and stiffness matrices
x - is the spatial displacement
)(tF - is the force vector, expressed as
ik - is the modal stiffness
im - is the modal mass
Equation of Motion
Compute spatial displacements in modal coordinates
Equate the spatial displacements to mass-normalized mode shapes (To show mass-normalized mode shapes can be used as
displacement)
Calculate von Mises stress (dynamic control parameter) from stress-strain relationship
)(][][ tFxKxM =+&&
tjeFtF ω=)(
(2.3)
16
m - No. of nodes x No. of d.o.f
Equation 2.3 can be expressed in modal coordinates as:
For a static problem Equation 2.3, the spatial displacement x can be expressed as
By simplifying Equation 2.4 we get:
][]][[ 1Fkx
T
i ΦΦ= −
Here, ),...,(][ 1 Ni kkdiagk =
.......[][ 1 Ni ΦΦΦ=Φ ]
1Φ - Mode shape column vector
N - Number of natural modes considered
By Substituting force vector in Equation (2.5), x becomes:
Since mass-normalized mode shapes are orthogonal to the stiffness matrix,
substituting and in Equation (2.5) we get:
iKF Φ= ][
[ ] [ ] [ ] [ ] [ ]
1
1
1
1
1
][
][
][
][
nxi
T
N
i
T
i
i
T
nxnimxnmximxm
T
nxmnxnimxn
K
K
K
kKkx
ΦΦ
ΦΦ
ΦΦ
Φ=ΦΦΦ=−−
M
M
0][ =ΦΦ j
T
i K ii
T
i kK =ΦΦ ][
[ ] [ ]
1
1
0
0
nx
inxnimxn kkx
Φ=−
M
M
[ ]
1
1
0
0
/10000
0000
00/100
0000
0000/1
nx
i
nxnN
imxn k
k
k
k
x
Φ=
M
M
O
O
(2.5)
(2.6)
(2.7)
[ ] [ ][ ] [ ] [ ][ ] [ ] [ ] ( )T T TM x K x F tΦ Φ + Φ Φ = Φ Φ&& (2.4)
[ ] [ ]
[ ] [ ][ ]
T
T
Fx
K
Φ Φ=
Φ Φ
17
It can be proved that mass normalized modal displacements can also be considered as
spatial displacements for the force vector rF . From the modal displacements can be
corresponding strains, and stress vector are calculated by simple strain-displacement, and
stress-strain relationship.
2.2.2 Calculation of Modified Dynamic Control Parameter
von Mises stress for each element can be calculated by resultant of principal and
shear stresses. This von Mises stress is nothing more than the representation of modal
stiffness of each finite element towards interested natural frequency:
are normal stresses and are shear stresses, respectively,
of the lth
element in x, y, and z directions. This control parameter is used to remove the
elements based on their stress level (i.e., elements with minimum are removed from the
structure).
[ ]
10
1
0
nx
mxnx
Φ=
M
M
( )1
1
0
1
0
i N mxn
nx
= Φ Φ Φ
M
L L
M
1mxiΦ=
ix∴ = Φ
[ ]r i
Hence F K is true = Φ
(2.8) 2 2 2 2 2 2
, , , , , , , , ,
1( ) ( ) ( ) 6( )
2
vm
dl x l y l y l z l z l x l xy l yz l xz lσ σ σ σ σ σ σ τ τ τ= − + − + − + + +
, , ,x l y l z lσ σ σ, , , , ,, ,xy l yz l xz lτ τ τ
18
2.3 Implementation of Modified Dynamic Control Parameter in ABAQUS
The dynamic control parameter can be derived using any commercial package to
perform the topology optimization without accessing the stiffness and mass matrices directly
as it was done in conventional ESO methods. The framework discussed here is
implementation of topology optimization in a well-known non-linear solver, ABAQUS. The
finite element model of the design domain is created with the prescribed boundary
conditions; modal analysis is performed on the model to obtain ‘n’ number of natural
frequencies and mode shapes. The mass normalized modal displacements are read from each
nodal point and reapplied on the model to perform structural analysis. Mode shape vectors or
are applied on the structural model to obtain the von Misses stress for each element at the
‘Centroid.’ This corresponds to the dynamic control parameter mentioned in Equation 2.7.
Since at the time of structural analysis execution no matrix inversion was involved, less cost
(time) is involved in that process. During each iteration only one modal analysis is performed,
which involves a matrix inversion. When there is a large deformation in the structure due to
thermal loads, just the linear modal analysis will be substituted by a non-linear eigenvalue
solver like the Newton-Raphson method, and the same steps will be followed to derive the
dynamic control parameter.
19
2.4 Derivation of Static Control Parameter
Static control parameter is used for the stress-based design. One of the most
frequently used is von Misses stress criteria. The stress level at each element can be
measured by an average of all the stress components. Von Misses stress has been one of the
most frequently used criteria for isotropic materials.
)(6)()()(2
1,
2,
2,
22
,,
2
,,
2
,, lxzlyzlxylxlzlzlylylx
vm
sl τττσσσσσσσ +++−+−+−=
(2.9)
Perform structural analysis with modal displacement
boundary conditions
Create the Finite Element model for the design domain, apply
the boundary conditions, and mark the unremovable region
Perform modal analysis and obtain mass normalized
fundamental natural mode shapes
Apply the modal displacements as displacement boundary
conditions on each node of the model
Obtain the dynamic control parameter, ( vm
dlσ ) , for each finite
element as in equation 2.7 at ‘Centroid’
Extract mass normalized modal displacements from
modal analysis
Figure 2.2 : Implementation of Modified Dynamic Control Parameter in ABAQUS
20
are normal stresses and are shear stresses, respectively,
of the lth element in x, y, and z directions. This control parameter is used to remove the
elements based on their stress level (i.e., elements with minimum are removed from the
structure). Static control parameter is used to arrive at the fully stressed design [16] during
evolution. At the end of evolution using static control parameter, all the finite elements have
approximately uniform stress distribution.
Topology optimization using this static control parameter is successfully
demonstrated for combined thermal and structural loads by Li et. al.. Kim et al. demonstrated
ESO algorithm in thermal problems by removing gradually lowly-stressed material from the
structure, while evolving towards optimum.
Apply boundary conditions and loads on the structure
Compute von Mises stress of each finite element at the “Centroid”
Calculated von Mises stress is the static control parameter for obtaining fully stressed design using ESO
Remove minimum stressed elements from the structure
Figure 2.3 Frame Work for the implementation of Static Control parameter in ABAQUS
Model fine meshed initial structure
, , ,x l y l z lσ σ σ, , , , ,, ,xy l yz l xz lτ τ τ
vm
slσ
21
2.5 Frame Work for the Implementation of Combined Control Parameter in ABAQUS
A fine meshed structure is modeled in ABAQUS. Two types of models are generated,
one for thermal analysis with heat transfer elements (1-dof) and the other for structural
analysis with 3-D solid elements (3-dof). The transient thermal loads simulating reentry of
the spacecraft orbiter into Earth’s atmosphere are applied as time-dependant temperature
boundary conditions at each node on the upper surface of the TPS panel. Transient heat
transfer analysis is performed in ABAQUS only by considering conduction mode of heat
transfer. This type of methodology is proved to be more conservative in simulating the re-
entry condition, compared to the application of surface heat flux as shown by Blosser [7].
The nodal temperature data are read from the output file of heat transfer analysis, and
are applied on the structural model as a temperature field. Since stress depends on the
temperature field and temperature field is not dependent on the stress, this mode of analysis
is called sequentially coupled thermal-structural analysis. The von Mises stress derived for
each element at this point is the Static Control Parameter.
Modal analysis is performed on a thermally loaded structure. The fundamental natural
frequency is checked for the occurrence of local mode. If there is a sudden drop in
fundamental natural frequency, the local mode prevention algorithm, as explained in Figure
2.4 is applied. The elements exhibiting local mode are inspected and removed from the
structure. The mass normalized mode shapes extracted from the output of modal analysis are
re-applied on the structural model with the temperature field; static structural analysis is
performed to obtain the von Mises stress of each element, and it is the dynamic control
parameter.
22
The static and dynamic control parameters [19] are normalized and combined
together with their respective weighting factors, as shown in Equation 2.9.
C W R W Rs ds d= +
Here, Ws,W
d are weighting factors for static and dynamic control parameters
Rs , Rd are normalized static and dynamic control parameters
C is the combined control parameter for each element. Weights given to each control
parameter indicate the weights given to static and dynamic control parameters in the
evolution. So far, topology optimization using ESO method for thermal structures is
performed by considering lowly stressed elements as inefficient, i.e., by removing elements
with low static control parameter, which is not true for thermal structure for reducing thermal
stresses. When elements with high thermal stresses are removed from the structure during
evolution, it might help in reducing the maximum thermal stress, since this will allow free
thermal expansion. Hence, in Equation 2.9 by substituting Ws= -1 and W
d= 1, and removing
the elements with minimum C value, leads to removal of elements with maximum thermal
stress to move towards optimum. This might show a considerable reduction in the maximum
thermal stress during evolution. After deriving the combined control parameter for each
finite element, checkerboard filter is executed through the whole structure to avoid the
formation of checkerboard as explained in Section 2.6.
The flowchart for the implementation of the evolution using combined control
parameter is shown in Figure 2.4.
(2.10)
23
Start with the initial model
Perform heat transfer analysis using
transient thermal boundary condition
Obtain von Mises stress from the results
of the structural analysis, which is the
Static Control Parameter (vm
slσ )
Apply temperature field from heat
transfer analysis onto the structural
model and perform structural analysis
If
Vol < minVol
Perform modal analysis on the deformed
model to extract mass-normalized mode
shapes for interested natural mode
No
Stop
Check for the occurrence of elemental
local mode; if so use algorithm in Figure
2.9
Read the mass-normalized mode shape
vector of interested natural mode and
apply on each node, with temperature
field, followed by structural analysis
Vol - Volume of the structure in current iteration
Volmin -Minimum volume required for the structure
Yes
Figure 2.4 : Frame Work for the Implementation of Combined Control Parameter in ABAQUS
Remove elements with low value of the
combined control parameter ‘C’
Combine the static and dynamic control
parameter by the equation
C W R W Rs ds d= +
Run Checkerboard filter as explained in
Section 2.6 to avoid the formation of
checkerboard in the evolution
Obtain von Mises stress from the results
of the structural analysis, which is the
Dynamic Control Parameter ( vm
dlσ )
24
2.6 Problems Occurred in the Evolution
Most frequent problems that occurred during the evolution of optimum topology
using ESO are the formation of checkerboard pattern, occurrence of local mode in the
unremovable region, and occurrence of elemental local mode. Various algorithms for the
prevention of these troubles are discussed.
2.6.1 Checkerboard Prevention Algorithm
Checkerboard [2] is referred to as the phenomena of alternating presence of solid and
void elements ordered in a checkerboard-like fashion. The formation of a checkerboard
pattern is the common phenomenon in shape and topology optimization processes. Though
the origin of checkerboard pattern is not fully understood, the hypothesis is that the structure
with checkerboard pattern appears to be numerically stiff, which is not a practical possibility.
A simple example for checkerboard can be given from the following example; the stiffness of
a uniform grid of square Q4 elements in Figure 2.6 is numerically equal to the stiffness of
half the thickness of square plate in Figure 2.5.
Figure 2.5: Solid Square Plate Figure 2.6: Uniform grid of square Q4 elements
25
There were various algorithms formulated to arrest the formation of checkerboard.
One way to reduce it is by using higher order elements. Li et al.[2] developed a checkerboard
prevention filter by an average over the element itself and its surrounding direct neighbors.
The reference factor at each node is calculated by averaging the elements connecting
to the node:
∑=
=n
i
ikn 1
1αα
Where n - number of elements connected to the k-th node.
iα - is the reference factor for ith
node (can be von Misses stress)
The reference factor for each element will be calculated by averaging the reference
factor of each node corresponding to that particular element.
A sample run is performed to determine the validity of the checkerboard algorithm. A
2-D, 50 x 25 x 0.1m Aluminum Mitchell structure which is fixed at two corners is chosen
and a central pointed load is applied. The initial structure is meshed into 800 finite elements.
The structure evolves towards optimum by removing minimum stressed elements. 8 elements
are removed in each iteration. Element removal is stopped until the total number of finite
elements in the structure equals 200.
(2.11)
26
Figure 2.5 : Initial Structure for Checkerboard Check
Figure 2.6 : Final Structure Without Checkerboard Filter
27
2.6.2 Occurrence of Local Mode in the Evolution Process
During evolution, local mode occurs when finite elements are connected only to one
node and free at all other nodes. At that time the natural frequency in the modal analysis
drops to a very low value, due to the presence of local mode for that element. These
rotational elements have to be removed during evolution to maintain the natural frequency of
the structure. The algorithm to remove the rotational elements from the structure is as
follows: in each iteration, fundamental natural frequency is checked for its sudden drop
(<Nmin); if it does so, the absolute sum of modal displacement of each node is checked for
all finite elements, and if this value is greater than 1, those elements are considered as
rotational elements and are removed from the structure. The general algorithm for the
prevention of local mode can be explained in Figure 2.9.
Figure 2.7 : Final Structure with Checkerboard Filter
28
Figure 2.9: Algorithm to Handle Elemental Local Mode in the Evoluion
Perform modal analysis, extract fundamental natural frequency and mass-normalized modal
displacement
Is first natural Frequency <
Nmin
Yes
No
Find the modulus of modal displacement of all Nodes for each finite element
Delete the elements with modulus>1; these are the rotational elements in the structure
Elemental local mode
Figure 2.8 : Occurrence of Elemental Local Mode
29
2.6.3 Occurrence of Local Mode due to the Presence of Unremovable Region
If the mesh density of the frame region is the same as that of the support region or if
the frame region has coarse mesh, it leads to the formation of local mode in the unremovable
region, which may also lead to a sudden drop of fundamental natural frequency. To avoid
this phenomenon, topology optimization begins with dense meshed TPS, at least at the frame
region, since increasing mesh density of the whole design domain will consume more time
for each iteration. The increase of mesh density in the frame region will postpone the
occurrence of local mode in the evolution. Figure 2.10 shows the initial model and Figure
2.11 shows the modified frame region to avoid local mode in unremovable region for
proceeding with topology optimization.
Unremovable region
Frame region
Support region
Figure 2.10 : Initial Model without Dense Mesh in Frame Region
30
Frame region
Unremovable region
Fixed Corners
Support region
Figure 2.11 : Modified Initial Model to Avoid Local Mode at Unremovable Region
31
3. Design of a Curved Thermal Protection System Panel
A curved TPS panel shown in figure 2.12 is designed using ABAQUS. The top layer
is considered unremovable or non-designable region and the other layers, i.e., support, are
considered design regions. Inconel 693 is an alloy of Ni, Cr and Al is used for designing the
Thermal Protection System. Inconel 693 [11] with temperature dependant properties Young’s
Modulus as in Table 3.1, Coefficient of thermal expansion in Table 3.2, thermal conductivity
as in Table 3.3, density 7,770 Kg/m3 , and Poisson’s ratio 0.32 is used. The frame region is
densely meshed to avoid the local mode of the un-removable region. Twelve elements are
removed in all case studies in every iteration. The number of elements in the unremovable
region is 256; the number of elements in the frame region is 1024; and the number of
elements in the support region is 1536, which is the same for both structural and thermal
model.
Body of the Space Shuttle
Curved Thermal Protection System
Frame region
Un-removable region
Fixed Corners
Support region
Figure 3.3 : Initial Model
32
3.1 Loads on TPS
Thermal Protection System is subjected to transient thermal loads and acoustic loads
at the time of its re-entry into the earth’s atmosphere. The transient thermal loads can be
simulated by applying time-dependent temperature boundary conditions as shown in Figure
3.1, and it will be stable to acoustic vibration if the fundamental natural frequency of the
TPS panel is kept above the frequency of acoustic excitation (i.e., if the fundamental natural
frequency of TPS is designed >900 Hz it will be stable from most of the acoustic loads as
explained in [5]). The temperature-time plot shown in Figure 3.1 is nothing more than the
radiation equilibrium temperature, measured at the surface of the panel during the re-entry of
the space shuttle [7]. Transient conduction heat transfer analysis is performed, for thermal
load as shown in Figure 3.1.
Figure 3.1 : Temperature and Time History During Re-entry
°F
Time (sec.)
33
3.2 Material Properties of Inconel 693 at Elevated Temperatures [11]
Material properties such as modulus of elasticity, coefficient of thermal expansion,
thermal conductivity and specific heat changes with temperature. These changes should be
taken into account while performing thermal, structural and modal analyses. ABAQUS has
the capability of incorporating this temperature-dependent data into the model for
constructing the mass, stiffness, and thermal conductivity matrices. The changes in material
properties with temperatures are tabulated below.
Transient thermal load
Figure 3.2 : Heat Transfer model of TPS with Transient Temperature Boundary Condition
34
Temperature
(0C)
Modulus of
Elasticity
(GPa)
21 196
100 194
200 188
300 180
400 172
500 165
600 157
700 148
800 137
Table 3.1 : Variation of Modulus of Elasticity with Temperature
Temperature
(0C)
Thermal
Conductivity
(W/m 0C)
Coefficient of
Expansion
(µm/m/0C)
21 9.1 13.04
100 10.7 13.61
200 12.6 14.05
300 14.2 14.42
400 16.1 14.80
500 17.8 15.22
600 19.5 16.32
700 21.6 17.01
800 22.8 -
900 23.6 -
1000 25.2 -
1100 26.8 -
1150 27.5 -
Table 3.2 : Variation of Thermal Properties with Temperature
35
Temperature
(0C)
Specific Heat
(J/Kg 0C)
23 455
100 484
200 505
300 525
400 548
500 560
600 579
700 598
800 616
900 642
1000 662
1100 674
1150 678
Table 3.3 : Variation of Specific Heat With Temperature
3.3 Sequentially Coupled Thermal-Structural Analysis
A sequentially coupled thermal-structural analysis is used to capture thermal stresses
from the model. In a sequentially coupled thermal-stress analysis, the stress field in a
structure depends on the temperature field, but the temperature field can be found without
knowledge of stress response. It is usually performed by conducting an uncoupled heat
transfer analysis and a stress analysis.
3.3.1 Theory Behind Uncoupled Heat Transfer Analysis in ABAQUS [10]
Uncoupled heat transfer analysis is intended to model solid body heat conduction
with temperature-dependent conductivity, including internal energy, convection, and
radiation boundary conditions. It starts with basic energy balance, boundary conditions, finite
element discretization, and a time integration procedure. The basic energy balance equation
by Green and Naghdi is given by:
36
V S V
U d V q d S r d Vρ = +∫ ∫ ∫&
Where V is a volume of solid material, S is Surface area, ρ is the density of the
material, U& is the time rate of the internal energy, q is the heat flux per unit area of the body,
and r is the heat supplied externally into the body per unit volume.
C(T)=dU/dθ
Heat conduction is governed by the Fourier law; hence, heat flux f at position x can be
expressed as f kx
θ∂= −
∂, where k is conductivity matrix and is written as: k=k(θ ).
Energy balance Equation 3.1 can be combined with fourier law and obtained directly
by standard Galerkin approach as
. .V V S V
U dV k dV qdS rdVx x
δθ θρ δθ δθ δθ
∂ ∂+ = +
∂ ∂∫ ∫ ∫ ∫&
The body is approximated geometrically with finite elements; the temperature can be
interpolated in terms of shape function as
( )N NN xθ θ=
N NNδθ δθ=
The Galerkin approach assumes that variational field, δθ , is interpolated with same
functions; by substituting Equation 3.3 in Equation 3.2,
. . N
N N N N
V V S V
NN U dV k dV N qdS N rdV
x x
θδθ ρ δθ
∂ ∂+ = +
∂ ∂ ∫ ∫ ∫ ∫&
The backward difference algorithm for time integration is given by
( )(1 / )t t t t t
U U U t+ ∆ + ∆
= − ∆&
(3.1)
(3.3)
(3.2)
(3.4)
(3.5)
37
By substituting Equation 3.5 in Equation 3.4, the new temperature at each node can
be obtained in each time step by solving single equations. Consequently, since Equation 3.4
can be written in a linear form, the convergence is fast.
3.3.2 Superimposing Thermal Load from Heat Transfer Analysis on the Structural Model
These nodal temperatures are stored as a function of time in the heat transfer results
file. The temperatures are read into stress analysis as a predefined field; the temperatures
vary with position and time. These temperatures are interpolated to the calculation points
within the elements of the structural model. The structural model uses the temperature
dependent Young’s modulus and the coefficient of thermal expansion for the mass and
stiffness matrices. Mesh and node numbers in the heat transfer model should coincide exactly
with the structural model for superimposing the thermal output from the heat transfer
analysis onto the structural model.
38
4. Case Studies
Two representative case studies are performed to compare the implementation
of topology optimization in ABAQUS with benchmark solutions. The case studies following
these representative studies are the actual implementation of the Curved Thermal Protection
System.
4.1 Case Study 1
An aluminium plate of dimensions 0.15 x 0.1 m is discretized as shown in figure 4.1.
The plate is fixed at two corners on its diagonal. Young’s modulus is 70 GPa, Poisson’s ratio
is 0.3, thickness is 0.3 m, and density is 2700 Kg/m3. The plate is divided into 1350 plane
stress quadrilateral elements. Only eight elements are removed in each iteration at the end of
each finite element analysis. As mentioned earlier, only the fundamental natural frequency is
considered for improvement.
Initial fundamental natural frequency of the structure is 2441.5 Hz. After 85 iterations,
and a 50% removal (i.e., when the number of elements in the structure is 662), the natural
frequency is increased from 2441.5 Hz to 3388.2 Hz. The natural frequency and shape of the
plate after 85 iterations are approximately the same as obtained by Xie and Steven [13] using
conventional dynamic control parameter. The increase in the fundamental natural frequency
during evolution is shown in Figure 4.3.
39
Figure 4.1 : Initial Structure
Figure 4.2 : At the end of 85 iterations, the fundamental
natural frequency is 3388.2 Hz.
40
4.2 Case Study 2
An aluminium plate of dimensions 50 x 25 x 0.1 m is modeled as shown in Figure 4.4.
Two corners at the lower edge of the plate are fixed. Young’s modulus is 100 GPa, Poisson’s
ratio is 0.3. The plate is divided into 800 plane stress quadrilateral elements. 1000 Pa central
point load is applied on the bottom edge of the plate. Only eight elements are removed in
each iteration at the end of each finite element analysis. Only von Misses stress (i.e., static
control parameter) is considered as the criteria for element removal. The number of elements
in the final structure is 200.
Figure 4.3 : First Natural Frequency Maximization
41
Figure 4.4: Initial Model to obtain fully stressed design
Figure 4.5 : Final Model
42
Figure 4.6 : Change of Max. von Mises stress for the fully stressed design
43
4.3 Case Study 3
Topology Optimization of a Curved Panel Considering only Dynamic Control
Parameters
A curved thermal protection system shown in Figure 2.11 is optimized. Evolution is
performed to increase the dynamic characteristics of the structure while reducing the
structural weight. As explained earlier, finite elements that contribute less to the modal
stiffness compared to modal mass are removed from the structure. Modal displacements are
obtained by performing modal analysis without applying any thermal or mechanical loads.
Then, modal displacements are applied as a displacement boundary condition on the
structural model to obtain the contribution of each finite element towards structural stiffness,
corresponding to the interested natural mode. Hence, by removing the elements with low von
Misses stress value, evolution leads towards the topology with increased fundamental natural
frequency. This case study is performed to maintain the fundamental natural frequency in the
topology optimization by considering only modified dynamic control parameters as
explained in Figure 2.1. Figure 2.11 shows the initial model and Figure 4.7 shows the final
model, where the first natural frequency is considered for improvement. The plot of
fundamental natural frequency vs iteration history shows that initially there is an increase in
the natural frequency when the elements that contribute more to modal mass compared to
modal stiffness are removed; and it decreases when the elements that contribute less to modal
stiffness of the fundamental natural frequency compared to other elements are removed. The
fundamental natural frequency of the space structures should be maintained >900 Hz for its
stable performance in the presence of acoustic loads. The fundamental twisting mode of the
final structure is shown in Figure 4.8. Change of volume and natural frequency during
evolution shown in Table 4.1.
44
Figure 4.7.3 : View (a) of Figure 4.7.1
Figure 4.7 : Final Structure Considering only Dynamic Control Parameter
View (a) View (b) View (c)
Figure 4.7.1 : Isometric View Figure 4.7.2 : View (b) of Figure 4.7.1
Figure 4.7.4 : View (c) of Figure 4.7.1
45
Figure 4.9 : Iteration History Vs First Natural Frequency
Figure 4.8 : Fundamental mode of the Final Structure when Natural Frequency is 465 Hz
46
Volume (m3)
Natural
Frequency
(Hz)
0.06011 908.68
0.04625 1020
0.03839 1023
0.03344 980.4
0.02938 919.91
0.01988 726.89
0.01584 465
Table 4.1 : Change of Volume and Natural Frequency in the evolution
4.4 Case Study 4
Topology Optimization of a Thermally Loaded Curved Thermal Protection System
Considering only Dynamic Control Parameters
A curved thermal protection system, shown in Figure 2.11, is optimized in the
presence of thermal loads. The transient thermal load, as shown in Figure 3.1, is applied to
the upper surface of the TPS for 2700s. A sequentially coupled thermal structural analysis is
performed before beginning modal analysis. The algorithm, as explained in Figure 2.1, is
used to obtain the dynamic control parameter. The weighting factor of static control
parameter, Ws , is set to zero. Topology design is performed to increase the fundamental
natural frequency of the thermally loaded structure, without considering the thermal stress.
Figure 4.10 shows the final model with optimized controlled fundamental natural frequency.
Figure 4.11 shows the change in fundamental natural frequency with the iterations. Change
in volume during the evolution is tabulated with frequency and maximum von Mises stress in
Table 4.2. Figure 4.13 and 4.14 shows the fundamental mode shape and thermal deformation
of the final model.
47
Figure 4.10 : Final Structure of a Thermally Loaded Structure Considering only
Dynamic Control Parameter
View (a) View (b) View (c)
Figure 4.10.1 : View (a) of Figure 4.10.4
Figure 4.10.3 : View (b) of Figure 4.10.4 Figure 4.10.4 : Isometric View
Figure 4.10.2 : View (c) of Figure 4.10.4
48
Volume (m3)
Natural
Frequency
(Hz)
Max. von Mises
Stress
(GPa)
0.06011 908.68 6.58
0.04653 1003.7 5.44
0.03924 1034 5.05
0.03391 986.14 5.92
0.02869 873.68 5.19
0.02432 758.51 3.60
0.01949 591.37 3.25
0.01586 457.89 2.19
Table 4.2 : Change in Volume, Natural Frequency, and Max. von Mises stress in the
Evolution
Figure 4.11 : Natural Frequency Vs Iteration of a Thermally Loaded Structure
49
Figure 4.12 : Iteration vs Max. von Mises Stress
Figure 4.13 : Fundamental mode of the Final Structure when Natural Frequency is 457.89 Hz
50
Since static control parameter is not considered, there is a fluctuation in the maximum
von Mises stress during the evolution. However, there is a overall decrease in the maximum
thermal stress since removal of elements from the structure encourage free thermal expansion,
which in turn reduces thermal stress in the structure.
4.5 Case Study 5
Topology Optimization of a Thermally Loaded Curved Thermal Protection System
Considering both Static and Dynamic Control Parameters
Starting with the initial model as shown in Figure 2.11 and applying transient thermal
loads shown in Figure 3.1., ESO algorithm as shown in Figure 2.4 is applied to find the
optimum topology using combined control parameter as shown in Figure 4.14. Elements
Figure 4.14 : Structural Deformation of the Final Structure in the Presence of Thermal Loads
51
with low value of this combined control parameter are removed from the structure.
Inefficient elements are removed from the structure by combining normalized static and
dynamic control parameters with their respective weighting factors. Static control parameter
is used to remove minimum stressed elements, and dynamic control parameter is used to
remove elements contributing less to the stiffness of first natural frequency. Weighting
factors of both static and dynamic control parameters are assumed to be one in this study.
View (a) View (b) View (c)
Figure 4.15.1 : Isometric View Figure 4.15.2 : View (b) of Figure 4.15.1
52
Figure 4.15 : Final Structure Considering Combined Control Parameter
Volume (m3)
Natural
Frequency
(Hz)
Max. von Mises
Stress
(GPa)
0.06011 908.68 6.58
0.05293 925.59 7.86
0.04459 943.81 7.73
0.03886 864.12 7.52
0.03442 798.53 7.15
0.03077 788.43 6.48
0.02771 738.63 5.85
Table 4.3 : Change in Volume, Natural Frequency and Max. von Mises stress during
evolution
Figure 4.15.4 : View (c) of Figure 4.15.1 Figure 4.15.3 : View (a) of Figure 4.15.1
53
Figure 4.17 : Natural frequency vs Iteration Considering Combined Control Parameter
Figure 4.16 : Iteration vs Max. von Mises Stress Considering Combined Control Parameter
54
Figure 4.18 : Fundamental mode of the Final Structure when Natural Frequency is 738.63 Hz
Figure 4.19 : Deformation of the Final Structure in the presence of Thermal Loads
55
Comparing Figure 4.12 and Figure 4.16, the later shows there is a constant and steady
decrease in the maximum von Mises stress while including static control parameter. By
combining the static control parameter, controls increase in maximum thermal stress at the
early stage. Although there is a significant reduction in the maximum von Mises in the
evolution, more efficient structures with respect to maximum von Mises can be obtained by
removing elements with maximum thermal stress, since it will allow free thermal expansion.
4.6 Case Study 6
Topology optimization of a Thermally Loaded Curved Thermal Protection System
Considering Combined Control Parameter (Removing elements with maximum
thermal stress):
As explained earlier, removing elements with maximum von Mises stress can be
proved more efficient to reduce the thermal stresses in the structure. This can be formulated
in the combined control parameter by using the weighting factor for static, Ws = -1 and the
weighting factor for dynamic as Wd = 1, as shown in Equation 2.9. By removing elements
with low value, this combined control parameter will lead to the removal of elements with
maximum thermal stresses and elements that contribute less to the stiffness of fundamental
natural frequency.
56
Figure 4.20 : Fundamental mode of the Final Structure when Natural Frequency is 993.36 Hz
Figure 4.21 : Deformation of the Final Structure in the presence of Thermal Loads
57
Volume (m3)
Natural
Frequency
(Hz)
Max. von Mises
Stress
(GPa)
0.06011 908.68 6.58
0.05881 915.05 5.75
0.05754 931.77 5.57
0.05651 943.69 6.53
0.05542 946.29 2.35
0.05386 957 1.92
0.04965 993.36 2.08
Table 4.4 : Change in Volume, Natural Frequency and Max. von Mises stress during
evolution
Figure 4.22 : Natural frequency Vs Iteration by Removing Maximum Stressed Element
58
Figure 4.23 : Max. von Mises stress Vs Iteration by Removing Maximum Stressed
Element
Plots as shown in Figure 4.23 and Figure 4.22 give an idea that, there is a significant
reduction in the maximum von Mises stress, even in the early iterations as compared to the
previous case studies. Hence, it can be proved that the removal of elements with high von
Mises stress can evolve towards optimum with appreciable reduction in thermal stresses.
After performing some iterations, structure loses its symmetry because of the local mode in
unremovable region, since more elements are removed near it, hence further study has to be
conducted to maintain the symmetry of the structure, by modifying the combined control
parameter.
59
5. Results and Discussion
Our objective in performing the topology optimization is to reduce the weight or total
volume of the structure by keeping the fundamental natural frequency as high as possible and
maximum thermal stress low. The comparison of case studies is performed at around 900Hz
as shown in the table below
S.No
Types of Control
parameters
considered
Volume of the
structure (m3)
Max. thermal
stress (GPa)
Fundamental
Natural
frequency (Hz)
1
Dynamic control
parameter 0.0278 - 895.49
2
Dynamic control
parameter for a
thermally loaded
structure
0.0295 0.47 892.83
3
Combined control
parameter for a
thermally loaded
structure (removing
minimum stressed
elements)
0.0404 0.77 889.44
4
Combined control
parameter for a
thermally loaded
structure (removing
maximum stressed
elements)
0.0525 0.2 973
Table 5.1 : Comparison of results at 900 Hz
The comparison shows maximum increase in the natural frequency and maximum
reduction in thermal stresses while considering only dynamic control parameters for the
60
element removal. Though static control parameter has appreciable control over the maximum
thermal stresses as shown in Figure 4.16, it doesn’t show significant decrease in the
evolution; hence, static control parameter needs to be revised for thermal structures. This can
be achieved by considering maximum stressed elements for removal. The final case study
shows a design of structure with a rapid reduction in maximum thermal stress and steady
increase in the fundamental natural frequency by considering maximum stressed elements
and elements with low stiffness for the removal. For the topology optimization of structure
with mechanical load, removing minimum stressed elements might be helpful, but it is not
true for the structures dominated by thermal loads. Different methodology has to be followed
for obtaining optimum topology with reduced thermal stresses; this might be obtained by
removal of maximum stressed elements, which allows free thermal expansion and helps in
reducing the thermal stress during the evolution.
61
6. Future work
6.1 Performing Topology Optimization Considering Large Deformation
Dynamic characteristics of a structure i.e., natural frequencies and mode shapes
depends on the temperature and thermal deformation. Young’s modulus will change with
respect to temperature as shown in Table 3.1, which causes a change in the stiffness matrix,
and this correspond to the change in the natural frequency of the structure. When a structure
is subjected to very high temperature like TPS of the space shuttle orbiter, it might undergo
large deformation, at this time a significant change in the natural frequencies and mode
shapes can be observed in the presence of large deformation, and this change can be captured
by performing nonlinear analysis. Hence topology optimization should be performed by
substituting the linear Eigen value analysis by nonlinear analysis, in the deformed model
after computing the large deformation.
6.2 Topology Optimization by Considering Mode-Switching Phenomenon
Mode-switching is the phenomenon in which switching of natural mode occurs with
the structural modification. In the evolution, while removing inefficient elements from a 3-d
structure, mode-switching occurs. When there is a mode-switching between bending and
twisting, elements that will be useful for bending mode might be considered inefficient in the
twisting mode and will be considered for removal, when twisting mode occurs first. Hence a
drastic change in the natural frequency is observed during mode-switching. In order to obtain
an efficient topology design of the structure, it is necessary to consider this mode-switching
phenomenon in the evolution. This can be solved by incorporating Bi-directional
62
Evolutionary Structural Optimization (BESO) algorithm instead of ESO. Figure 6.1 and 6.2
shows the occurrence of mode-switching between bending and twisting modes. First mode is
twisting in 32nd
iteration and first mode is bending in 33rd
iteration, for frequency
maximization problem of the initial model as shown in Figure 2.11.
Figure 6.1: First Twisting mode in 32nd
Iteration
63
Figure 6.2: First Bending mode in 33rd
Iteration
64
APPENDIX
Appendix A
This appendix has python script to perform topology optimization in ABAQUS
#-----------Python Script to perform Topology optimization in ABAQUS------------------#
from abaqus import *
from abaqusConstants import *
import visualization
import mesh
import load
import odbAccess
from assembly import *
import regionToolset
import part
from Numeric import *
import material
import section
import assembly
import step
import interaction
import sketch
import xyPlot
import displayGroupOdbToolset as dgo
# Subfunctions
#Creation of input file to apply modal displacement boundary condition on each node
def appl_bc():
node_no1=0
test=open("BC.inp","w")
while node_no1<len(v_data):
test.write("*Nset, nset=_PickedSet"+str(node_no1+30)+",internal,instance=Part-1-
mesh-1-1\n")
test.write(" "+str(node_label[node_no1])+",\n")
test.write("*Boundary\n")
65
dataline1="_PickedSet"+str(node_no1+30)+","+str(1)+","+str(1)+","+str(v_data[node_no1][
0])+"\n"
test.write(dataline1)
dataline2="_PickedSet"+str(node_no1+30)+","+str(2)+","+str(2)+","+str(v_data[node_no1][
1])+"\n"
test.write(dataline2)
dataline3="_PickedSet"+str(node_no1+30)+","+str(3)+","+str(3)+","+str(v_data[node_no1][
2])+"\n"
test.write(dataline3)
node_no1+=1
test.close()
# Checkerboard elimination subroutine
def checkerboard(ele,max_von_stress):
from Numeric import *
cor_max_von_stress=zeros((len(ele)),Float)
element_data=zeros((len(ele),8),Int)
#Create the element matrices with nodal connectivities
for i in range(0,len(ele)):
node_connect=ele[i].connectivity
element_data[i][0]=node_connect[0]
element_data[i][1]=node_connect[1]
element_data[i][2]=node_connect[2]
element_data[i][3]=node_connect[3]
element_data[i][4]=node_connect[4]
element_data[i][5]=node_connect[5]
element_data[i][6]=node_connect[6]
element_data[i][7]=node_connect[7]
for t in range(0,len(element_data)):
point_value=[]
66
for tt in range(0,8):
rows=find(element_data,element_data[t][tt])
point_value=point_value+[float(summing(rows,max_von_stress))/len(rows)]
cor_max_von_stress[t]=sum(point_value)/8
return cor_max_von_stress
# Subroutine for element removal
def removal(elementsToRemove):
allRemovableElements = mdb.models['Structural-Model'].parts['Part-1-mesh-
1'].elements
set1=mdb.models['Structural-Model'].parts['Part-1-mesh-
1'].SetFromElementLabels(name='Removable1',elementLabels=tuple(elementsToRemove))
set2=mdb.models['Thermal-Model'].parts['Part-1-mesh-
1'].SetFromElementLabels(name='Removable2',elementLabels=tuple(elementsToRemove))
mdb.models['Structural-Model'].parts['Part-1-mesh-
1'].deleteElement(elements=set1,deleteUnreferencedNodes=ON)
mdb.models['Thermal-Model'].parts['Part-1-mesh-
1'].deleteElement(elements=set2,deleteUnreferencedNodes=ON)
mdb.models['Structural-Model'].rootAssembly.regenerate()
mdb.models['Thermal-Model'].rootAssembly.regenerate()
return 1
# Initialization of matrices
def Initialize_mat(no_mode,ele):
global_reac=zeros((no_mode,len(ele)),Float)
global_stress=zeros((no_mode,len(ele)),Float)
scale_von_stress=zeros((no_mode,len(ele)),Float)
max_von_stress=zeros(len(ele),Float)
temp_mode=zeros(no_mode,Float)
67
return global_reac,global_stress,scale_von_stress,max_von_stress,temp_mode
# Subroutine to submit structural analysis job
def exec_job_struc(jobname,modelname):
myJob1 = mdb.Job(name=jobname, model=modelname)
myJob1.writeInput()
test1=open(jobname+".inp")
test2=open("temp.inp","w")
line=test1.readline()
while(line.strip()!=''):
if (line.strip()=="*Static"):
test2.writelines(line)
line2=test1.readline()
test2.writelines(line2)
line2=test1.readline()
test2.writelines(line2)
test2.writelines("*INCLUDE,INPUT=BC.inp\n")
else:
test2.writelines(line)
line=test1.readline()
test2.close()
test1.close()
os.remove(jobname+".inp")
68
os.rename("temp.inp",jobname+".inp")
myJob2=mdb.JobFromInputFile(jobname,jobname+".inp")
myJob2.submit()
myJob2.waitForCompletion()
del mdb.jobs[jobname]
#Subroutine to submit modal analysis job
def exec_job_mod(jobname,modelname):
myJob1 = mdb.Job(name=jobname, model=modelname)
myJob1.submit()
myJob1.waitForCompletion()
del mdb.jobs[jobname]
#Subroutine to find the element labels for respective node labels for checkerboard subroutine
def find(element_data,x):
rows=[]
columns=[]
for row in range(0,len(element_data)):
for col in range(0,8):
if(element_data[row][col]==x):
rows=rows+[row]
columns=columns+[col]
return rows
#Subroutine to remove rotational elements, in order to avoid elemental local mode
def remove_rot_ele():
ele=mdb.models['Structural-Model'].parts['Part-1-mesh-1'].elements
69
displac=myOdb.steps['modal_analysis'].frames[1].fieldOutputs['U']
dispvalues=displac.values
remove_ele_rot=[]
v_data=[]
for v in dispvalues:
v_data+=tuple([v.data])
for i in range(0,len(ele)):
node_connect=ele[i].connectivity
for node_nos in node_connect:
dispsum=abs(v_data[node_nos][0])+abs(v_data[node_nos][1])+abs(v_data[node_n
os][2])
if dispsum>1:
remove_ele_rot=remove_ele_rot+[ele[i].label]
removal(remove_ele_rot)
# Subroutine to sum von Mises stress for specified number of elements
def summing(rows,max_von_stress):
sumsv=0
for i in range(0,len(rows)):
sumsv=sumsv+max_von_stress[rows[i]]
return sumsv
# End of Subfunction Paste
#---------------------------Execute the main optimization routine ------------------------------#
70
#Creation of element and node objects
ele=mdb.models['Structural-Model'].parts['Part-1-mesh-1'].elements
no_of_nodes=mdb.models['Structural-Model'].parts['Part-1-mesh-1'].nodes
#Instantiate surface objects for boundary condition and unremovable elements
nodes_bc=mdb.models['Structural-Model'].rootAssembly.surfaces['Surf-bc'].nodes
unrem_ele2=mdb.models['Structural-Model'].rootAssembly.surfaces['Surf-bc'].elements
unrem_ele=mdb.models['Structural-Model'].rootAssembly.surfaces['Surf-1'].elements
nodes_bc_label=[]
unrem_ele_label=[]
#Get the element labels for boundary condition object
for node_num in range(0,len(nodes_bc)):
nodes_bc_label+=[nodes_bc[node_num].label]
#Create a set object for displacement ‘Encastre’ boundary condition
sets=mdb.models['Structural-Model'].rootAssembly.SetFromNodeLabels(name='set-bc-
nodes',nodeLabels=(('Part-1-mesh-1-1', nodes_bc_label),('Part-1-mesh-1-1',
nodes_bc_label)))
#Extract element labels for unremovable elements
for num in range(0,len(unrem_ele)):
unrem_ele_label+=[unrem_ele[num].label]
for num in range(0,len(unrem_ele2)):
unrem_ele_label+=[unrem_ele2[num].label]
i=1
jobname='modal_analysis'
71
k=1
no_mode=1
step_no=1
max_stat=0
#Execute the element removal loop until Number of elements in structure >Nmin
while len(ele)>Nmin:
#Initialization of the matrices
global_reac,global_stress,scale_von_stress,max_von_stress,temp_mode=Initialize_mat(no_m
ode,ele)
element_data=zeros((len(ele),8),Int)
#Execute thermal analysis job in the thermal model
exec_job_mod('Thermal_analysis'+str(step_no),'Thermal-Model')
#Create the sequentially coupled thermal structural analysis step
mdb.models['Structural-Model'].StaticStep(initialInc=1.0, maxInc=1.0, minInc=1.0,
name='struc_analysis', previous='Initial')
#Set the fieldoutput request for von Mises stress, displacement and reaction forces
mdb.models['Structural-Model'].fieldOutputRequests['F-Output-
1'].setValues(variables=('S', 'U', 'RF'))
#Create thermal field for structural analysis
mdb.models['Structural-Model'].Temperature(absoluteExteriorTolerance=0.0,
beginIncrement=150, beginStep=1, createStepName='struc_analysis', distribution=
FROM_FILE, endIncrement=150, endStep=1, exteriorTolerance=0.05,
fileName='Thermal_analysis'+str(step_no)+'.odb', interpolate=OFF,
magnitudes=(0.0, ), name='Field-1')
#Create the frequency step
mdb.models['Structural-Model'].FrequencyStep(maxEigen=None,
name='modal_analysis',normalization=MASS, numEigen=1,previous='struc_analysis')
#Create the BC-1 boundary condition for modal analysis
72
mdb.models['Structural-Model'].EncastreBC(createStepName='Initial', name='BC-1',
region=sets)
#Submit job for modal_analysis after thermal structural analysis
exec_job_mod('modal_analysis'+str(step_no),'Structural-Model')
#Read the odb file of modal analysis
odbpath='modal_analysis'+str(step_no)+'.odb'
myOdb = session.openOdb(odbpath)
#Check for rotational elements by tracing the sudden frequency drop
while (myOdb.steps['modal_analysis'].frames[1].frequency < 10):
#Call rotational element removal subroutine
remove_rot_ele()
exec_job_mod('modal_analysis'+str(step_no),'Structural-Model')
odbpath='modal_analysis'+str(step_no)+'.odb'
myOdb = session.openOdb(odbpath)
#Delete the boundary conditions and step
del mdb.models['Structural-Model'].boundaryConditions['BC-1']
del mdb.models['Structural-Model'].steps['modal_analysis']
del mdb.models['Structural-Model'].steps['struc_analysis']
v_stress=myOdb.steps['struc_analysis'].frames[-1].fieldOutputs['S']
stat_control=v_stress.getSubset(position=CENTROID)
#Loop for each mode shapes
for modes in range(0,no_mode):
modaldisp=zeros((len(no_of_nodes),3),Float)
stress_label=zeros((len(ele),2),Float)
73
remove_ele=[]
#Get the modal displacement value from the ODB file
#Read the values of stress from the structural analysis step
disp=myOdb.steps['modal_analysis'].frames[-1].fieldOutputs['U']
#Get the displacement value at each node
dispvalue=disp.values
node_label=[];
v_data=[];
for v in dispvalue:
node_label+=tuple([v.nodeLabel])
v_data+=tuple([v.data])
elementsToRemove=[]
node_count=0
sum_norm=0
node_count_bc=0
#Create the structural analysis step
mdb.models['Structural-Model'].StaticStep(initialInc=1.0, maxInc=1.0, minInc=1.0,
name='struc_analysis', previous='Initial')
#Set the fieldoutput request for von Mises stress, displacement and reaction forces
mdb.models['Structural-Model'].fieldOutputRequests['F-Output-
1'].setValues(variables=('S','U','RF'))
mdb.models['Structural-Model'].Temperature(absoluteExteriorTolerance=0.0,
beginIncrement=150, beginStep=1, createStepName='struc_analysis', distribution=
FROM_FILE, endIncrement=150, endStep=1, exteriorTolerance=0.05,
fileName='Thermal_analysis'+str(step_no)+'.odb', interpolate=OFF,
magnitudes=(0.0, ), name='Field-1')
74
#Applying the displacement boundary conditions for all the other nodes
appl_bc()
#Submit the job for structural analysis
exec_job_struc('struc_anal'+str(step_no),'Structural-Model')
print "Just deleted struc_anal job"
#Delete the step struc_analysis
del mdb.models['Structural-Model'].steps['struc_analysis']
print "Just deleted struc_anal step"
#Read the odb file for structural analysis
myOdb_stress = session.openOdb('struc_anal'+str(step_no)+'.odb')
#Read stress and Reaction force after the completion of each job and store it in an
array for each element
stress=myOdb_stress.steps['struc_analysis'].frames[-1].fieldOutputs['S']
cen_stress = stress.getSubset(position=CENTROID)
reac_force=myOdb_stress.steps['struc_analysis'].frames[-1].fieldOutputs['RF']
reac_force_mod=[];
mod_stress_group=[];
for i in range(0,len(ele)):
rea_force_ele=[]
mod_stress=[]
#Get the node indices for each element, get reaction force for those nodal indices
and
#Give sequence of node indices that define the connectivity of the element
node_connect=ele[i].connectivity
75
element_data[i][0]=node_connect[0]
element_data[i][1]=node_connect[1]
element_data[i][2]=node_connect[2]
element_data[i][3]=node_connect[3]
element_data[i][4]=node_connect[4]
element_data[i][5]=node_connect[5]
element_data[i][6]=node_connect[6]
element_data[i][7]=node_connect[7]
global_stress[modes][i]=cen_stress.values[i].mises
for node_no in node_connect:
rea_force_ele+=tuple([reac_force.values[node_no].data])
#Find the modulus of reaction force list
sum=0
for d in rea_force_ele:
sum=sum+pow(d[0],2)+pow(d[1],2)+pow(d[2],2)
global_reac[modes][i]=pow(sum,0.5)
#Determine maximum static control parameter value
if max_stat<stat_control.values[i].mises:
max_stat=stat_control.values[i].mises
myOdb_stress.close()
#Scaling stress with respect to the reaction forces
for ele_no in range(0,len(ele)):
for modes in range(0,no_mode):
scale_von_stress[modes][ele_no]=(pow(global_reac[0][ele_no]/global_reac[m
odes][ele_no],1))*global_stress[modes][ele_no]
temp_mode[modes]=scale_von_stress[modes][ele_no]
76
max_von_stress[ele_no]=max(temp_mode)
#Form the combined control parameter with normalized static and dynamic control
parameters
for ele_no in range(0,len(ele)):
max_von_stress[ele_no]=max_von_stress[ele_no]/max(max_von_stress)+stat
_control.values[ele_no].mises/max_stat
#Incorporated to prevent the checkerboard phenomenon
max_von_stress=checkerboard(ele,max_von_stress)
# Convert the maximum von-mises stress array into a tuple
list_max_von_stress=[]
i=0
for ele_no in range(0,len(ele)):
stress_label[i][0]=round(max_von_stress[ele_no]*100)
stress_label[i][1]=i
i=i+1
list_stress_label=stress_label.tolist()
list_stress_label.sort()
remove_ele=[]
num_ele_rem=0
remove_ele=[]
j=0
list_global_stress=list_stress_label
#Loop to remove atleast 16 elements in each iteration
77
while len(remove_ele)<16:
if unrem_ele_label.count(ele[int(list_global_stress[j][1])].label)<1:
remove_ele+=[ele[int(list_global_stress[j][1])].label]
j+=1
j=j-1
k=j+1
#Loop to find out elements with von mises stress equal to the 16th
element
while list_global_stress[j][0]==list_global_stress[k][0]:
if unrem_ele_label.count(ele[int(list_global_stress[k][1])].label)<1:
remove_ele+=[ele[int(list_global_stress[k][1])].label]
k=k+1
#Call the subroutine for element removal
removal(remove_ele)
#Instantiate new objects for elements and nodes
ele=mdb.models['Structural-Model'].parts['Part-1-mesh-1'].elements
no_of_nodes=mdb.models['Structural-Model'].parts['Part-1-mesh-1'].nodes
myOdb.close()
step_no=step_no+1
#---------------------------------------------------end-----------------------------------------------#
78
Appendix B
This appendix has Python Script to read Odb file of each iteration and print the output of
natural frequencies and maximum von Mises stress into an output file
from abaqus import *
from abaqusConstants import *
import visualization
import mesh
import load
import odbAccess
from assembly import *
import regionToolset
import part
from Numeric import *
import material
import section
import assembly
import step
import interaction
import sketch
import xyPlot
import displayGroupOdbToolset as dgo
# Open an output file in write mode to print natural frequency
test=open("output_freq.dat","w")
# Execute the loop from starting iteration number to ending to read frequency from the odb
file and write into the output file
for i in range(start,end):
file_name='modal_analysis'+str(i)+'.odb'
myOdb=session.openOdb(file_name)
freq=myOdb.steps['modal_analysis'].frames[1].frequency
test.write(str(freq)+"\n")
test.close()
# Open an output file in write mode to print maximum von Mises stress
test=open("output_maxstress.dat","w")
79
# Execute the loop from starting iteration number to ending to read max. von Mises stress
from the odb file and write into the output file
for i in range(start,end):
file_name='struc_anal'+str(i)+'.odb'
myOdb_stress=session.openOdb(file_name)
stress=myOdb_stress.steps['struc_analysis'].frames[1].fieldOutputs['S']
cen_stress = stress.getSubset(position=CENTROID)
global_stress=zeros((len(cen_stress.values)),Float)
max_stress=cen_stress.values[0].mises
for i in range(0,len(cen_stress.values)):
global_stress[i]=cen_stress.values[i].mises
if global_stress[i]>max_stress:
max_stress=global_stress[i]
test.write(str(max_stress)+"\n")
test.close()
80
References
[1] Xie, Y. M.; and Steven, G. P. Evolutionary Structural Optimization, Springer-Verlag,
1997, pp.1-78.
[2] Li, Q., Steven, G. P., Xie, Y.M., “A Simple Checkerboard Suppression algorithm for
evolutionary structural optimization,” Structural Optimization, Vol22, 2001, pp. 230-239.
[3] Bendsoe, M.P., Sigmund, O, Topology Optimization Theory, Methods and Applications,
Springer, New York, 1995, pp. 1-158
[4] Kim, W-Y., Grandhi, and R.V., Haney, M., “An Evolutionary Optimization method for
designing a Thermal Protection System for Dynamics,” International Journal of
Mechanics Based Design of Structures and Machines (Submitted 2005).
[5] Penmetsa, R.C., Grandhi, R.V., Haney, M., “Topology Optimization for an Evolutionary
Design of a Thermal Protection System,” AIAA Journal of Space Craft and Rockets, 2004
(Submitted)
[6] Li, Q., Steven, G.P., Querin, O.M, and Xie, Y.M., “Optimization of thin shell structures
subjected to thermal loading,” Structural Engineering and Mechanics, vol7, 1999, pp.
401-412.
[7] Blosser, M. L., “Investigation of Fundamental Modeling and Thermal Performance Issues
for A Metallic Thermal Protection System Design,” 40th
Aerospace Sciences Meeting &
Exhibit, Jan 2002, Nevada.
[8] ABAQUS, Scripting Reference Manual.
[9] ABAQUS, Analysis User’s Manual.
[10]ABAQUS, Theory Manual
[11]INCONEL® alloy 693 – Excellent Resistance to Metal Dusting and High Temperature
Corrosion,http://www.specialmetals.com/documents/Inconel%20alloy%20693.pdf
(accessed Apr 2005).
[12]Behrens, B., Muller, M., “Technologies for thermal protection systems applied on re-
usable launcher,” Acta Astronautica, Vol 55, 2004, pp. 529-536.
[13]Xie, Y.M., and Steven, G.P., “Evolutionary Structural Optimization For Dynamic
Problems,” Computers & Structures, vol58, No.6, 1996, pp. 1067-1073.
[14]Allinger, Friedrich, Muller, Mulfinger, Puchinger, Sauter, “A New Approach for Sizing,
Shape and Topology Optimization, ” SAE International Congress and Exposition, 1996.
81
[15]Thornton, E.A., Thermal Structures for Aerospace Applications, AIAA, VA, 1996, pp.1-
50.
[16]Haftka, R.T., Gurdal, Z., Elements of Structural Optimization, Kluwer Academic
Publishers, Boston, 1992, pp.200-300.
[17]Fehily, C., Visual QuickStart Guide Python, Peachpit Press, Berkley, 2002, pp.1-400.
[18]Dorsey, J.T., Poteet C.C., Chen, R.R., Wurster, K.E., “Metallic Thermal Protection
System Technology Development: Concepts, Requirements and Assessment Overview,”
40th
Aerospace Sciences Meeting & Exhibit, Jan 2002, Nevada.
[19]Kim, W-Y., Grandhi, and R.V., Haney, M., “Multi-Objective Evolutionary Structural
Optimization Using Combined Static/Dynamic Control Parameters,” AIAA Journal,
2005 (Accepted).
[20]GENESIS User Manual Volume I, Vanderplaats Research & Development Inc., 2001,
pp. 302-319