Topology optimization of shape memory polymer structures with programmable morphology


We present a novel optimization framework for optimal design of structures exhibiting memory characteristics by incorporating shape memory polymers (SMPs). SMPs are a class of memory materials capable of undergoing and recovering applied deformations. A finite-element analysis incorporating the additive decomposition of small strain is implemented to analyze and predict temperature-dependent memory characteristics of SMPs. The finite element method consists of a viscoelastic material modelling combined with a temperature-dependent strain storage mechanism, giving SMPs their characteristic property. The thermo-mechanical characteristics of SMPs are exploited to actuate structural deflection to enable morphing toward a target shape. A time-dependent adjoint sensitivity formulation implemented through a recursive algorithm is used to calculate the gradients required for the topology optimization algorithm. Multimaterial topology optimization combined with the thermo-mechanical programming cycle is used to optimally distribute the active and passive SMP materials within the design domain. This allows us to tailor the response of the structures to design them with specific target displacements, by exploiting the difference in the glass-transition temperatures of the two SMP materials. Forward analysis and sensitivity calculations are combined in a PETSc-based optimization framework to enable efficient multi-functional, multimaterial structural design with controlled deformations.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23


  1. 1.

    Note that implicit derivatives, \(\frac {d*}{d\boldsymbol {\rho }}\), capture implicit dependence of a function or state variable with respect to ρ due to the solution of the residual, whereas explicit derivatives capture only direct dependence. Consequently, implicit derivatives are more expensive to evaluate, and therefore we seek to eliminate them from the sensitivity calculation


  1. Aage N, Andreassen E, Lazarov BS (2015) Topology optimization using PETSc: an easy-to-use, fully parallel, open source topology optimization framework. Struct Multidiscip Optim 51(3):565–572

    MathSciNet  Article  Google Scholar 

  2. Baghani M, Naghdabadi R, Arghavani J, Sohrabpour S (2012) A thermodynamically-consistent 3D constitutive model for shape memory polymers. Int J Plast 35:13–30. [Online]. Available:

    Article  Google Scholar 

  3. Behl M, Lendlein A (2011) Shape-memory polymers, pp. 1–16. American Cancer Society, [Online]. Available:

  4. Bowen CR, Kim HA, Weaver PM, Dunn S (2014) Piezoelectric and ferroelectric materials and structures for energy harvesting applications. Energy Environ Sci 7:25–44. [Online]. Available:

    Article  Google Scholar 

  5. Bendsøe MP, Sigmund O (1999) Material interpolation schemes in topology optimization. Arch Appl Mech 69(9):635–654. [Online]. Available:

    MATH  Google Scholar 

  6. Bruns TE, Tortorelli DA (2001) Topology optimization of non-linear elastic structures and compliant mechanisms. Comput Methods Appl Mech Eng 190(26):3443–3459. [Online]. Available:

    Article  Google Scholar 

  7. Carbonari RC, Silva ECN, Paulino GH (2008) Topology optimization applied to the design of functionally graded piezoelectric bimorph. AIP Conf Proc 1:291–296. [Online]. Available:

    Article  Google Scholar 

  8. Carrell J, Tate D, Wang S, Zhang H-C (2011) Shape memory polymer snap-fits for active disassembly. J Clean Prod 19(17):2066–2074. [Online]. Available:

    Article  Google Scholar 

  9. Chen Y-C, Lagoudas DC (2008a) A constitutive theory for shape memory polymers. Part I: large deformations. J Mech Phys Solids 56(5):1752–1765. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  10. Chen Y-C, Lagoudas DC (2008b) A constitutive theory for shape memory polymers. Part II: a linearized model for small deformations. J Mech Phys Solids 56(5):1766–1778. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  11. Cho J-H, Azam A, Gracias DH (2010) Three dimensional nanofabrication using surface forces. Langmuir 26(21):16534–16539. pMID: 20507147. [Online]. Available:

    Article  Google Scholar 

  12. Choi M-J, Cho S (2018) Isogeometric configuration design optimization of shape memory polymer curved beam structures for extremal negative Poisson’s ratio. Struct Multidiscip Optim 58(5):1861–1883. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  13. Frecker MI (2003) Recent advances in optimization of smart structures and actuators. J Intell Mater Syst Struct 14(4–5):207–216. [Online]. Available:

    Article  Google Scholar 

  14. Gaynor AT, Meisel NA, Williams CB, Guest JK (2014) Multiple-material topology optimization of compliant mechanisms created via polyjet three-dimensional printing. J Manuf Sci Eng 136(6):061015–061015–10. [Online]. Available:

    Article  Google Scholar 

  15. Ge Q, Dunn CK, Qi HJ, Dunn ML (2014) Active origami by 4D printing. Smart Mater Struct 23(9):094007

    Article  Google Scholar 

  16. Ge Q, Sakhaei AH, Lee H, Dunn CK, Fang NX, Dunn ML (2016) Multimaterial 4D printing with tailorable shape memory polymers. Sci Rep 6:31110 EP. [Online]. Available:

    Article  Google Scholar 

  17. Geiss MJ, Maute K (2018) Topology optimization of active structures using a higher-order level-set-XFEM-density approach. In: 2018 Multidisciplinary analysis and optimization conference, p 4053

  18. Geiss MJ, Boddeti N, Weeger O, Maute K, Dunn ML (2019) Combined level-set-XFEM-density topology optimization of four-dimensional printed structures undergoing large deformation. J Mech Des 5:141

    Google Scholar 

  19. James KA, Waisman H (2015) Topology optimization of viscoelastic structures using a time-dependent adjoint method. Comput Methods Appl Mech Eng 285:166–187. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  20. Langelaar M, van Keulen F (2008) Modeling of shape memory alloy shells for design optimization. Comput Struct 86(9):955–963

    Article  Google Scholar 

  21. Langelaar M, Yoon G H, Kim Y, Van Keulen F (2011) Topology optimization of planar shape memory alloy thermal actuators using element connectivity parameterization. Int J Numer Methods Eng 88 (9):817–840

    Article  Google Scholar 

  22. Lendlein A, Jiang H, Jünger O, Langer R (2005) Light-induced shape-memory polymers. Nature 434(7035):879–882. [Online]. Available:

    Article  Google Scholar 

  23. Leng J, Yu K, Liu Y (2010) Recent progress of smart composite material in HIT. [Online]. Available:

  24. Li G, Nettles D (2010) Thermomechanical characterization of a shape memory polymer based self-repairing syntactic foam. Polymer 51(3):755–762.

    Article  Google Scholar 

  25. Liu Y, Gall K, Dunn ML, Greenberg AR, Diani J (2006) Thermomechanics of shape memory polymers: uniaxial experiments and constitutive modeling. Int J Plast 22(2):279–313. [Online]. Available:

    Article  Google Scholar 

  26. Liu Y, Du H, Liu L, Leng J (2014) Shape memory polymers and their composites in aerospace applications: a review. Smart Mater Struct 23(2):023001. [Online]. Available:

    Article  Google Scholar 

  27. Maute K, Tkachuk A, Wu J, Jerry Qi H, Ding Z, Dunn ML (1402) Level set topology optimization of printed active composites. J Mech Des 2015(11):10. [Online]. Available:

    Google Scholar 

  28. Oliver K, Seddon A, Trask RS (2016) Morphing in nature and beyond: a review of natural and synthetic shape-changing materials and mechanisms. J Mater Sci 51(24):10663–10689. [Online]. Available:

    Article  Google Scholar 

  29. Qi HJ, Nguyen TD, Castro F, Yakacki CM, Shandas R (2008) Finite deformation thermo-mechanical behavior of thermally induced shape memory polymers. J Mech Phys Solids 56(5):1730–1751. [Online]. Available:

    Article  Google Scholar 

  30. Reed JL Jr, Hemmelgarn CD, Pelley BM, Havens E (2005) Adaptive wing structures. [Online]. Available:

  31. Reese S, Böl M, Christ D (2010) Finite element-based multi-phase modelling of shape memory polymer stents. Comput Methods Appl Mech Eng 199(21):1276–1286. Multiscale models and mathematical aspects in solid and fluid mechanics. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  32. Rupp CJ, Evgrafov A, Maute K, Dunn ML (2009) Design of piezoelectric energy harvesting systems: a topology optimization approach based on multilayer plates and shells. J Intell Mater Syst Struct 20 (16):1923–1939. [Online]. Available:

    Article  Google Scholar 

  33. Svanberg K (1987) The method of moving asymptotes—a new method for structural optimization. Int J Numer Methods Eng 24(2):359–373. [Online]. Available:

    MathSciNet  Article  Google Scholar 

  34. Siéfert E, Reyssat E, Bico J, Roman B (2019) Bio-inspired pneumatic shape-morphing elastomers. Nat Mater 18(1):24–28. [Online]. Available:

    Article  Google Scholar 

  35. Sigmund O, Torquato S (1999) Design of smart composite materials using topology optimization. Smart Mater Struct 8(3):365–379. [Online]. Available:

    Article  Google Scholar 

  36. Silva ECN, Kikuchi N (1999) Design of piezoelectric transducers using topology optimization. Smart Mater Struct 8(3):350–364. [Online]. Available:

    Article  Google Scholar 

  37. Tibbits S (2014) 4D printing: multi-material shape change. Archit Des 84(1):116–121. [Online]. Available:

    Google Scholar 

  38. Volk BL, Lagoudas DC, Chen Y-C, Whitley KS (2010) Analysis of the finite deformation response of shape memory polymers: I. Thermomechanical characterization. Smart Mater Struct 19(7):075005

    Article  Google Scholar 

  39. Volk BL, Lagoudas DC, Maitland DJ (2011) Characterizing and modeling the free recovery and constrained recovery behavior of a polyurethane shape memory polymer. Smart Mater Struct 20(9):094004. [Online]. Available:

    Article  Google Scholar 

  40. Wache HM, Tartakowska DJ, Hentrich A, Wagner MH (2003) Development of a polymer stent with shape memory effect as a drug delivery system. J Mater Sci: Mater Med 14(2):109–112. [Online]. Available:

    Google Scholar 

  41. Yin L, Ananthasuresh G (2002) A novel topology design scheme for the multi-physics problems of electro-thermally actuated compliant micromechanisms. Sens Actuat A: Phys 97–98:599–609. Selected papers from Eurosenors XV. [Online]. Available:

    Article  Google Scholar 

  42. Yu K, Yin W, Sun S, Liu Y, Leng J (2009) Design and analysis of morphing wing based on SMP composite. [Online]. Available:

