-
OATAO is an open access repository that collects the work of
Toulouse researchers and makes it freely available over the web
where possible
Any correspondence concerning this service should be sent to the
repository administrator:
[email protected]
This is an author’s version published in:
http://oatao.univ-toulouse.fr/26900
To cite this version:
Homayouni-Amlashi, Abbas and Schlinquer, Thomas and
Mohand-Ousaid, Abdenbi and Rakotondrabe, Micky 2D topology
optimization MATLAB codes for piezoelectric actuators and energy
harvesters. (2020) Structural and Multidisciplinary Optimization.
ISSN 1615-147X
Official URL: https://doi.org/10.1007/s00158-020-02726-w
mailto:[email protected]://www.idref.fr/250769387http://www.idref.fr/118678698
-
2D topology optimization MATLAB codes for piezoelectric
actuatorsand energy harvesters
Abbas Homayouni-Amlashi1,2 · Thomas Schlinquer2 · Abdenbi
Mohand-Ousaid2 · Micky Rakotondrabe1
AbstractIn this paper, two separate topology optimization MATLAB
codes are proposed for a piezoelectric plate in actuation and
energy harvesting. The codes are written for one-layer
piezoelectric plate based on 2D finite element modeling. As such,
all forces and displacements are confined in the plane of the
piezoelectric plate. For the material interpolation scheme, the
extension of solid isotropic material with penalization approach
known as PEMAP-P (piezoelectric material with penalization and
polarization) which considers the density and polarization
direction as optimization variables is employed. The optimality
criteria and method of moving asymptotes (MMA) are utilized as
optimization algorithms to update the optimization variables in
each iteration. To reduce the numerical instabilities during
optimization iterations, finite element equations are normalized.
The efficiencies of the codes are illustrated numerically by
illustrating some basic examples of actuation and energy
harvesting. It is straightforward to extend the codes for various
problem formulations in actuation, energy harvesting and sensing.
The finite element modeling, problem formulation and MATLAB codes
are explained in detail to make them appropriate for newcomers and
researchers in the field of topology optimization of piezoelectric
material.
Keywords Topology optimization · MATLAB code · Piezoelectric
actuator · Piezoelectric energy harvester
1 Introduction
Topology optimization (TO) is a methodology to distributethe
material within a design domain in an optimal waywhile there is no
prior knowledge about the final layoutof the material (Bendsoe
2013). This main specificationof TO provides a great degree of
freedom in termsof designing innovative structures to satisfy
predefined
� Abbas [email protected]
1 Laboratoire Génie de Production, Nationale Schoolof
Engineering in Tarbes (ENIT), Toulouse INP, Universityof Toulouse,
47, Avenue d’Azereix, Tarbes, France
2 CNRS, FEMTO-ST Institute, Université BourgogneFranche-Comté,
Besançon, 25000, France
engineering goals. Historically, minimization of
mechanicaldeformation of a structure under application of
differentloading conditions was a classical engineering goal
(Schmit1960). Aiming for this goal, the work of Bendsoe andKikuchi
(1988) paves the way for a methodology knowntoday as topology
optimization. The general idea of thismethodology is the
combination of finite element methodand optimization to maximize or
minimize an objectivefunction. In this regard, the design domain is
discretizedby a finite number of elements and design variables for
theoptimization problem are the variables attributed to eachof
these elements. Different approaches are introduced inthe
literature to implement the TO method (Sigmund andMaute 2013).
Among these approaches, homogenizationapproach was proposed to
optimize the porous elements asunit cells or microstructures within
the design domain toobtain the final layout (Suzuki and Kikuchi
1991; Bendsøeand Sigmund 1995). However, the number of
optimizationvariables is high in homogenization method which
canmake the optimization cumbersome. The other famous andpopular
approach is the SIMP approach which stands forsolid isotropic
material with penalization. In this approach,the elements in the
design domain can have intermediatedensities (Bendsøe 1989; Bendsoe
2013). This will let the
http://crossmark.crossref.org/dialog/?doi=10.1007/s00158-020-02726-w&domain=pdfhttp://orcid.org/0000-0002-3695-5912mailto:
[email protected]
-
elements to be gray in addition to black (material) andwhite
(void). However, due to practical constraints, it isdesired that
the optimization finally converges to a black andwhite layout. To
do so, a penalization factor is defined forintermediate densities.
One of the reasons for the popularityof this approach is its
simplicity of implementationin comparison with other approaches.
Similar to SIMPapproach, there is evolutionary structural
optimization(ESO) (Xie and Steven 1993) or the more general
formbi-directional evolutionary structural optimization (BESO)(Xia
et al. 2018) which is about removing or adding theelements inside
the design domain during optimizationiterations. In addition to the
aforementioned approaches,there are other approaches including
level set method (vanDijk et al. 2013; Andreasen et al. 2020) and
method ofmoving morphable components (MMC) (Guo et al. 2014;Zhang
et al. 2017) which is a geometrical approach. For adetailed review
and comparison between these approaches,one can refer to the
following review papers: Sigmund andMaute (2013) and Deaton and
Grandhi (2014).
Due to the success of TO methodology, severalimplementation
codes in different software are published inthe literature. Using
the SIMP approach, Sigmund (2001)published the 99 lines of MATLAB
code for 2D topologyoptimization of compliance problems. Andreassen
et al.(2011) published the 88 lines of MATLAB code which wasan
improvement of Sigmund’s 99 lines of code while havingmuch faster
speed in each iteration thanks to introducing theconnectivity
matrix that facilitates the assembly procedureof elemental
matrices. Liu and Tovar (2014) publishedthe TOP3D MATLAB code by
extension of the 88 linesof code for topology optimization of 3D
structures. Chenet al. (2019) published 213 lines of MATLAB codefor
2D topology optimization of geometrically nonlinearstructures.
There are other published codes using otherTO approaches like level
set method (Challis 2010; Weiet al. 2018; Yaghmaei et al. 2020),
BESO (Xia et al.2018), and projection method (Smith and Norato
2020).These published codes facilitate the implementation ofTO
methodology for various applications. For this reason,the
application of TO can be seen in solving differentproblems
including the compliance problems (Bendsoe2013), compliant
mechanism problems (Zhu et al. 2020),heat conduction
(Gersborg-Hansen et al. 2006), and smartmaterials in particular the
piezoelectric materials (Sigmundand Torquato 1999).
Due to their electromechanical coupling effect, piezo-electric
materials have applications in actuation, sensingand energy
harvesting. Plenty of methods can be foundin the literature to
analyze and improve the performanceof the piezoelectric structures,
whether actuators, energyharvesters or sensors such as geometrical
and size opti-
mization (Schlinquer et al. 2017; Bafumba Liseli andAgnus 2019;
Homayouni-Amlashi et al. 2020a), shapeoptimization (Muthalif and
Nordin 2015), layers numberoptimization (Rabenorosoa and et al
2015), or parame-ters sub-optimization (Rakotondrabe and Khadraoui
2013;Khadraoui et al. 2014) with interval techniques (Rakoton-drabe
2011). After development of TO methodology, it isextended to
different physics (Alexandersen and Andreasen2020; Deaton and
Grandhi 2014) including the piezoelec-tricity. Primarily, the
homogenization approach is used(Silva et al. 1997; Sigmund et al.
1998). Afterwards, otherapproaches including SIMP (Kögl and Silva
2005), BESO(de Almeida 2019) or level set method (Chen et al. 2010)
arealso explored. By defining proper objective functions,
TOmethodology is applied to piezoelectric actuators (Morettiand
Silva 2019; Gonċalves et al. 2018), sensors (Menuzziet al. 2018)
and energy harvesters (Homayouni-Amlashiet al. 2020b;
Homayouni-Amlashi 2019; Townsend et al.2019). The publications
considered different types of sys-tem modeling including the static
(Zheng et al. 2009),dynamic (Noh and Yoon 2012; Wein et al. 2009),
modal(Wang et al. 2017) and electrical circuit coupling (Salaset
al. 2018; Rupp et al. 2009). Different types of prob-lem
formulation can be found as well such as optimizationwith stress
constraints (Wein et al. 2013). Although theapplication of TO
methodology to piezoelectric materials iswell established in the
literature, no implementation code ispublished yet.
In this paper, 2D topology optimization codes areproposed for
actuation and energy harvester by usingthe extension of SIMP
approach known as PEMAP-P(piezoelectric material with penalization
and polarization).The codes are written based on the 88 lines of
MATLABcode written by Andreassen et al. (2011), except the codeis
extended and modified considerably to consider theelectromechanical
coupling effect of piezoelectric materialand problem formulation.
In Section 2, the finite elementmodeling of one-layer piezoelectric
plate is presented byusing the plane stress assumption. The finite
elementequation is derived for both actuation and energy
harvesting.A normalization is applied to the finite element
equationwhich significantly reduces the numerical instabilities
inoptimization iterations. Hence, the proposed codes inthis paper
work smoothly in both actuation and energyharvesting. In Section 3,
first, the material interpolationscheme for piezoelectric material
is explained. Then, theoptimization problem is formulated for both
actuation andenergy harvesters. The problem formulations are basic
foreducational purposes. The sensitivity analysis is performed,and
finally, the optimization algorithms are explained. InSection 4,
the MATLAB codes are explained part by partin detail. The
explanations in this part help the readers to
-
extend and implement the codes for their own purposes. InSection
5, different numerical examples are illustrated andthe modification
to the original codes to implement thosenumerical examples are
expressed as well.
2 Finite element modeling
2.1 Constitutive equation
The general linearly coupled mechanical and electrical
con-stitutive equation of piezoelectric materials by neglectingthe
thermal coupling can be written as (Lerch 1990)
T̄ = cES̄ − eĒD̄ = eT S̄ + εSĒ (1)
In (1), T̄ and S̄ are the vectors of mechanical stress andstrain
while cE is the stiffness tensor in constant electricalfield. D̄
and Ē are the vectors of electrical displacement andelectrical
field. e is the piezoelectric matrix, εS is the matrixof
permittivity in constant mechanical strain and T showsthe matrix
transpose.
The 4-mm tetragonal crystal class piezoelectric material(Piefort
2001) which has orthotropic anisotropy is consid-ered to derive the
corresponding model. This class includesmost of the piezoelectric
material in particular the well-known PZT (lead zirconate titanate)
materials. By thisconsideration, the mechanical stiffness tensor,
piezoelectricmatrix and permittivity for full 3D modeling are
cE =
⎡⎢⎢⎢⎢⎢⎢⎣
cE11 cE12 c
E13 0 0 0
cE12 cE11 c
E13 0 0 0
cE13 cE13 c
E33 0 0 0
0 0 0 cE44 0 00 0 0 0 cE44 00 0 0 0 0 cE66
⎤⎥⎥⎥⎥⎥⎥⎦
eT =⎡⎣
0 0 0 0 e15 00 0 0 e15 0 0
e31 e31 e33 0 0 0
⎤⎦
εS =⎡⎣
εS11 0 00 εS11 00 0 εS33
⎤⎦ (2)
Now, a piezoelectric plate sandwiched between twoelectrodes as
shown in Fig. 1 is considered. Without lossof generality, several
assumptions are considered for thisconfiguration.
– the thickness to length ratio of the piezoelectric plate
isless than 1/10,
– the piezoelectric plate is confined to have planarmovement and
it is subjected to loading only in the xyplane,
– the thickness of the electrodes is negligible in compari-son
with thickness of piezoelectric plate,
– the electromechanical system is assumed to be linear,– the
electrodes are perfectly conductive,– the polarization direction is
perpendicular to the plate
in parallel to→z axis,
– the electrical field is uniform in the direction ofthickness
aligned with the polling direction,
– the variation of the potential in the direction of
thethickness is linear,
The first two assumptions let us use the plane stressassumption
modeling for the piezoelectric plate (Hutton andWu 2004). In this
case, any stress in the direction of z willbe zero. By considering
transversely isotropic piezoelectricmaterial and considering plane
stress assumption, the piezo-electric plate has in-plane isotropic
behavior. Furthermore,by poling the piezoelectric material in the z
direction, theonly non-zero electric field will be in the z
direction. Inthis case, the reduced (2D) form of piezoelectric
constitutiveequation can be derived in the following form (Junior
et al.2009)
⎡⎢⎢⎣
T1T2T3D3
⎤⎥⎥⎦ =
⎡⎢⎢⎣
c∗11 c∗12 0 −e∗31c∗12 c∗11 0 −e∗310 0 c∗33 0
e∗31 e∗31 0 ε∗33
⎤⎥⎥⎦
⎡⎢⎢⎣
S1S2S3E3
⎤⎥⎥⎦ (3)
Fig. 1 Piezoelectric plate sandwiched between two electrodes.
aIsometric view. b Side view
-
The components of the reduced constitutive equation canbe
written as (Junior et al. 2009)
c∗E11 = cE11 −(cE13
)2cE33
, c∗12 = cE12 −(cE13
)2cE33
, c∗33 = c66
e∗31 = e31 − e33cE13
cE33
, ε∗33 = εS33 +e233
cE33
(4)
The obtained constitutive equation in (3) will be used inthe
finite element modeling of the piezoelectric plate whichwill be
discussed in the next section.
2.2 Piezoelectric finite elementmodel
In this section, to derive the finite element (FE)
formulation,the piezoelectric plate is discretized by rectangular
elementswhich are particular form of the more general 2D
elementscalled “bilinear quadrilateral element” (Hutton and Wu2004;
Kattan 2010). It should be noted that since the
thickness of electrodes is negligible in comparison with
thethickness of the piezoelectric plate, its structural effects
areneglected in the modeling. Hence, only the piezoelectricplate is
discretized by the finite number of elements. Theschematic form of
this discretization is illustrated in Fig. 2a.As can be seen in
this figure, The piezoelectric plate isdiscretized as 3 by 4
elements. It is clear that a finerdiscretization will be used for
the numerical optimization.It can be seen in the figure that each
rectangular elementhas 4 nodes and each node has 2 in-plane
mechanicaldegrees of freedom regarding the displacement in x and
ydirections. The rectangular element shown in Fig. 2b canhave
arbitrary length le and width we. In fact, with themethod of finite
element modeling which is used to writethe optimization code, the
dimensions of plate and numberof elements can be defined
separately. This freedom willhave two advantages: first, for a
predefined geometry ofa piezoelectric plate, higher number of
elements can bedefined to have better results in terms of having
small detail.
Fig. 2 Finite elementdiscretization of design domain.Panel (a)
is the numberingformat inside the design domain.Panel (b) is the
numberingformat inside each element.Panel (c) is the parent element
inthe natural coordinates
-
Second, it is possible to define lower number of elementswhen
reducing the computation time is necessary. As it isillustrated in
Fig. 2c, the rectangular element is mapped toa parent element which
is a square element with naturalcoordinates ξ and η. The
displacement of every point withinthe element will be expressed by
the displacement of thenodes through the interpolation functions in
the followingformat (Hutton and Wu 2004).
x = x1n1 + x2n2 + x3n3 + x4n4y = y1n1 + y2n2 + y3n3 + y4n4
(5)
and the interpolation functions can be written based on
thenatural coordinates
n1 = 14(1 − ξ)(1 − η), n2 = 1
4(1 + ξ)(1 − η)
n3 = 14(1 + ξ)(1 + η), n4 = 1
4(1 − ξ)(1 + η) (6)
where the matrix of interpolation function can be written
as,
N =[
n1 0 n2 0 n3 0 n4 00 n1 0 n2 0 n3 0 n4
](7)
So far, for each element, just mechanical degreesof freedom are
considered. However, in piezoelectricmaterial, the mechanical and
electrical fields are coupled.Therefore, the electrical degree of
freedom should bemodeled as well. The general approach for this
case isto consider one electrical degree of freedom for eachnode in
addition to mechanical degrees of freedom asexplained in Lerch
(1990). However, here by assumingthat conductive electrodes are
placed on top and bottom ofthe piezoelectric plates as shown in
Fig. 1, the electricalpotential over each electrode is constant.
This conditionis known as equipotential condition. Furthermore,
byconsidering the bottom electrode as ground electrode, thewhole
piezoelectric plate will have one electrical degree offreedom. On
the other hand, for the purpose of elementalsensitivity analysis
which will be explained in Section 3, foreach element, one
electrical degree of freedom is consideredas it is shown in yellow
in Fig. 2. The global equipotentialcondition will be imposed after
assembling the globalmatrices.
Now, the strain and electrical field of each element can
beexpressed with the help of mechanical and electrical degreesof
freedom
S̄ = Buu, Ē = Bφφ (8)
In (8), u and φ are the vectors of mechanical displacementand
scalar value of electric potential respectively. Bu is
the strain displacement matrix which is written as
follows(Kattan 2010),
Bu = 1|J |[B1 B2 B3 B4
]
Bi =⎡⎢⎣
a∂ni∂ξ
− b ∂ni∂η
0
0 c ∂ni∂η
− d ∂ni∂ξ
c∂ni∂η
− d ∂ni∂η
a∂ni∂ξ
− b ∂ni∂η
⎤⎥⎦ (9)
and the parameters a, b, c and d are given by Kattan (2010),
a = 14[y1(ξ − 1) + y2(−1 − ξ) + y3(1 + ξ) + y4(1 − ξ)]
b = 14[y1(η − 1) + y2(1 − η) + y3(1 + η) + y4(−1 − η)]
c = 14[x1(η − 1) + x2(1 − η) + x3(1 + η) + x4(−1 − η)]
d = 14[x1(ξ − 1) + x2(−1 − ξ) + x3(1 + ξ) + x4(1 − ξ)]
(10)
where xi and yi are the coordinates of the nodes in
therectangular element before mapping.
The determinant of Jacobian matrix J , which transfersthe
natural coordinates to the generalized coordinates, is
|J | = 18
[x1 x2 x3 x4
]
×
⎡⎢⎢⎣
0 1 − η η − ξ ξ − 1η − 1 0 ξ + 1 −ξ − ηξ − η −ξ − 1 0 η + 11 − ξ
ξ + η −η − 1 0
⎤⎥⎥⎦
⎡⎢⎢⎣
y1y2y3y4
⎤⎥⎥⎦ (11)
By considering the last two assumptions, Bφ is (Junioret al.
2009)
Bφ = 1/h (12)
where h is the thickness of the piezoelectric plate. Now byusing
the Hamilton’s variational principle and neglectingthe damping
effect, the linear differential equation for onesingle element can
be written in the following form (Lerch1990)
[m 00 0
] [ü
φ̈
]+
[kuu kuφkφu −kφφ
] [u
φ
]=
[f
q
](13)
in which m is the mass matrix, kuu is the mechanicalstiffness
matrix, kuφ is the piezoelectric coupling matrix,kφφ is the
dielectric stiffness matrix, f is the external
-
mechanical force and q is the charge. These components oflinear
differential equation are derived in the following form
kuu = h∫
A
BTu cEBu |J | dξdη
kuφ = h∫
A
BTu eT Bφ |J | dξdη
kφφ = h∫
A
BTφ εSBφ |J | dξdη
m = ρh∫
A
NT N |J | dξdη (14)
where A is the top surface area of the element and ρ is
thedensity of the material. In fact, (14) illustrates the
analyticalcalculations of elemental matrices. However, for
numericalimplementation in MATLAB, two-point Gauss quadraturemethod
(Hutton and Wu 2004) is utilized for calculation ofthe elemental
matrices numerically, which gives the exactvalues. The
implementation procedure is explained later inSection 4.
To have the global FEM equation for a whole piezoelec-tric
plate, the elemental matrices in (13) should be assem-bled, which
is a general procedure in the FEM methodol-ogy and which will also
be explained in Section 4. Afterassembling the elemental matrices,
the global finite elementequation for the whole design domain can
be written as[
M 00 0
] [Ü
Φ̈
]+
[Kuu KuφKφu −Kφφ
] [U
Φ
]=
[F
Q
](15)
Now, for two cases of actuation and energy harvesting,the global
FEM (15) can be interpreted in different ways.Here, we focus on
static actuation so that the dynamics willnot be considered.
Therefore, the global FEM equation forthe actuation can be written
as
KuuU + KuφΦ = F (16)This equation will be used to calculate the
mechanical
displacement due to applied potential.For the energy harvesting
case, the external charge (Q)
is considered to be zero. In addition, the external force
isconsidered to be a harmonic excitation of frequency Ω . Inthis
case, by considering a linear electromechanical system,the force
and the response of the system can be stated as
F = f0eiΩtU = u0eiΩt , Φ = φ0eiΩt (17)where f0, u0 and φ0 are
the amplitude of harmonic force,displacement and potential. By
substituting the (17) in (15),the global FEM equation for the
energy harvesting case canbe written as
−Ω2[
M 00 0
] [U
Φ
]+
[Kuu KuφKφu −Kφφ
] [U
Φ
]=
[F
0
](18)
Equation (18) can also be written in following form
[Kuu − MΩ2 Kuφ
Kφu −Kφφ] [
U
Φ
]=
[F
0
](19)
To solve the FEM (19), the mechanical boundarycondition and
equipotential condition should be applied.This will be explained in
detail in Section 4.
2.3 Normalization
Here, the critical point is that the scale difference betweenthe
piezoelectric matrices including the mechanical stiffnessmatrices
(kuu) and (kuφ) and the dielectric stiffness matrix(kφφ) is huge.
This huge scale difference can bringnumerical instabilities in form
of singularities in solving thefinal global FEM equation during the
optimization loops. Toeliminate the scale difference, a
normalization is suggested(Homayouni-Amlashi 2019;
Homayouni-Amlashi et al.2020b) by factorizing the highest value of
each elementalmatrix which can be expressed in the following
format
k̃uu = kuu/k0, k̃uφ = kuφ/α0k̃φφ = kφφ/β0, m̃ = m/m0 (20)
Starting by this normalization of elemental matrices,
theactuation FEM (16) can be rewritten as
K̃uuŨ + K̃uφΦ̃ = F̃ (21)in which
F̃ = F/f0, Ũ = U/u0, Φ̃ = Φ/φ0u0 = f0/k0, φ0 = f0/α0 (22)
The same normalization can be performed on the energyharvesting
FEM (19)
[K̃uu − M̃Ω̃2 K̃uφ
K̃φu −γ K̃φφ] [
Ũ
Φ̃
]=
[F̃
0
](23)
where
Ω̃2 = Ω2m0/k0, γ = k0β0/α20 (24)Here γ is a normalization factor
which keeps the
solution of the system equal before and after applyingthe
normalization. This normalization factor is having thescale of 101
and in this way the scale difference betweenthe piezoelectric
matrices is eliminated. The proof ofnormalization is provided in
the Appendix.
Now, by having the FEM equations (21) and (23), it ispossible to
enter the optimization phase. In the upcomingsections, optimization
of actuator and energy harvester isseparated.
-
3 Topology optimization
As explained before, topology optimization is aboutdistribution
of the material within a design domain whilethere is no prior
knowledge of the final optimized layout ofthe structures (Bendsoe
2013). There are several approachesfor topology optimization method
(Maute and Sigmund2013). However, the density-based approach is
chosen forthis paper since its efficiency is already established in
manyresearches specially in the area of piezoelectric
actuators(Kögl and Silva 2005; Ruiz et al. 2017; Moretti and
Silva2019) or energy harvesters (Homayouni-Amlashi 2019;Zheng et
al. 2009; Noh and Yoon 2012).
3.1 Piezoelectric material interpolation scheme
One of the famous material interpolation schemes isthe
density-based approach which has been introducedto relax the
optimization from the binary (void-material)problem. In this
approach, for a discretized design domainby finite number of
elements, the material properties ofeach element are related to
element’s density through apower law interpolation function. For
passive isotropicmaterial, this interpolation function is referred
to as solidisotropic material with penalization (SIMP) which
relatesthe element’s Young modulus of elasticity to its density.
Foractive non-isotropic piezoelectric material, the
interpolationfunction is the extension of SIMP scheme which can
bewritten as follows (Kögl and Silva 2005)
k̃uu(x) =(Emin + xpuu(E0 − Emin)
)k̃uu
k̃uφ(x, P ) = (emin + xpuφ (e0 − emin))(2P − 1)pP k̃uφk̃φφ(x) =
(εmin + xpφφ (ε0 − εmin))k̃φφ
m̃(x) = xm̃ (25)
where Emin, emin and εmin are small numbers to definethe minimum
values for stiffness, coupling and dielectricmatrices while E0, e0
and ε0 are equal to 1 to define themaximum values of the respected
matrices. The definitionof minimum values is provided to avoid the
singularitiesduring the optimization iterations. x is the density
ratio ofeach element which has a value between 0 and 1. P isthe
polarization variable which also has the value between0 and 1 and
determines the direction of polarization.puu, puφ , pφφ and pP are
penalization coefficients forthe stiffness, coupling, dielectric
matrices and polarizationvalue respectively. It is obvious that in
(25), the normalizedform of piezoelectric matrices is used.
However, theinterpolation function is true for non-normalized
matrices aswell.
The introduced material interpolation scheme is knownas PEMAP-P
(piezoelectric material with penalization and
polarization) (Kögl and Silva 2005), which is the exten-sion of
the SIMP approach. Although some projectionsare defined for SIMP to
have a robust topology optimiza-tion (Wang et al. 2011), there are
alternative interpolationfunctions like RAMP (rational
approximation of materialproperties) (Stolpe and Svanberg 2001), or
newer interpola-tion function introduced in Clausen et al. (2015).
This latterone is also used in topology optimization of
piezoelectrictransducers (Donoso and Sigmund 2016). In fact, the
studyon preference of these interpolation functions is not in
thescope of this paper. But, with the proposed MATLAB code,it will
be easy for implementation of other interpolationfunctions.
After establishing the material interpolation scheme, therest of
this section will be divided into two parts: actuationand energy
harvesting.
3.2 Actuation
3.2.1 Problem formulation
Following the classic approach for compliant mechanismsreported
in Bendsoe (2013), the optimization of a pla-nar piezoelectric
actuator can be defined simply as dis-placement optimization or
minimization of the followingobjective function,
minimize Jact = −LT Ũ
Subject to V (x) =NE∑i=1
xivi ≤ V
0 < xi ≤ 10 ≤ Pi ≤ 1 (26)
where L is a vector with a value of 1 that corresponds tothe
output displacement node and 0 otherwise. In addition,a constraint
is defined on the final volume of the optimizeddesign. V is the
target volume which is a fraction of theoverall volume of the
design domain while vi is the volumeof each element and NE is the
total number of elementswhile i is the number of each element.
3.2.2 Sensitivity analysis
For applying a gradient-based optimization, the sensitivityof
objective function with respect to the optimizationvariables should
be calculated. As such, the sensitivity ofobjective function with
respect to the xi can be derived as
∂J
∂xi= ∂
∂xi
(−LT Ũ + ΛT
(K̃uuŨ + K̃uφΦ̃ − F̃
))
= ∂∂xi
((−LT + ΛT K̃uu
)Ũ + ΛT K̃uφΦ̃ − ΛT F̃
)
(27)
-
Through using the procedure known as adjoint method,Λ is
introduced to avoid taking the derivative of displace-ment with
respect to design variable, i.e., ∂ũi
∂x. Therefore, the
following adjoint equation should be solved
− LT + ΛT K̃uu = 0 (28)where Λ is the global adjoint vector. By
solving the adjoint(28), the sensitivity values can be obtained
as
∂J
∂xi= λTi
∂k̃uu
∂xiũi + λTi
∂k̃uφ
∂xiφ̃i (29)
where λi is the elemental format of global adjoint vector Λ.By
using the same procedure, sensitivity analysis with
respect to polarization P is derived in the following form
aswell
∂J
∂Pi= λTi
∂k̃uφ
∂Piφ̃i (30)
where λi is the same adjoint vector which is alreadycalculated
in (28).
Based on (29) and (30), the derivative of piezoelectricstiffness
and coupling matrices with respect to designvariables is required
which can be derived with the help of(25) as
∂k̃uu
∂xi= puu(E0 − Emin)xpuu−1i k̃uu
∂k̃uφ
∂xi= puφ(e0 − emin)xpuφ−1i (2Pi − 1)pP k̃uφ (31)
∂k̃uφ
∂Pi= 2pP (e0 − emin)(2Pi − 1)pP −1xpuφi k̃uφ (32)
After performing the sensitivity analysis, and definingthe
constraint, the optimization of variables should be doneby the
optimization algorithms which will be discussed laterin this
section.
3.3 Energy harvesting
3.3.1 Problem formulation
In the case of energy harvesting optimization, electri-cal
boundary condition should be applied in addition tomechanical
boundary condition. As mentioned previously,by considering
perfectly conductive electrodes, the equipo-tential boundary
condition can be applied by using theBoolean matrix in the
following form (Cook and et al 2007)
Φ = BVp (33)in which Vp is the voltage of the top electrode
while thebottom electrode considered as ground. For a general case
ofmulti-layer piezoelectric plates, Boolean matrix B is havingthe
dimension of Ne ×NP where Ne is the number of nodesand NP is the
number of electrodes. However, in the case of
the one piezoelectric plate of this paper, B will be a vectorof
ones.
It is worth to note that the equipotential condition givenin
(33) will be applied only to the energy harvesting FEM(19). For the
case of actuation, the equipotential conditionwill be applied
automatically by defining equal appliedvoltage for all of the
elements.
By applying the equipotential condition in (33), theenergy
harvesting FEM (19) can be rewritten as[
Kuu Kuφ
Kφu −Kφφ] [
Ũ
Vp
]=
[F̃
0
](34)
where
Kuu =[K̃uu − M̃Ω̃2
]bc
Kuφ =[K̃uφB
]bc
Kφφ = γBT K̃φφB (35)in which ([ ]bc) shows the application of
mechanicalboundary condition.
Now, the objective function for the energy harvestingapplication
should be defined. Generally, the energy con-version ratio (Zheng
et al. 2009; Noh and Yoon 2012) orelectromechanical coupling
coefficient (de Almeida 2019)which is equivalent mathematically is
chosen as the objec-tive function. However, this format of
objective functionsuffers from numerical instabilities during
optimization iter-ations where it is suggested to penalize the
mechanicalenergy as suggested in de Almeida (2019) and Salas et
al.(2018). Therefore, to avoid the numerical instabilities here,a
classical format of objective function is defined. The
opti-mization is defined as minimization of the weighted sum ofthe
mechanical and electrical energy of the system,
minimize JEH = wjΠS − (1 − wj)ΠE
Subject to V (x) =NE∑i=1
xivi ≤ V
0 < xi ≤ 10 ≤ Pi ≤ 1 (36)
ΠE and ΠS are electrical and mechanical energiesrespectively
which are defined in the following form (Nohand Yoon 2012; Zheng et
al. 2009)
ΠS =(
1
2
)ŨT KuuŨ, Π
E =(
1
2
)V Tp KφφVp (37)
In optimization of (36), wj is the weighing factor whichhas the
value between 0 and 1. Choosing the value of 1for wj will make the
optimization problem, a minimumcompliance problem in which the goal
is to minimize themechanical deflection of the system under the
applied force.By decreasing the value of wj , more weight will be
given tomaximize the output electrical energy. However,
choosing
-
very small values for wj will result in mechanically
unstablelayouts. Therefore, the value for wj will be found by
usingtrial and error approach. The basis for choosing this valuecan
be the maximum energy conversion factor of the plateunder the same
force. For example, in Homayouni-Amlashiet al. (2020b), the maximum
energy conversion factor foran optimized piezoelectric plate under
planar excitation isfound to be 0.03 while in Noh and Yoon (2012)
for a two-layer optimized piezoelectric plate under the bending
forcethis ratio is 0.1. Therefore, the initial value of wj for
thetrial error approach can be considered between 0.01 and0.1. The
final chosen value of wj depends on the maximumstress and strain
induced by the defined mechanical input tothe structure which can
be revealed by the post processinganalysis. On the other hand,
stress and strain constraintscan also be considered in the
optimization problem as it isinvestigated by Wein et al.
(2013).
In fact, the advantage of the objective function definedhere is
that the optimization algorithm converges verysmoothly to the final
result. However, the drawback of thisobjective function is that the
obtained result can be sub-optimal depending on the chosen value
for the wj . On theother hand, the problem of sub-optimal results
exists inother formats of the objective function. For example,
Nohand Yoon (2012) showed that by considering the energyconversion
factor (ΠE/ΠS) as objective function, differentvalues of
penalization factors can produce different results.
Eventually, we believe that the chosen objective functionsuits
the educational purpose of this paper. Indeed, withthe help of
provided MATLAB code, the readers can easilychange the code to
implement other objective functions.
3.3.2 Sensitivity analysis
Similar to the actuation case, the next step after definingthe
objective function is sensitivity analysis. Since theobjective
function in (36) consists of mechanical andelectrical energies, the
sensitivity of each energy withrespect to density ratio x can be
found as (Zheng et al. 2009;Homayouni-Amlashi 2019;
Homayouni-Amlashi et al.2020b)
∂ΠS
∂xi=
(1
2ũTi + λT1,i
)∂(k̃uu − m̃Ω̃2)
∂xiũi
+λT1,i∂k̃uφ
∂xiφ̃i + μT1,i
∂k̃φu
∂xiũi − μT1,i
γ ∂k̃φφ
∂xiφ̃i (38)
∂ΠE
∂xi= 1
2φ̃Ti
γ ∂k̃φφ
∂xiφ̃i − μT2,i
γ ∂k̃φφ
∂xiφ̃i
+λT2,i∂(k̃uu − m̃Ω̃2)
∂xiui + λT2,i
∂k̃uφ
∂xiφ̃i + μT2,i
∂k̃φu
∂xiũi
(39)
in which μ and λ are the elemental adjoint vectors whichare
calculated by the following global coupled system[
Kuu Kuφ
Kφu −Kφφ] [
Λ1Υ1
]=
[ −KuuŨ0
]
[Kuu Kuφ
Kφu −Kφφ] [
Λ2Υ2
]=
[0
−KφφVp]
(40)
where Λ and Υ are the global adjoint vectors which need tobe
disassembled to form the elemental adjoint vectors
[λ1]bc = Λ1, [λ2]bc = Λ2, [μ1] = BΥ1, [μ2] = BΥ2 (41)Now, the
sensitivities with respect to polarization (P )
are calculated as well (Homayouni-Amlashi et al.
2020b;Homayouni-Amlashi 2019)
∂ΠS
∂Pi= λT1,i
∂k̃uφ
∂Piφ̃i + μT1,i
∂k̃φu
∂Piũi
∂ΠE
∂Pi= λT2,i
∂k̃uφ
∂Piφ̃i + μT2,i
∂k̃φu
∂Piũi (42)
Based on sensitivity equations in (39) and (42), thederivative
of all piezoelectric matrices with respect to thedesign variables
is required. The derivative of stiffnessand coupling matrices is
found in (31) and (32). Here,the derivative of dielectric matrix
and mass matrix is alsorequired which are
∂k̃φφ
∂xi= pφφ(ε0 − εmin)xpφφ−1i k̃φφ
∂m̃
∂xi= m̃i (43)
In addition to derivative of piezoelectric matrices withrespect
to density, derivation of the piezoelectric couplingmatrix with
respect to polarization variable is also required
∂k̃uφ
∂Pi= 2pP (2Pi − 1)pP −1xpuφi k̃uφ (44)
After calculation of sensitivities, the optimization vari-ables
can be updated in each iteration of optimization withthe help of
optimization algorithm which is the subject ofthe next section.
3.4 Optimization algorithms
For solving the optimization problem, there are
severaloptimization algorithm like sequential linear
programming(SLP), sequential quadratic programming (SQP), methodof
moving asymptotes (MMA) or the optimality criteria(OC) method. This
latter one is more historical than theother methods and its
application is more simple. However,MMA is more powerful in terms
of solving multi-variableand multi-constraint optimization
problems. In addition, the
-
convergence in MMA is more assured due to considerationof two
past successive iterations during optimization.
Therefore, in this paper to solve the actuation problem,the OC
method is implemented so the proposed code isself-working. However,
the OC method has convergenceproblem in energy harvesting code due
to coupling effectof piezoelectric material. In the upcoming two
sections, theOC method and MMA and their implementation codes
willbe explained.
3.4.1 Optimality criteria method
Optimality criteria is a heuristic method to update thedesign
variables in each element of design domain duringeach iteration of
optimization. Here, there are two designvariables for each element
including the density andpolarization. It is common for structural
optimization withoptimality criteria that the mutual influence of
the designvariables on each other and from element to element canbe
ignored (Hassani and Hinton 1998). Therefore, they canbe updated
separately from each other in each iteration ofoptimization. In
fact, this is similar to the case of topologyoptimization by
homogenization method where the length,width and rotation angle of
the hole in a microstructure areoptimized by OC separately in each
iteration of optimization(Suzuki and Kikuchi 1991).
Here, the densities should be chosen such a way torespect the
volume constraints. In this case, the followingKarush–Kuhn–Tucker
(KKT) condition for intermediatedensities (0 < xi < 1) should
be satisfied to guarantee theconvergence
∂J
∂xi+ λ̄ ∂V
∂xi= 0 (45)
in which λ̄ is the Lagrange multiplier to augment the
volumeconstraint in the optimization. To solve the
optimizationproblem mentioned in KKT (45), the OC algorithm given
byBendsøe and Sigmund (1995) and Bendsoe (2013) is usedhere which
can be written as
xnewi =⎧⎨⎩
max(0, xi − move)min(1, xi + move)
xiβηi
if xiβηi ≤ max(0, xi − move)
if xiβηi ≥ min(1, xi − move)
otherwise(46)
where move parameter is the maximum amount of densitychange in
each iteration of optimization, η is a numericaldamping coefficient
and
βi = − ∂J∂xi
(λ̄
∂V
∂xi
)−1(47)
Similar to the classical compliant problems of passivematerial
(Bendsoe 2013), the values of move and η areconsidered to be 0.2
and 0.3 respectively.
For optimization of polarization there is no volumeconstraint.
In fact, since the polarization of each elementwill be optimized
separately, it is not necessary to forcethe optimization algorithm
to push the polarization value tozero for the elements with low
density values. Therefore, theoptimization problem can be simply
defined as follows
∂J
∂Pi= 0 (48)
The algorithm for this simple optimization can beobtained by
modifying the OC algorithm given in (46) in thefollowing form
P newi ={
max(0, Pi − move)min(1, Pi + move)
if ∂J∂Pi
≥ 0if ∂J
∂Pi< 0
(49)
By defining the optimization algorithm for polarizationbased on
(49), the polarity value (Pi) for all of the elementswill be
steered to −1 or +1 even for the elements with verylow density.
However, this will not affect the optimizationresults since based
on (25) and with maximum value ofpolarization (P ), low density (x)
will push the couplingmatrix to its minimum value.
3.4.2 The method of moving asymptotes
The method of moving asymptotes (MMA) is a
structuraloptimization method proposed by Svanberg (1987).
Theproblem formulation of this methodology is as follows(Svanberg
2007)
minimize f0(χ) + a0z +mc∑i=1
(ciyi
+ 12diy
2i
)
subject to fi(χ) − aiz − yi ≤ 0 i = 1, ..., mcχ ∈ X, y
i≥ 0, z ≥ 0 (50)
in which X = {χ ∈ �nvar |χmini ≤ 0 ≤ χmaxi}, while nvar is
the number of design variables, χ is the vector of all
designvariables, y
iand z are the artificial optimization variables,
f0(χ) is the cost function to be minimized, mc is thenumber of
constraints and a0, ai, ci , di are the coefficientswhich have to
be determined to match the optimizationproblem mentioned in (50) to
different types of optimizationproblems.
For the optimization problem of this paper, there is onlyone
constraint defined on the maximum volume of theoptimized design.
Therefore, based on the description givenin Svanberg (2007), by
considering a0 = 1 and ai = 0 forall i, then z = 0 in any optimal
solution, and by consideringdi = 0 and ci = “a large number,” then
the variables yi = 0
-
for all i and the optimization problem mentioned in (50) willbe
matched to the optimization problem of this paper.
Finally, the OC and MMA optimization algorithmscan update the
optimization variables in each iteration ofoptimization. To do so,
the implementation code for both ofOC and MMA will be given in
Section 4.
3.5 Filtering
Like other problems in structural optimization,
topologyoptimization of piezoelectric materials also suffers
fromnumerical instabilities such as checker board problem ormesh
dependency. To remedy, the solutions need to befiltered in each
iteration of optimization. So far, manyfiltering methods are
suggested in the literature (Sigmund2007). Among the proposed
filtering methods, sensitivityfilter and density filter proved
their success in overcomingthe aforementioned numerical
instabilities. The sensitivityfilter is used in the 99 lines of
topology optimization codewritten by Sigmund (2001) and density
filter is used as analternative option in the 88 lines of topology
optimizationcode written by Andreassen et al. (2011). As such,
inthis paper, the density and sensitivity filters are used astwo
available options. To implement these filters, the samelines of
codes written in 88 lines of code by Andreassenet al. (2011) are
employed. Therefore, the concepts behindthese filters will not be
explained here since the relatedexplanations can be found in the
mentioned references.
The important point here is that the density filter showsmore
promising performance in comparison with sensitivityfilter
specially in the case of energy harvesting problem withusing the
MMA as the optimization algorithm.
Finally, the filters will be applied only to the densitiesand
filtering of the polarization variable is not necessary.
3.6 Choosing proper penalization factors
After preparing the ingredients of topology
optimizationalgorithm, the important question would be how to
tunethe parameters of optimization? in addition to parameterswhich
are the same for optimization of passive and activematerials like
radius of filtering and volume fraction, thereare other parameters
which belong to multiphysics natureof piezoelectric topology
optimization like penalizationcoefficients of the piezoelectric
matrices, i.e., puφ , pφφ andpP . In fact by choosing the
penalization coefficients, weare pursuing two goals: (1)
guaranteeing the convergenceto perfect void-material in the final
obtained layout, (2)avoiding local optima. For choosing puu, it is
already proventhat the value of 3 is the best choice (Bendsoe 2013)
to reacha perfect void/material in the final layout.
There are several studies which focused on definingthe criteria
for choosing other penalization coefficients,i.e., puφ , pφφ and pP
(Kim and Shin 2013; Noh andYoon 2012; Kim et al. 2010). In
particular, Noh andYoon (2012) chose the penalization factors
randomly andobtained different density layouts. The final
conclusionwas that the penalization factors have extreme effect
onthe final topology. But, no criteria or rule is presented inthis
study about the method of choosing the penalizationfactors. On the
other hand, a detailed study is presentedby Kim et al. (2010) for
choosing the penalization factors.Based on this study, necessary
condition for choosing thepenalization factors is that the
electromechanical couplingcoefficient (EMCC) should be increased
when the density(x) increases and vice versa. Based on this
condition, thefollowing intrinsic condition which is independent
fromobjective function is proposed for choosing the
penalizationfactors (Kim et al. 2010)
2puφ −(puu + pφφ
)> 0 (51)
In addition to this condition, Kim et al. (2010) proposedother
objective dependent criteria for the actuation andenergy harvesting
application. In particular, for the actuationobjective function in
(26), the following condition isproposed (Kim et al. 2010),
puφ − puu > 0 (52)and for energy harvesting approach, when
the objectivefunction is energy conversion factor then the
followingconditions should be satisfied (Kim et al. 2010),
puφ − puu > 0pφφ − puu > 0 (53)It should be noted that
these conditions are proposed to
guarantee the convergence of the final topology and yetthere is
no study on the methods to define these penalizationfactors to
avoid the local optima.
For polarization penalization, the value of 1 seems thebest
choice as it is suggested by Kögl and Silva (2005).Indeed, it is
not necessary to penalize the polarization.
4MATLAB implementation codes
In this section, the goal is to establish the MATLAB code forthe
piezoelectric optimization methodology explained in theprevious
section. Two MATLAB codes are mentioned in theAppendix of the
paper. The first code is for actuation and thesecond code is for
energy harvesting. Each MATLAB codeis partitioned so the readers
can have a perception of the goalof each part. The important lines
of codes are also labeled
-
to provide a connection between the line and the
analyticalcalculation. Again, the rest of this section will be
divided foractuation and energy harvesting codes and in each
sectiondifferent parts of the codes will be explained more in
detail.
4.1 Actuation
4.1.1 General definition
The first part of the code is GENERAL DEFINITION. Thispart
consists of geometrical dimensions of the piezoelectricplate, the
resolution of the mesh, i.e., the number of
elements in the→x and
→y axes, the penalization factors,
the type of filter, the filter radius and maximum number
ofiterations and the stiffness of the attached spring are
defined.It should be noted that two stopping criteria are definedby
the codes. The classical criteria is the density changebetween two
last successive iterations. The other criteriais the maximum number
of iterations. Satisfying either ofthese will stop the
optimization. The reason behind addingthe second criteria is that
in contrast to pure mechanicalproblems, here we have different
types of material anddifferent types of objective functions. As
such, the densitychange will not stop the optimization generally or
it needsvery high number of iterations while there are no
significantoscillations in the objective function’s value.
4.1.2 Material properties
The second part of the code is MATERIAL PROPERTIES.In this part
of the code, the properties of the chosenpiezoelectric material are
given. These properties are thedensity, e∗31 coupling coefficient,
�∗33 permittivity coefficientand the elements of the stiffness
tensor all after applyingthe plane stress assumption as mentioned
in (4). The chosenmaterial for the code is the PZT 4 which is
popular in theliterature. There are PZT materials with lower and
highercoupling coefficients. If one wants to investigate the
resultsof other piezoelectric materials, the values of this part
canbe changed.
It should be noted that choosing different PZT materialsin this
section will not affect the final layout obtained byoptimization
algorithm. In fact the resulted layout of theoptimization is
independent from Piezoelectric coefficients.
4.1.3 Finite element model
In the section called PREPARE FINITE ELEMENTANALYSIS, the
proposed code for the finite element modelof the piezoelectric
plate is the extension of the MATLABcode provided by Kattan (2010)
for the bilinear quadrilateralelements of the passive materials.
However, instead of using
analytical calculations, elemental matrices are calculated
byusing the two-point Gauss quadrature method. To do so, firstthe
geometrical sizes of each element are calculated basedon the
defined geometry of the design domain and desiredresolution of
mesh. Then, Gauss quadrature points aredefined in matrix GP.
Afterwards, the elemental matricesare found inside a loop with the
help of Gauss points asfollows,
In this method of elemental matrix calculation, there is
noanalytical integration, the calculation time is very fast andat
the same time the code is flexible in terms of differentgeometrical
dimensions and mesh resolution and aspectratios.
After calculating the elemental matrices, normalization
isapplied based on (20) and normalization factors are obtainedwith
the following lines of code
It should be noted that for simplicity, the
non-normalizedmatrices are replaced by normalized matrices. Since
thenormalization factors are saved, it is easy to find the
realvalues after the calculation of the final results.
So far, the elemental matrices are calculated, normalizedand the
normalization factors are derived. For assemblingthe elemental
matrices, the element connectivity matrixknown as edofMat
(Andreassen et al. 2011) is builtwith the help of the numbering
format shown in Fig. 2.In this figure, the coarse discretization is
shown withthe numbering of elements, nodes and mechanical
andelectrical degrees of freedom. This numbering format issimilar
to the one presented in 99 (Sigmund 2001) and88 (Andreassen et al.
2011) lines of MATLAB codes forstructural problems. The numberings
of the nodes andmechanical degrees of freedom are from top to
bottomand from left to right. It should be noted that insideeach
element, the numbering order is different as it isshown in Fig. 2b.
The numbering inside each element iscounterclockwise and it starts
from bottom left and thesequence of numbers in each row of edofMat
matrixis following this numbering order. Furthermore, since
thesystem here is having additional degree of freedom aspotential,
a vector of potential connectivity is defined asedofMatPZT. In
fact, by considering one potential degreeof freedom for each node,
potential connectivity would be a
-
matrix with rows containing the node IDs. However, due
toequipotential condition, one potential degree of freedom
isconsidered for each element and the potential connectivityis a
vector. At last, the connectivity matrix edofMat and thepotential
connectivity vector edofMatPZT is defined as
The implementation lines to create the edofMat matrixand
edofMatPZT vector with the help of nodeIDs are
where nele is the number of elements, nodenrs is the matrixof
node numbers and edofVec is the vector of nodeIDscontaining the
first nodeID of each element. Now, withthe edofMat and edofMatPZT,
it is possible to assemblethe elemental matrices and build the
global matrices withfollowing lines of code
The matrices iK and jK corresponds to (i, j) entry ofstiffness
matrix for each element. With the same strategy,iKup and jKup are
written for the ith and jth entry of Kuφ
matrix. To avoid redundancy, there is no iKpp and jKpp. Infact,
these latter are just equal to the edofMatPZT.
The material interpolation scheme mentioned in (25),is applied
in sKuu and sKup matrices. xPhys(:) andpol(:) are the vectorized
physical density and polarizationmatrices respectively which will
be updated in each iterationof optimization.
4.1.4 Boundary condition
The mechanical boundary conditions are defined in thepart
DEFINITION OF BOUNDARY CONDITION. Inthis part, fixeddofs and
freedofs are defined to containthe fixed degrees of freedom and the
free degrees offreedom respectively. They are defined by using the
methodreported in 88 lines (Andreassen et al. 2011) and 99lines
(Sigmund 2001) of code. Therefore, for applying theclamped boundary
condition on the left side of the designdomain, the following lines
of code can be used,
By considering that for the coarse mesh in Fig. 2, nelx= 4 and
nely = 3, fixeddofs in the aforementionedimplementation line
produce the numbers from 1 to 8 whichare the mechanical degrees of
freedom in the left side of thedesign domain.
4.1.5 Output displacement definition
In this part of the code for actuation, the goal is todefine the
particular point of the design domain where themaximization of
displacement in a particular direction isdesired. To do so, the
desired mechanical degree of freedomshould be defined. The variable
DMDOF which is theabbreviation of desired mechanical degree of
freedom isdefined for this purpose. Thereafter, the vector L is
created.This vector will be used later in the objective function
andsensitivity analysis for optimization.
A spring is attached at DMDOF which simulates thereaction force
exerted by an imaginary object. The modeledspring will modify the
piezoelectric stiffness matrix withthis line of code
where Ks is the stiffness of the modeled spring. Actually,by
changing the stiffness of the modeled spring, it ispossible to
determine whether more force is desired ormore displacement.
Indeed, since the stiffness matrix isnormalized, the stiffness of
the modeled spring can bedetermined with respect to the stiffness
of the piezoelectricplate. For example, by putting the stiffness of
the spring
-
equal to 1, the stiffness will be equal to the highestvalue of
the piezoelectric stiffness matrix. In this case,the piezoelectric
layout will be optimized to producemaximum possible of force.
However, by defining verylow values of stiffness for the spring
(i.e., 0.01), thenthe piezoelectric layout will be optimized for
maximumpossible of deflection.
4.1.6 Objective function
Calculation of objective function for actuator is a
routineprocedure to calculate the desired displacement in
eachiteration. To do so, first the mechanical displacement due
toapplied voltage should be calculated. Therefore, based on(21),
the mechanical displacement vector is calculated bythe following
line of code
then based on (36), the objective function can be
calculatedby
4.1.7 Sensitivity analysis
For sensitivity analysis, the first step is the calculation
ofadjoint vectors. It is calculated based on (28),
then the calculation of sensitivities based on (29) and
(30)starts afterwards
where dc and dp are the sensitivities of the objectivefunction
with respect to x and P and dv is the sensitivitiesof the volume
constraint with respect to x. It is obvious from
(26) that the sensitivity of volume constraint with respect toP
is zero.
As can be seen in the aforementioned lines of the code,the
sensitivities containing the stiffness (kuu) and couplingmatrix
(kup) are calculated separately. This will help us todefine
different penalization coefficients for each of thesematrices.
4.1.8 Optimization algorithm
The implementation lines of code for the OC update ofdensities
are the same as what is mentioned in 88 linesof code (Andreassen et
al. 2011). In addition to densities,for updating the polarization
based on algorithm (49), thereis no need for the bi-sectioning loop
and just one lineof code can optimize the polarization in each
iteration ofoptimization as follows
4.1.9 Plot densities and polarization
In part (PLOT DENSITIES & POLARIZATION), thedensities and
polarization will be plotted in two figuresseparately. As it is
common, in the density figure, white areameans no material while
the black area means material.
Different color spectrum is chosen for polarizationprofile in
which the red and blue color shows oppositedirection of
optimization while the green color shows theneutral material with
no polarization. The important pointhere is that the OC will steer
the polarization value to 0 or 1even for the elements with lower
density. Therefore, here toeliminate the confusion, the matrix of
densities is multipliedto the polarization. In this way, for
element with minimumdensity (no material), the polarization turns
to green as well.
4.1.10 Filtering
The density filtering lines of code are similar to 88 linesof
code (Andreassen et al. 2011). Two types of density andsensitivity
filter can be chosen. In general, the density filteris more
recommended. However, since the code is writtenfor both of these
filters, the best choice will be up to readers.
4.2 Energy harvesting
4.2.1 General definition
In general definition part of the energy harvesting code,in
addition to what is mentioned for the actuation code,
-
the objective function’s weighing factor (wj) and
excitationfrequency (omega) are defined.
4.2.2 Material properties
This part of the energy harvesting code is similar to
theactuation code. However, the results of actuation are freefrom
the PZT coefficients while in the case of energyharvesting for
different materials and different piezoelectriccoefficients, the
results will be changed. PZT materials withhigher coupling
coefficients produce more electrical energyin comparison with ones
with lower coupling coefficients.At the same time, PZT materials
with higher couplingcoefficients have more coupling effect which
affect theoptimization during the iteration and can change the
finallayout. Similar to actuation code, PZT 4 is chosen for
thecode.
4.2.3 Finite element model
In comparison with FE model presented in the actuationcode, the
FEM part of the energy harvesting is the same withsome additional
calculations. Indeed, the elemental matricesfor mass and dielectric
matrices are calculated as well in thefollowing lines of code,
For assembling the global mass matrix M , the samematrices of iK
and jK as described in the actuation code canbe used. The
assembling lines of mass matrix and dielectricmatrix K̃φφ can be
found in energy harvesting code as
where the related material interpolation scheme is appliedin sM
and sKpp.
Furthermore, the stiffness matrix is modified by thedynamic
matrix -omega*M which represents (−M̃Ω̃2) in
(23). This modification is done by the following line ofcode
After building the global piezoelectric matrices,
theequipotential condition is applied with the following line
ofcode
where KupEqui and KppEqui are the piezoelectric cou-pling and
dielectric matrices after applying the mechanicaland equipotential
condition which represent Kuφ and Kφφ .
4.2.4 Objective function
To find the value of objective function, the
mechanicaldisplacement and resulted potential due to applied
forceshould be calculated based on (23). But, first a totalmatrix
is built based on the left-hand side of (23).The symmetry is
guaranteed afterward, and finally, themechanical displacements and
potential are calculated
After calculation of mechanical displacement and poten-tial, for
calculation of objective function, Wm and We aredefined for
mechanical and electrical energies respectively.
It is important to note that in the written code,the mechanical
and electrical energies are calculated bysumming the energies in
each element. That is whythe mechanical displacement and electrical
potentials aremultiplied to elemental stiffness matrix kuu and
elementaldielectric matrix kpp. Then, the objective function for
theenergy harvester is the weighted sum of the energies
whileconsidering the weighting factor (wj).
-
4.2.5 Sensitivity analysis
Sensitivity analysis starts by calculating adjoint vectors
withthe help of (40)
Here, B is the Boolean matrix as defined in (41). In fact,mu1
and mu2 are vectors of equal values for all of the elementsin the
design domain due to equipotential condition.For sensitivity
analysis, the adjoint vectors related tomechanical and electrical
states should be separated. Forthis reason, ADJ resolved to lambda
and mu.
After calculation of adjoint vectors, the sensitivityanalysis is
performed by the following lines of code
The code is written in a general form to considernf number of
load cases. Therefore, for each numberof load cases the mechanical
displacement, potential andadjoint vectors are separated by
defining the Uu i, Up i,lambda1 i, lambda2 i, mu1 i and mu2 i. In
addition,mechanical displacement, potential and adjoint vectors
arecalculated in global format while the sensitivity analysisshould
be performed on the elemental scale. To do so,edofMat is utilized
to convert the vector of mechanicaldisplacement to the matrix Uu
i(edofMat) in whicheach row is related to one element while the
columnsrepresent the mechanical displacement of that element.The
same idea is also applied to the adjoint vectors, i.e.,lambda1
i(edofMat) and lambda2 i(edofMat). On the otherhand, due to
equipotential condition, it is obvious that thepotential of each
element is equal to Up, and as mentionedbefore, values of mu1 and
mu2 are equal for all elements.
Similar to the actuation code, here the sensitivities
con-taining each piezoelectric matrix are calculated separatelyto
facilitate the definition of different penalization factors.
4.2.6 Optimization algorithm
In the energy harvesting code, the MMA optimizationalgorithm is
used. However, this code cannot be executedwithout having the
external MMA code. The MMAimplementation MATLAB code can be
obtained bycontacting Prof. Krister Svanberg. In this way, the
interestedreaders will obtain two MATLAB codes to implement theMMA
optimization code which includes mmasub.m andsubsolv.m. The version
2007 of these codes is used in thispaper. Supposing that these two
MATLAB codes are alreadyavailable, to implement the MMA, first
initial parametersare defined in MMA Preparation part based on what
ismentioned in Section 3.4.2. Then, optimization of variableswill
be done in MMA OPTIMIZATION OF DESIGNVARIABLES part. The important
point in this part is that,due to the scale difference between the
density sensitivitiesand polarization sensitivity, it is suggested
here to normalizethe polarization sensitivity with the following
line of code
Then, the main lines of MMA optimization implementa-tion are
The output xmmaa is the vector of all optimizationvariables.
Therefore, the upper half of this vector is theupdated density and
lower half is the polarization values.
-
Fig. 3 Topology optimization of a piezoelectric actuator
(pusher) fordifferent stiffness of the modeled spring. Panel a
presents the spec-ification for a practical use and panel b is the
mechanical modelfor implementation in the finite element software.
Panels c, e, g, i
and d, f, h, j respectively present the density and polarization
pro-file of the design for the specified output stiffness after
convergence.For the polarization profile, blue, red and green
represent respectivelynegative, positive and null polarization
After updating the optimization variables and plotting
theresults, this iteration of optimization will be finished and
theoptimization will be started from the beginning of the loopfor
the next iteration.
5 Numerical examples
In this section, the goal is to investigate the performancesof
the codes in different application cases of actuationand energy
harvesting with different configurations. First,different examples
of actuation will be investigated.Thereafter, different
configurations of energy harvesting areexplored.
5.1 Actuation
5.1.1 Pusher
The first example in the actuation part is a simple pusheras can
be seen in Fig. 3a. The gray area shows thedesign domain which can
be optimized by the optimizationalgorithm. The actuation
optimization code which ismentioned in the Appendix is written for
this example. As itcan be seen from the code, the aspect ratio of
the elements inthe x and y directions is following the aspect ratio
betweenthe length and width of the plate which produces
squareelements for discretization of the design domain. This is
notmandatory, but it is known that increasing the aspect ratio
of
width and length of each element increases the inaccuracyof the
finite element model (Logan 2000). Therefore, itis recommended to
follow the aspect ratio of the plate indefining the number of
elements in x and y directions.
The chosen penalization factors are puu = 3 and puφ =4, which
satisfy the conditions mentioned in (52). Thesepenalization factors
are the same for all of the actuationexamples.
For having a completely symmetrical response withrespect to the
horizontal dotted line in Fig. 3a and todecrease the number of
elements in the design domain, thedefined design domain in the code
is the upper half of thepiezoelectric plate. Therefore, in the
symmetry line of thedesign domain, the roller mechanical boundary
condition isapplied with the following line of code,
With this mechanical boundary condition, the nodesconnected to
the symmetry line can have displacement inthe x direction but not
in the y direction.
As can be seen in Fig. 3, the results of topologyoptimization
for different spring stiffness are plotted. Theupper row of the
figure shows the density layout while thelower row shows the
polarization profile. By mirroring theobtained result with respect
to the symmetry line, the resultsare illustrated for whole
piezoelectric plate.
The numerical results for different spring stiffness arealso
reported in Table 1. The numerical results show the
-
Table 1 Displacement amplification ratio of optimized actuators
withrespect to full plate
Pusher Gripper
ks Amplification ks Amplification
ratio ratio
CASE (1) 1 0.76 1 3.95
CASE (2) 0.1 0.99 0.1 11.42
CASE (3) 0.01 1.54 0.01 34.04
CASE (4) 0.005 2.75 0.003 60.11
amplification ratio of the optimized design with respect tothe
full plate under application of same value of voltage. Theobjective
value which is reported by the code is not showingthis
amplification ratio. To calculate the amplification ratio,the final
value of the objective function after finishing theoptimization
should be divided by the objective functionvalue of the full plate.
To find the objective function of thefull plate, it is possible to
define the initial values of densityequal to 1. To do so, the
following line of code
put 1 instead of volfrac, then stop the code after
thecalculation of objective function. In this case, the value
ofobjective function for the full plate is obtained.
From the plots in Fig. 3c and d, it is clear that whenthe spring
stiffness is one, the optimal layout is a verysimple lumped design
with uniform polarization profile.Based on Table 1, for this case,
the full plate is havingmore displacement. On the other hand, by
considering verylow stiffness (Ks = 0.005) and then based on Fig.
3i andj, the density layout is more complicated and
polarizationprofile is not uniform anymore. In fact, it is obvious
that theblue region in the polarization profile will have
extensionwhile the red part will have compression (shrinkage).
Thecombination of this extension and compression will producean
amplification ratio with respect to full plate equal to 2.75as
reported in Table 1.
5.1.2 Gripper
The second example of piezoelectric actuation is a gripper,which
is similar to the case discussed in Ruiz et al. (2017).The goal is
to design a gripper to grab an object as it isshown in Fig. 4a and
b. To do so, some modifications should
be done to the actuation code in the Appendix. First of all,the
OUTPUT DISPLACEMENT DEFINITION part shouldbe completely changed by
replacing the following lines
where L grip and W grip are the length and width of theempty box
in the piezoelectric plate as shown in Fig. 4aand b.
Next, to enforce zero material in the desired box of thedesign
domain, the passive elements should be defined. Thestrategy is the
same as in 99 lines (Sigmund 2001) and in 88lines (Andreassen et
al. 2011) of code. The following partshould be added after the part
INITIALIZE ITERATIONand before the part START ITERATION
Then to apply the passive material in each iteration,
thefollowing line should be added after the OC update line
Now by executing the code, the results of Fig. 4 fordifferent
spring stiffness will be obtained and the numericalresults are
reported in Table 1. It is interesting to note thatfor the gripper,
the amplification ratios in optimized designsare much higher than
the amplification ratios for optimizedpushers. Indeed, the
polarization optimization plays a majorrole in designing the
gripper. That is why for any chosenvalues of Ks, the polarization
profile is not uniform and the
-
Fig. 4 Topology optimization of a piezoelectric gripper for
different stiffness of the modeled spring. The panels follow the
same presentation asFig.3
gripper needs the combination of expansion and retractionfor
increasing the amplification ratio.
5.2 Energy harvesting
5.2.1 Lateral force
The first example of the energy harvesting code is a plateunder
a lateral force excitation as it is shown in Fig. 5.The code in the
Appendix is written for this case. Here,the goal is to maximize the
output electrical energy whileminimizing the mechanical energy of
the system. For thiscase, the problem is static and the excitation
frequencyis considered to be zero. The chosen penalization
factors
for the energy harvesting code in contrast to actuationpart are
not the same for all cases. As such in Table 2,the penalization
factors are reported for each case. But,for all cases, the chosen
penalization factors are satisfyingthe conditions mentioned in (51)
and (52). The reason fordifferent penalization factors for each
case is that the energyharvesting optimization is more complicated
than actuationdue to existence of the coupling effect. This
coupling effectis highly affected by the chosen penalization
factors inparticular puφ and pφφ . By choosing proper
penalizationfactors, it is possible to avoid the nonsymmetric
results or toimprove the convergence.
The results of optimization for different values of theweighting
factor (wj ) are illustrated in Fig. 5. For the first
Fig. 5 Topology optimization of a piezoelectric energy harvester
underapplication of a lateral static force for different values of
wj . Panel apresents the specification for a practical use and
panel b is the resultthat can be obtained through classical
compliance optimization. Panels
c, e, g, and d, f, h respectively present the density and
polarization pro-file of the obtained design. For the polarization
profile, blue, red andgreen represent respectively negative,
positive and null polarization
-
Table 2 Output energies of the optimized designs for different
weighting factors
wj ΠS ΠE puu puφ pφφ pP Ω x{0} MMA move
Lateral force
Compliance 1 116.66 0.00 3 6 4 0 0 volfrac 1
CASE (1) 1 99.90 1.25 3 6 4 1 0 volfrac 1
CASE (2) 0.01 152.87 1.70 3 4 4 1 0 volfrac 1
CASE (3) 0.005 741.09 7.77 3 4 4 1 0 volfrac 1
CASE (4) 1 106.04 1.38 3 6 6 1 1 kHz volfrac 1
CASE (5) 0.01 123.15 1.43 3 6 6 1 1 kHz volfrac 0.1
CASE (6) 0.02 240.50 2.63 3 6 4 1 3.5 kHz volfrac 0.1
2 load case
Compliance 1 106 0.03 3 6 6 0 0 1 1
CASE (1) 0.005 168.54 1.20 3 6 6 1 0 1 1
CASE (2) 1 107.88 0.86 3 6 6 1 1 kHz 1 0.1
CASE (3) 0.005 163.43 1.04 3 6 4 1 1 kHz 1 0.1
CASE (4) 0.05 120.06 0.95 3 6 6 1 1.5 kHz 1 0.1
case, the weighting (wj ) is equal to 1. As such, the problemis
now a compliance problem in which minimization ofdeflection is the
target. In this case, the optimization isdone without polarization
optimization. To do optimizationwithout polarization, it is
possible to simply put thepenalization factor for the polarization
equal to 0, i.e.,penalPol = 0 in GENERAL DEFINITIONS part of
thecode. As can be seen in Fig. 5b, the obtained densitylayout for
this case is similar to the results of the topologyoptimization of
passive materials as reported by 99 lines(Sigmund 2001) or 88 lines
(Andreassen et al. 2011) ofMATLAB code. This was expected since the
PZT materialshave the plane isotropic behavior. The numerical
results ofthe optimizations are given in Table 2. It is reported
for theaforementioned case that the output electrical energy is
zerowhich is due to the charge cancellation. In fact, lateral
forceinduces tension and compression in different parts of
thepiezoelectric plate which produces voltages with oppositesign on
the surface of the electrode. The opposite signs ofvoltages nullify
each other.
For the next case, polarization is also optimized byputting
penalPol = 1. In Fig. 5c and d, it is obviousthat the density
layout did not change and the polarizationprofile is not uniform
anymore. By this polarizationoptimization, based on Table 2, not
only the mechanicalenergy of the piezoelectric plate is reduced in
comparisonwith the first case, but also the problem of
chargecancellation is suppressed and we have a non-zero
electricalenergy.
In the next case, the goal is to increase the electricalenergy
due to the same amount of force. To do so, theweighting factor is
decreased to 0.01. As can be seenin Fig. 5e and f, the density
layout is changed andthe polarization profile is changed
accordingly as well.By observing the obtained numerical results in
Table 2,the electrical energy is increased in comparison with
theprevious cases with the cost of increasing the mechanicalenergy
as well. By further increasing the weighting factor,the results of
Fig. 5g and h will be obtained in which ajump in both mechanical
energy and electrical energy of thedesign can be seen in Table
2.
It can be noticed that in the optimized polarization
profiles,there are areas with null polarity (green color) while
thereare materials (non-void). This null polarity is mostly
atplaces where there is a transition between the
polarizationdirection. It is possible to take these null polarity
areas intoconsideration in the optimization problem formulation
asdiscussed in Donoso and Sigmund (2016).
In the next example, the piezoelectric plate with thesame
configuration of boundary and load condition isconsidered while the
force is considered to be harmonic. InFig. 6, the results of
topology optimization under harmonicforce can be seen. The related
numerical results are alsoreported in Table 2. In this figure, the
excitation frequencyis primarily considered to be 1 kHz. At this
frequency,the optimization converges to the final layout for
differentvalues of wj . However, by increasing the frequency
ofexcitation, convergence problems begin. The problems are
-
Fig. 6 Topology optimization of a piezoelectric energy harvester
underapplication of a lateral harmonic force for different values
of wj . Panela presents the specification for a practical use and
panels b, d, f,
and c, e, g respectively present the density and polarization
profile ofthe obtained design. For the polarization profile, blue,
red and greenrepresent respectively negative, positive and null
polarization.
parasitic effects of the material layout and the force will
bedisjointed from the material. These problems are due to thefact
that the excitation frequency is close to the resonanceand
antiresonance frequency of the piezoelectric plate. Theresonances
are the natural frequencies when the electrodesare short-circuited
and antiresonances are the ones whenthe electrodes are in
open-circuit condition (Lerch 1990).During the optimization, these
frequencies are changing ineach iteration. Therefore, it is
possible that the excitationfrequency comes close to the resonance
frequency duringthe optimization which will introduce singularity
in theFEM (23) and the amplitude of the displacement vectorreaches
to infinity. Even by defining the damping, still thejump in the
displacement vector will result in numericalinstabilities and
disjoint problem in which the force willbe disconnected from
material as it is reported by Nohand Yoon (2012). One solution to
reduce the numericalinstabilities is to restrict the move limit of
the MMAcode. Indeed, the move limit of the MMA optimizationcode is
by default set to 1 which means the density ofmaterial can jump
from 0 (void) to 1 (material) in a singleiteration. To modify this
move limit, in the mmasub.m,one needs to change the value of move
from 1 to 0.1.With this restriction on the move limit, convergence
toa black and white final layout is achieved for 3.5 kHzexcitation
frequencies as it is shown in Fig. 6f and g.However, by reducing
the MMA move limit, the final resultcan be trapped in the local
optima. This is the maximumexcitation frequency that the
convergence can be achieved.After this frequency, again the force
will be disjointedfrom the material and the convergence problem can
beseen. To overcome the challenges of dynamic topologyoptimization
of mechanical structures, several methodscan be found in the
literature. For example, Olhoff andDu (2005) suggest that the
excitation frequency can be
increased gradually during the optimization iterations. Liuet
al. (2015) and Jensen (2007) modeled the damping in thedynamic
system and optimized the structure for an intervalof frequencies
including the resonance ones. For mechanicalstructures, the goal is
to reduce the displacement or storedmechanical energy in the
system. For piezoelectric energyharvesters in which the
maximization of electrical outputregarding the mechanical input is
desired, Noh and Yoon(2012) solved the disjoint problem of force
and materialin dynamic topology optimization by defining a
constrainton the mechanical energy of the piezoelectric structure
andthey defined the objective function as maximization of
theelectrical output of the system.
Reducing the weighting factor wj brings the resonancefrequency
closer to the excitation frequency to someextent. However, a very
low weighing factor can introduceconvergence problems as well. On
the other hand, forpiezoelectric energy harvesters, matching the
resonancefrequency and excitation frequency is favorable. To do
so,the problem formulation should be changed. For example,Kim and
Shin (2013) did eigenfrequency optimization toincrease the
electromechanical coupling coefficient of thedesign and to match
the resonance frequency and theexcitation frequency. Wang et al.
(2017) and Nakasoneand Silva (2010) formulated the optimization
problem tooptimize the eigenmodes in addition to optimization ofthe
eigenfrequency. It is worth mentioning that for theseproblem
formulations, alternative material interpolationfunctions should be
used to avoid the artificial local modesin the low-density regions
(Pedersen 2000). The alternativematerial interpolation functions
can be the one introducedby Huang et al. (2010) for the stiffness
matrix or the RAMPinterpolation function which is used by Nakasone
and Silva(2010) in combination with the PEMAP-P
interpolationfunction.
-
Fig. 7 Topology optimization of a piezoelectric energy harvester
underapplication of 2 load cases for different values of wj and Ω .
Panel apresents the specification for a practical use and panel b
is the resultthat can be obtained through classical compliance
optimization. Panels
c, e, g, i and d, f, h, j respectively present the density and
polar-ization profile of the obtained design. For the polarization
profile,blue, red and green represent respectively negative,
positive and nullpolarization
5.2.2 Two loads case
In this example, the goal is to optimize piezoelectric
energyharvesters for two loads case as shown in Fig. 7a. In
fact,the piezoelectric plate will be optimized for in-plane
forcesthat can come from different directions as it is discussed
inHomayouni-Amlashi et al. (2020b) since any in-plane forcecan be
decomposed to the load cases shown in Fig. 7a. Themechanical
boundary condition of this figure is proposed tomake the harvested
energy symmetric with respect to theforces in each direction as it
is possible.
To implement the two loads case, the following changesshould be
made to the energy harvesting code mentionedin the Appendix. The
parameters in the GENERALDEFINITIONS part should be changed by
putting Lp= 3e−2, Wp = 3e−2, nelx = 100, and nely = 100.To define
the boundary condition, the DEFINITIONOF BOUNDARY CONDITION part
will be changedcompletely as follows
BCTratio is the ratio of the clamped part to the totallength of
the edge. To define the two load case the partFORCE DEFINITION will
be changed with the followinglines:
In contrast to previous case, the initial values for
thedensities (x{0}) are not equal to volume fraction (volfrac).It
is observed that by changing the initial values to one,the obtained
results are more symmetric. Therefore, thefollowing line of energy
harvesting code is updated,
The results for the defined load and boundary conditionare
illustrated in Fig. 7. Figure 7b shows the complianceresult due to
static force without polarization optimization.In Fig. 7c and d the
excitation frequency is zero, wjis decreased and polarization is
also optimized. Othercases are optimized for different excitation
frequencies andweighting factors. The numerical results are
reported inTable 2. For defined geometry, load and boundary
conditionof this example, the highest frequency that the
convergenceto black and white is achieved is 1.5 kHz. This is due
to the
-
fact that with the defined geometry and boundary condition,the
first resonance frequency is lower than the previousexample of Fig.
6.
6 Discussion
In the actuation code, the optimization algorithm is OC.However,
it is very simple to apply the MMA to theactuation code. One has
just to copy the MMA Preparationpart from the energy harvesting
code and paste it after theINITIALIZE ITERATION part of the
actuation code. Then,one has to remove the OPTIMALITY CRITERIA
UPDATEOF DESIGN VARIABLES part and substitute the MMAOPTIMIZATION
OF DESIGN VARIABLES part from theenergy harvesting code. It will be
observed that the obtainedresult remains the same.
It is possible to implement the OC in the energyharvesting code
as well. This can be simply done bysubstituting the MMA
OPTIMIZATION OF DESIGNVARIABLES part with the OPTIMALITY
CRITERIAUPDATE OF DESIGN VARIABLES part of the actuationcode.
However, due to coupling effect, sometimes theconvergence problem
appears.
It should be noted that the results presented in thispaper are
not the best results that can be obtained from thecodes. In fact by
changing the penalization factors, volumefraction, filter radius
and initial values, different results canbe obtained. However,
finding the best results or performingthe parameters analysis on
the final results is not the subjectof this educational paper.
There are similar aspects between the proposed codeshere and the
88 lines of MATLAB code (Andreassenet al. 2011), such as the use of
different filtering methods,different boundary conditions, and
different load cases.These aspects are not discussed here since the
procedures ofimplementation are similar.
Extension of the codes for different goals such asdifferent
objective functions, multi-material optimization,and 3D finite
element modeling is straightforward. Forexample, the 169 lines of
code for 3D topology optimization(Liu and Tovar 2014) of passive
material are the extensionof the 88 lines of code. The same
strategy can be used for theproposed code here to extend the code
for 3D finite elementsto consider multi-layer piezoelectric plates
and out of planeforces.
7 Conclusion
Two MATLAB codes are proposed for topology optimiza-tion of
piezoelectric actuators and energy harvesters. The
codes are developed based on the finite element modelingof
piezoelectric materials. The PEMAP-P as an extension ofSIMP
approaches is used for material interpolation scheme.Optimality
criteria and method of moving asymptotes areused for optimization
of element’s density and polariza-tion direction. Different parts
of the codes are explainedin detail to make the implementation and
extension of thecodes straightforward. Some basic and general
examples arechosen to show the effectiveness of the codes. The aim
ofthe codes is to help the students and newcomers in the fieldof
topology optimization of smart materials in particularthe
piezoelectric material. While the codes have been andcan be used
for energy harvesting and actuation applica-tions, perspective
works include their application to opti-mization of piezoelectric
sensors as well as piezoelectricsensors-actuators, also named as
self-sensing (BafumbaLiseli and Agnus 2019; Rakotondrabe 2013;
Aljanaidehet al. 2018).
Funding This work has been supported by the national CODE-TRACK
project (ANR-17-CE05-0014-01, Control theory tools foroptimal
design of piezoelectric energy harvesters devoted to birdstracking
devices). This work has also been partially supported by
theBourgogne Franche-Comté region project COMPACT.
Compliance with ethical standards
Conflict of interest The authors declare that they have no
conflict ofinterest.
Replication of results All the results presented in this work
can bereproduced with the MATLAB code available within the paper
and byadding reference of this latter.
Appendix: Proof of normalization
Here the goal is to prove the normalization which isproposed by
authors in Homayouni-Amlashi (2019) andHomayouni-Amlashi et al.
(2020b). To normalize the globalFEM equation of the piezoelectric
plate
[Kuu − MΩ2 Kuφ
Kφu −Kφφ] [
U
Φ
]=
[F
0
](A.1)
the first step of normalization is to factorize the
valuesdefined in (20) and (22)
Kuu = k0K̃uu, M = m0M̃, Kuφ = α0K̃uφ,Kφφ = β0K̃φφ, U = u0Ũ , Φ
= φ0Φ̃, F = f0F̃
(A.2)
-
It should be noted that since the responses of the system,i.e.,
U and Φ are unknown, their factorization values will bedefined
later.
With the help of factorization defined in (A.2), (A.1) canbe
rewritten as follows,
[k0K̃uu − m0M̃Ω2 α0K̃uφ
α0K̃φu −β0K̃φφ] [
u0Ũ
φ0Φ̃
]=
[f0F̃
0
](A.3)
This is two linearly coupled equations. The secondequation can
be written as
α0u0K̃φuŨ − β0φ0K̃φφΦ̃ = 0 (A.4)
Then, the Φ̃ will be
Φ̃ = α0u0β0φ0
K̃−1φφ K̃φuŨ (A.5)
The first linear equation from (A.3) can be written as
(k0K̃uu − m0M̃Ω2)u0Ũ + α0φ0K̃uφΦ̃ = f0F̃ (A.6)
By substituting (A.5) to (A.6) and dividing the resultedequation
by k0u0, one will have
(K̃uu − m0
k0M̃Ω2
)Ũ + α0φ0
u0k0
α0u0
β0φ0K̃uφK̃
−1φφ K̃φuŨ
= f0k0u0
F̃ (A.7)
Now, it is possible to define,
Ω̃2 = m