Download references


The authors received financial support of the National Science Foundation under grant # CMMI-1663566.

Author information



Corresponding author

Correspondence to Kai A. James.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Replication of results

Detailed descriptions of the algorithms used to generate all results are provided throughout the paper. Additionally, we have included all relevant material properties, and all algorithm parameters. Copies of the code used to generate the results will be made available upon request.

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Responsible Editor: Seonho Cho


Appendix 1:: Finite element derivations

The subscript, n, represents the time step.

The terms \(\mathbb {A}_r\), \(\mathbb {A}_{g}\), \(\mathbb {H}_r\), \(\mathbb {H}_{g}\), \(\mathbb {B}_r\), \(\mathbb {B}_{g}\), and \({\Delta }\phi ^{g}_{n+1}\) required in (A.2) are computed as:

$$ \begin{array}{@{}rcl@{}} \mathbb{A}_{r} &=&(\mathbb{K}_{neq}^{r}+\mathbb{K}_{eq}^{r})-\frac{\Delta t}{{\eta}_{r}}\mathbb{K}_{neq}^{r}{\mathbb{H}^{r}}^{-1}\mathbb{K}_{neq}^{r}\\ \mathbb{A}_{g} &=&(\mathbb{K}_{neq}^{g}+\mathbb{K}_{eq}^{g})-\frac{\Delta t}{{\eta}_{g}}\mathbb{K}_{neq}^{g}{\mathbb{H}^{g}}^{-1}\mathbb{K}_{neq}^{g}\\ \mathbb{H}_{r} & =&\mathbb{I}+\frac{\Delta t}{{\eta}_{r}}\mathbb{K}_{neq}^{r}\\ \mathbb{H}_{g} &=&\mathbb{I}+\frac{\Delta t}{{\eta}_{g}}\mathbb{K}_{neq}^{g}\\ \mathbb{B}_{r} &=&\mathbb{H}_{r}^{-1}\mathbb{K}_{neq}^{r}\\ \mathbb{B}_{g} &=&\mathbb{H}^{-1}_{g}\mathbb{K}_{neq}^{g}\\ {\Delta}\phi_{n+1}^{g} &=& \phi_{n+1}^{g}-{\phi^{g}_{n}} \end{array} $$

The terms \(\mathbb {W}_r\), \(\mathbb {W}_{g}\), \(\mathbb {M}\), \(\mathbb {N}\), \(\mathbb {P}\), \(\mathbb {O}\), \(\mathbb {E}\), and \(\mathbb {F}\) for (9) are defined as:

$$ \begin{array}{@{}rcl@{}} \mathbb{W}_{r} &=&\mathbb{H}_{r}^{-1}\left[\frac{\Delta t}{{\eta}_{r}}\mathbb{K}_{neq}^{r}\right]\\ \mathbb{W}_{g} &=&\mathbb{H}^{-1}_{g}\left[\frac{\Delta t}{{\eta}_{g}}\mathbb{K}_{neq}^{g}\right]\\ \mathbb{M} &=& \frac{\Delta t}{{\eta}_{i}}\mathbb{A}_{r}\\ \mathbb{N} &=& \frac{\Delta t}{{\eta}_{i}}\mathbb{B}_{r}\\ \mathbb{P} &=& {\Delta}\phi_{n+1}^{g}\\ \mathbb{O} &=&\mathbb{A}^{-1}_{g}\mathbb{A}_{r} \\ \mathbb{E} &=&-\mathbb{A}^{-1}_{g}\mathbb{B}_{r} \\ \mathbb{F} &=&v\mathbb{A}^{-1}_{g}\mathbb{B}_{g} \end{array} $$

Here, \(\mathbb {I}\) is the fourth-order identity tensor given by:

$$ \begin{array}{@{}rcl@{}} \mathbb{I}_{ijkl} &=& \delta_{ik}\delta_{jl}\\ \delta_{ij} &=& \left\{\begin{array}{ll} 1, & \text{if } i=j,\\ 0, & \text{if } i\neq j. \end{array}\right. \end{array} $$

Here, δij is the Kronecker delta. Isotropic linear elastic constitutive law is utilized to compute the fourth-order elasticity tensors \(\mathbb {K}^r_{eq}\) and \(\mathbb {K}^r_{neq}\) corresponding to the rubbery-phase and \(\mathbb {K}^{g}_{eq}\) and \(\mathbb {K}^{g}_{neq}\) for the glassy-phase material.

Appendix 2: Derivation of sensitivity analysis

Having discussed the generalized formulation for time-dependent adjoint sensitivity analysis in Section 5, we focus on deriving the sensitivity formulation specifically for shape memory polymers. To avoid confusion in the notation representing inelastic strain components and time steps, from here on the current time step will be denoted by subscript {n + 1}, the previous time step will be denoted by subscript {n}, and so on.

The sensitivity of the objective function is calculated via (25). This equation has two components: the first is the adjoint vectors (λ) and the other is the component capturing the explicit dependence of the residual term on the design variable. The adjoint vectors are computed via (24). Evaluation of both of these components requires the residual term (R). The residual equation for the SMP can be stated as:

$$ \begin{array}{@{}rcl@{}} \boldsymbol{R}_{n+1}&=&{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{A}^{(r)}\mathbb{D}_{n+1}^{-1}:\boldsymbol{B}\boldsymbol{u}_{n+1} dv-{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{X}^{(r)}_{n+1}:\boldsymbol{\varepsilon}^{(ir)}_{n} dv \\&&+{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{X}^{(g)}_{n+1}:\boldsymbol{\varepsilon}^{(ig)}_{n} dv +{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{Y}^{(r)}_{n+1}:\boldsymbol{\varepsilon}^{(ir)}_{n} dv\\ &&-{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{V}_{n+1}:\boldsymbol{\varepsilon}^{(i)}_{n} dv -{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{Z}^{(r)}_{n+1}:\boldsymbol{\varepsilon}^{(is)}_{n} dv \\&&-{\int}_{\Omega}^{} \boldsymbol{B}^{T}\mathbb{A}^{(r)}\mathbb{D}_{n+1}^{-1}:\boldsymbol{\varepsilon}^{Th}_{n+1} dv-\boldsymbol{F}^{ext} \end{array} $$

where the terms \(\mathbb {X}^{(r)}_{n+1} \), \(\mathbb {X}^{(g)}_{n+1} \), \(\mathbb {Y}^{(r)}_{n+1} \), \(\mathbb {V}^{(r)}_{n+1} \), \(\mathbb {Z}^{(r)}_{n+1} \) are given by:

$$ \begin{array}{@{}rcl@{}} \mathbb{X}^{(r)}_{n+1} &=& \mathbb{A}_{r}\mathbb{D}_{n+1}^{-1}\phi^{(g)}_{n+1}{\mathbb{A}_{g}}^{-1}\mathbb{B}_{r}\\ \mathbb{X}^{(g)}_{n+1} &=& \mathbb{A}_{r}\mathbb{D}_{n+1}^{-1}\phi^{(g)}_{n+1}{\mathbb{A}_{g}}^{-1}\mathbb{B}_{g}\\ \mathbb{Y}^{(r)}_{n+1} &=& \mathbb{A}_{r}\mathbb{D}_{n+1}^{-1}\left( \frac{\Delta t}{{\eta}_{i}}\right)\mathbb{B}_{r}\\ \mathbb{V}^{(r)}_{n+1} &=& \mathbb{A}_{r}\mathbb{D}_{n+1}^{-1}\\ \mathbb{Z}^{(r)}_{n+1} &=& \mathbb{A}_{r}\mathbb{D}_{n+1}^{-1} \end{array} $$

The differentiation of the residual equation, Rn+ 1, with respect to the design variables can be computed by:

$$ \begin{array}{@{}rcl@{}} \frac{\partial\boldsymbol{R}_{n+1}}{\partial\boldsymbol{\rho}}&=&{\int}_{\Omega}^{}\boldsymbol{B}\frac{\partial\boldsymbol{\sigma}_{n+1}}{\partial\boldsymbol{\rho}}dv-\frac{\partial\boldsymbol{F}_{n+1}^{ext}}{\partial\boldsymbol{\rho}}\\ \frac{\partial \sigma_{n+1}}{\partial \boldsymbol{\rho}}& = &\frac{\partial \mathbb{A}_{r}}{\partial \rho}:\boldsymbol{\varepsilon}^{(r)}_{n+1} + \mathbb{A}_{r}:\frac{\partial \boldsymbol{\varepsilon}^{(r)}_{n+1} }{\partial \boldsymbol{\rho}}-\frac{\partial \mathbb{B}_{r}}{\partial \boldsymbol{\rho}}:\boldsymbol{\varepsilon}^{(ir)}_{n} - \mathbb{B}_{r}:\frac{\partial \boldsymbol{\varepsilon}^{(ir)}_{n}}{\partial \boldsymbol{\rho}} \end{array} $$

To evaluate the adjoint vectors, it is required to capture the explicit dependence of the residual for the kth time step on the displacement of the ith time step, i.e., \(\frac {\partial \boldsymbol {R}_{k}}{\partial \boldsymbol {u}_{i}}\). These terms are referred to as the “coupling” terms. Finding the \(\frac {\partial \boldsymbol {R}_{k}}{\partial \boldsymbol {u}_{i}}\) terms are more involved since at each time step there is an exponential growth of terms from the previous time step. For example, let us evaluate the term \(\frac {\partial \boldsymbol {R}_{n+1}}{\partial \boldsymbol {u}_{n-1}}\). The coupling term \(\frac {\partial \boldsymbol {R}_{n+1}}{\partial \boldsymbol {u}_{n-1}}\) is proportional to \(\frac {\partial \boldsymbol {R}_{n+1}}{\partial \boldsymbol {\varepsilon }_{n-1}}\), since strain is a linear function of displacement (u). We can use the chain rule to write:

$$ \begin{array}{@{}rcl@{}} \frac{\partial \boldsymbol{R}_{n+1}}{\partial \boldsymbol{u}_{n-1}}&\propto\frac{\partial \boldsymbol{R}_{n+1}}{\partial \boldsymbol{\varepsilon}_{n-1}}\approx\underbrace{\frac{\partial \boldsymbol{R}_{n+1}}{\partial \boldsymbol{\varepsilon}^{(r)}_{n-1}}}_{\text{term I}}\overbrace{\frac{\partial \boldsymbol{\varepsilon}^{(r)}_{n-1}}{\partial \boldsymbol{\varepsilon}_{n-1}}}^{\text{term II}} \end{array} $$

Equation (B.4) gets contributions from term I and term II. The parameter Rn+ 1 which represents the residual, obtained during the forward analysis, is given by (B.1) which has seven terms. Each of the terms, at a particular time step, is dependent not only on the current time step of the evaluation but also on the previous time step as shown in (9). For example, if we calculate the coupling coefficients from the second term, \({\int \limits }_{\Omega }^{} \boldsymbol {B}^T\mathbb {X}^{(r)}_{n+1}\boldsymbol {\varepsilon }^{(ir)}_{n} dv\), of the residual equation, and track the evolution of the term in time, we will get the map as shown in Fig. 24. The coefficient Cf is defined as:

$$ \begin{array}{@{}rcl@{}} C_{f} = \boldsymbol{B}^{T}\mathbb{X}^{(r)}_{n+1} \end{array} $$
Fig. 24

Tracking \(\frac {\partial \boldsymbol {\varepsilon }^{(ir)}_{n}}{\partial \boldsymbol {\varepsilon }^{(r)}_{n-1}}\) terms in time

The terms \(\mathbb {A}_n\) and \(\mathbb {B}_n\) are given by:

$$ \begin{array}{@{}rcl@{}} \mathbb{A}_{n} &=& \mathbb{D}^{-1}_{n}\left[-{\phi^{g}_{n}}\mathbb{A}^{-1}_{g}\mathbb{B}_{r}+\frac{\Delta t}{{\eta}_{i}}\mathbb{B}_{r}\right] \\ \mathbb{B}_{n} & =&\mathbb{D}^{-1}_{n}\left[\phi^{g}_{n}\mathbb{A}^{-1}_{g}\mathbb{B}_{g}\right] \end{array} $$

If we collect the terms to evaluate \(\frac {\partial \boldsymbol {\varepsilon }^{(ir)}_{n}}{\partial \boldsymbol {\varepsilon }^{(r)}_{n-1}}\), we get:

$$ \begin{array}{@{}rcl@{}} \frac{\partial \boldsymbol{\varepsilon}^{(ir)}_{n}}{\partial \boldsymbol{\varepsilon}^{(r)}_{n-1}}&=&\left[\mathbb{H}_{r}^{-1}\mathbb{W}_{r}+\mathbb{W}_{r}\mathbb{A}_{n}\mathbb{W}_{r}+\mathbb{W}_{r}\mathbb{B}_{n}\mathbb{W}_{g}\mathbb{O}\right.\\ &&\left.+\mathbb{W}_{r}\mathbb{D}^{-1}_{n}\mathbb{M}+\mathbb{W}_{r}\mathbb{D}^{-1}_{n}\mathbb{P}\right] \end{array} $$

Equation (B.5) represents term I in terms of \(\varepsilon ^{(ir)}_n\). A similar procedure is adopted for all the other six terms present in the (B.1) to make a total of twenty-three terms for the coupling term \(\frac {\partial \boldsymbol {R}_{n+1}}{\partial \boldsymbol {u}_{n-1}}\). The computation of term II is straightforward and is given by:

$$ \frac{\partial \boldsymbol{\varepsilon}^{(r)}_{n-1}}{\partial \boldsymbol{\varepsilon}_{n-1}} = {\mathbb{D}^{-1}_{n-1}} $$

Capturing the evolution of all the components required to accurately calculate the sensitivities makes this process computationally expensive and a highly time-consuming procedure. The time taken increases exponentially with the total number of time steps required to simulate the thermo-mechanical cycle of the SMP increases. The function and the recursive algorithm used to compute the {\(\frac {\partial R_k}{\partial u_i}\)} terms for the total sensitivity analysis are shown in Algorithms 2 and 3. Note that for the recursive algorithm shown in Algorithm 3, parameters k and i represent the time steps. Here, the functions func_eir, func_eig, func_is, and func_i are programmable versions of ε(ir),ε(ig),ε(is), and ε(i), shown in (9), implemented for the kth step. The variable [M] is a collection of parameters representing the intrinsic material properties. The function f represents a general function manipulating its inputs and giving a desired output.


The individual functions have similar structures and one such function func_eir has been shown in details in Algorithm 3.


To verify the implementation of the sensitivity analysis, the design domain shown in Fig. 5 is discretized with a coarse mesh of 45 elements. The structure is initialized with a uniform distribution of design variable ρ = 0.3. It was then subjected to an axial stretching load F = 0.025N during the cooling phase of the thermo-mechanical cycle. The load was removed during the relaxation and heating phases of the thermo-mechanical programming cycle. The function of interest is the tip displacement \(\boldsymbol {u}^M_a\) as shown in (19). In this case, the parameter a is the y − degree-of-freedom of the node shown in Fig. 5 and M is the time step at the end of the step III of the thermo-mechanical programming cycle. The material parameters used for this analysis are same as listed in Table 1. The adjoint method and the forward difference method were used to evaluate the derivative of the tip displacement with respect to the mixing ratio of each element. Figure 25 shows the normalized error of the sensitivity values obtained by the finite-difference approach and the adjoint sensitivity analysis. The normalized error (NE) for each element is evaluated as:

$$ NE = \Bigg|\frac{adjoint - FD}{FD}\Bigg| $$
Fig. 25

Comparison between the sensitivity values evaluated through the finite-difference scheme and the adjoint formulation

Note that for elements where the sensitivity is at or near zero, we have omitted the normalized error to avoid the indication of an artificially high error due to an extremely small denominator. The displacement obtained at the end of step III was − 0.0130 mm. The sensitivity values obtained through the adjoint formulation and the finite-difference method are tabulated in Table 2. The maximum error between these values was found to be 2.6 × 10− 7. This established that the framework developed can successfully compute the sensitivities for SMP materials with a high degree of accuracy.

Table 2 Sensitivity values evaluated through the adjoint formulation and the finite difference method

Figure 26 shows the time required to calculate \(\frac {\partial \boldsymbol {R}_{n+1}}{\partial \boldsymbol {u}_{n-7}}\), the contribution of a total of 8 simulation steps, for a finite-element mesh of 50 elements by a single processor. As we can see, just using eight steps to simulate the entire SMP thermo-mechanical programming cycle even for a coarse mesh can incur high computational costs. This result motivated the development of PETSc-based parallel implementation of the FEA and sensitivity evaluation framework using CPUs on the Golub Cluster at the University of Illinois. Since the bottleneck for the entire algorithm is the sensitivity evaluation and particularly the time-dependent algorithm, the parallelization is done with the objective of distributing the elements onto the processors such that each processor has the optimum number of elements for efficient computations. A total of 144 processors (6 nodes with 24 processors each) were utilized for generating the 2D results. For the 3D optimization implementation, a total of 250 processors (10 nodes with 25 processors each) were utilized. The structural optimization problem is solved using the Method of Moving Asymptotes (MMA) (Svanberg 1987). The PETSc implementation of the MMA algorithm is based on the paper by Aage et al. (2015).

Fig. 26

Computation time required for tracking \(\frac {\partial \boldsymbol {\varepsilon }_{n}^{ir}}{\partial \boldsymbol {\varepsilon }^r_{n-1}}\) terms

Appendix 3: Validation of the finite element model

After implementing the constitutive model using the finite element framework for a single shape memory polymer material with the material properties as tabulated in Table 1 for SMP1, the accuracy of the implementation was verified against existing experimental and computational results from the literature. The results and the comparisons here are for the full thermomechanical programming cycle, not the modified cycle described in Fig. 3. Two broad cases, time-independent SMP behavior and time-dependent SMP behavior, were analyzed and their results were compared.

3.1 Time-independent SMP behavior

To verify the current finite element implementation, the results obtained for a time-independent stress free strain recovery cycle were compared with the experimental results obtained by Liu et al. (2006). Figure 27b shows that the internal stress in a SMP sample increases as the temperature is reduced. This increase in the internal stress is due to an increase in the thermal stresses since the sample cannot contract with the decrease of temperature. We can observe that near the vicinity of the glass-transition temperature, the internal stress is negligible. This can be attributed to the low thermal stresses in this region. In the regions away from the glass-transition temperature, the internal stress increases sharply due to the presence of the glassy phase. The nature of evolution of the internal stresses, as observed experimentally in Fig. 27a for different amounts of pre-strains, is captured successfully by the current implementation. The discrepancies in the magnitude of the stresses can be attributed to the different materials used in the experimental studies and the numerical simulations. The difference in the material properties arises mainly due to the fact that the current analysis is geared toward application in the topology optimization algorithm and is based on the rheological model as shown in Fig. 2, where the material properties used for the different components are as per the values tabulated in Table 4 of ref. Baghani et al. (2012), which are different from the material properties reported in the experiments. This analysis was carried out to demonstrate that the current formulation can identify and mimic the nature of stress-strain evolution as observed in experimental results.

Fig. 27

a, c Experiments reported by Liu et al. (2006) for the stress free strain recovery cycle. b, d Results from the current FEM implementation

Figure 27d shows the free strain recovery for different amounts of fixed pre-strains with increase in temperature. As the temperature is increased, the amount of strains stored in the SMP sample decreases and the structure comes back to its initial configuration. It can be observed that even for different types of deformations, the paths followed during the recovery process are similar. The results obtained by the current implementation closely resemble the experimental results as shown in Fig. 27c. These results show that the current finite-element implementation can correctly capture the time-independent nature of the stress and strain evolution for a SMP material.

3.2 Time-dependent SMP behavior

The experiment performed by Li and Nettles (2010) was computationally simulated to validate the time-dependent aspect of the current implementation. Here, an SMP-based foam was compressed under a constant stress, held for 30 min and was subjected to the thermo-mechanical cycle. The main objective is to analyze the nature and form of the strain-time behavior. A comparison of the results of the current implementation with the numerical studies reported by Baghani et al. (2012) is shown in Fig. 28. Note that the deviations observed in Fig. 28a from those in Fig. 28b are mainly due to the use of different thermal strain function. We have used the function of thermal strain as given by (8) to maintain a continuity in our implementation. Also, the material parameters used differ in the two cases since we have not included any hard phase. Since our objective was to show that the current implementation sufficiently captures the SMP mechanics fit for moving forward with the topology optimization design, we can conclude that the overall correlation between the experimental results and the current implementation agrees to a level sufficient for our implementation.

Fig. 28

a Reproduction of the shape memory effect (stress free strain recovery) as captured by the current implementation. b Numerical implementation done by Baghani et al. (2012) for experiments reported by Li and Nettles (2010)

Figure 29 compares the current implementation with the experiments reported by Volk et al. (2010) regarding the time-dependent uniaxial loading of SMPs followed by the thermo-mechanical cycle. We also compare our results with the implementation of Baghani et al. (2012). The results show that the current implementation can successfully capture the time-dependent effects with a moderate level of irreversible strains. From Fig. 29, we can observe that the strain at T = TH is not 0, i.e., we do not recover all the strain that is put into the structure while it is deformed. This is due to the fact that while applying deformation a part of the total strain, irreversible strain component(εi), is permanently lost and cannot be recovered.

Fig. 29

a, c SMP simulation for uniaxial tensile strain of 9.7% and 26.2% respectively. b, d Experiments reported by Volk et al. (2010) (dotted data points), numerical implementation of Chen and Lagoudas (2008b) and Baghani et al. (2012)

Figure 30 contains results from simulation of the multiaxial loading of an SMP material and compares the temperature vs. strain and time vs. strain plots obtained from the current implementation with the results reported by Baghani et al. (2012). The similarity of the results indicates that the current implementation can successfully capture the multiaxial loading of SMPs.

Fig. 30

a, c Results captured by the current implementation. b, d Simulation results reported by Baghani et al. (2012) for multiaxial loading of an SMP material

Having verified that the current finite element implementation of the constitutive model proposed by Baghani et al. (2012) can capture the essential characteristics of SMPs to an acceptable level of accuracy, we move forward with the computational design aspect using topology optimization.

Appendix 4: The symmetry assumption

The results in Section 6.2 assume a symmetric design due to the symmetry of the loading and boundary conditions. To verify the assumption, we have also solved the problem using the full domain. Figure 32 shows the optimized material distribution for the self-actuating gripper corresponding to the full-design domain as shown in Fig. 31a without the assumption of symmetry.

Fig. 31

Boundary conditions for the gripper optimization problem with full and half domains

Fig. 32

Optimized material distribution for the self-actuating gripper for the full-design domain

The optimization problem statement for the full-domain case is written as:

$$ \begin{array}{@{}rcl@{}} && \underset{\boldsymbol{\rho}}{\text{minimize}} \quad -({U_{y}}^{b}-{U_{y}}^{t})|_{t=T^{*}} \\ && \text{subject to} \quad V_{SMP^{1}}(\boldsymbol{\rho}) \leq V^{Max}_{SMP^{1}}, \quad 0\leq \boldsymbol{\rho}\leq 1 \end{array} $$

The optimized value of UyN for the same node and under the same loading conditions is 2.2758 mm, in the negative y-direction. If we compare the optimized material distribution for the half-domain case as shown in Fig. 14 and the full-domain case as shown in Fig. 32, we observe that the two results have very similar topologies, with minor differences in the material distributions. The differences between the two solutions can be explained by the nonconvex nature of the optimization problem, which makes the optimization solutions dependent on both the starting point (initial guess) of the optimization, the search path followed to arrive at the final solution.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Bhattacharyya, A., James, K.A. Topology optimization of shape memory polymer structures with programmable morphology. Struct Multidisc Optim 63, 1863–1887 (2021).

Download citation


  • Multimaterial topology optimization
  • Shape memory polymers
  • Multi-physics design
  • Adjoint sensitivity analysis
  • High-performance computing