Skip to main content
Log in

PolyStress: a Matlab implementation for local stress-constrained topology optimization using the augmented Lagrangian method

  • Educational Paper
  • Published:
Structural and Multidisciplinary Optimization Aims and scope Submit manuscript

Abstract

We present PolyStress, a Matlab implementation for topology optimization with local stress constraints considering linear and material nonlinear problems. The implementation of PolyStress is built upon PolyTop, an educational code for compliance minimization on unstructured polygonal finite elements. To solve the nonlinear elasticity problem, we implement a Newton-Raphson scheme, which can handle nonlinear material models with a given strain energy density function. To solve the stress-constrained problem, we adopt a scheme based on the augmented Lagrangian method, which treats the problem consistently with the local definition of stress without employing traditional constraint aggregation techniques. The paper discusses several theoretical aspects of the stress-constrained problem, including details of the augmented Lagrangian-based approach implemented herein. In addition, the paper presents details of the Matlab implementation of PolyStress, which is provided as electronic supplementary material. We present several numerical examples to demonstrate the capabilities of PolyStress to solve stress-constrained topology optimization problems and to illustrate its modularity to accommodate any nonlinear material model. Six appendices supplement the paper. In particular, the first appendix presents a library of benchmark examples, which are described in detail and can be explored beyond the scope of the present work.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

Notes

  1. The characteristic function, χω, is defined such that χω = 1 if xω and χω = 0 otherwise. In practice, however, we use an Ersatz material model to guarantee the existence and uniqueness of the solution of the boundary value problem. That is, in regions where χω = 0, we use 𝜖 + (1 − 𝜖)χω, in which 𝜖 ≪ 1 is the Ersatz parameter.

  2. As we will discuss later, we adopt a volume interpolation function based on a threshold projection function (Wang et al. 2011), which allows us obtain clear black-and-white designs.

  3. A similar approach is employed by Talischi et al. (2012b) when considering the smooth Heaviside function by Guest et al. (2004).

  4. In the context of density-based topology optimization, the traditional vanishing constraints can be written as \(g_{j}(\rho ,\textbf {u})=\rho {\Lambda }_{j},~~\text {with}~~{\Lambda }_{j}=\sigma _{j}^{v}/\sigma _{\lim }-1\)

  5. For a reader interested in exploring a different nonlinear term (e.g., using \({{\Lambda }_{j}^{4}}\) instead of \({{\Lambda }_{j}^{3}}\) in (19)), the function PenalFnc located inside the PolyStress.m file must be modified. An example of a similar modification is provided later.

  6. When multiple load cases are considered, the number of stress constraints becomes Nc = mN, in which m is the number of load cases. The current implementation of PolyStress considers one load case only, yet the interested reader can modify the code accordingly to account for multiple load cases (details on the implementation for multiple load cases can be found in a study by Senhora et al. 2020).

  7. Although we refer to the AL sub-problem (38) as unconstrained, it is in fact an optimization problem with box constraints.

  8. Appendix B provides additional details explaining our approach to impose symmetry.

  9. For the case in which we compute mV(y) using the threshold projection function (17) and mE(y) using SIMP in (18)), the set of parameters in the field params becomes [p,B,eta0], which correspond to parameters p, β, and η, respectively.

  10. Our weak line search algorithm was obtained from the following reference: Ascher and Greif (2011) A first course in numerical methods. SIAM (Society for Industrial and Applied Mathematics).

  11. However, an implementation with several load steps can also be used. To do so, one would need to add an additional for loop to the nonlinear FE analysis routine including all the load steps.

  12. Although the expressions for \(p_{\ell }^{(k)}\) and \(q_{\ell }^{(k)}\) used here differ from those in Svanberg (1987), they correspond to those used in Svanberg’s implementation of MMA in Matlab.

  13. The optimization iterations are run using Matlab 2017a on desktop computer with a Xeon(R) CPU E5-1660 v3 @ 3.00 GHz processor and 256 GB of RAM.

  14. For the case of PolyTop, we use a convergence tolerance, Tol = 10− 4

  15. To generate the polygonal mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load,\(\sim \)] = PolyMesher(@PortalDomain,NElem, 100), using NElem= 100000.

  16. To generate the polygonal mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load,\(\sim \)] = PolyMesher(@EyeBarDomain,NElem, 100) with NElem= 100000.

  17. To generate the mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load] = Mesh_Crack_Prob(Ne_ap); NElem=size (Element,1), using Ne_ap= 100000.

  18. To generate the mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load] = Mesh_Corbel(Ne_ap); NElem=size(Element,1), using Ne_ap= 80000.

  19. When n > 1 in (73), fem.MatParam should be populated as follows: fem.MatParam = [μ1,α1,β1,…,μn,αn,βn].

  20. To generate the polygonal mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load,\(\sim \)] = PolyMesher(@AntennaDomain,NElem, 100) with NElem= 30000.

  21. If the level of strains for a given problem increases, it may reach a point in which small-strain elasticity no longer holds. For this type of problems, the entire formulation must be modified to account for finite deformations, which is out of the scope of the present work.

  22. The 25 iterations per continuation step in PolyTop is consistent with the 5 AL steps per continuation step in PolyStress because, according to Table 3, PolyStress runs 5 MMA iterations for each AL step (i.e., MMA_Iter×BFreq = 25 FE solves per continuation step).

  23. To generate the polygonal mesh to run this problem, line 11 of the provided PolyScript.m file should be replaced by [Node,Element, Supp,Load,\(\sim \)] = PolyMesher(@HookDomain,NElem, 100) with NElem= 100000.

References

  • Bendsøe MP (1989) Optimal shape design as a material distribution problem. Struct Optim 1 (4):193–202

    Article  Google Scholar 

  • Bendsøe MP, Kikuchi N (1988) Generating optimal topologies in structural design using a homogenization method. Comput Methods Appl Mech Eng 93:291–318

    MathSciNet  MATH  Google Scholar 

  • Bendsøe MP (1995) Optimization of structural topology, shape, and material. Springer, Berlin

    Book  MATH  Google Scholar 

  • Bendsøe MP, Sigmund O (2003) Topology optimization: theory, methods and applications. Springer, Berlin

    MATH  Google Scholar 

  • Bertsekas DP (1999) Nonlinear programming, 2nd edn. Athena Scientific, Nashua

    MATH  Google Scholar 

  • Borrvall T, Petersson J (2001) Topology optimization using regularized intermediate density control. Comput Methods Appl Mech Eng 190(37-38):4911–4928

    Article  MathSciNet  MATH  Google Scholar 

  • Bourdin B (2001) Filters in topology optimization. Int J Numer Methods Eng 50(9):2143–2158

    Article  MathSciNet  MATH  Google Scholar 

  • Bruggi M (2008) On an alternative approach to stress constraints relaxation in topology optimization. Struct Multidiscip Optim 36(2):125–141

    Article  MathSciNet  MATH  Google Scholar 

  • Bruggi M, Duysinx P (2012) Topology optimization for minimum weight with compliance and stress constraints. Struct Multidiscip Optim 46(3):369–384

    Article  MathSciNet  MATH  Google Scholar 

  • Cheng GD, Jiang Z (1992) Study on topology optimization with stress constraints. Eng Optim 20(2):129–148

    Article  Google Scholar 

  • Chi H, Ramos DL, Ramos AS Jr, Paulino GH (2019) On structural topology optimization considering material nonlinearity: Plane strain versus plane stress solutions. Adv Eng Softw 131:217–231

    Article  Google Scholar 

  • Chu S, Gao L, Xiao M, Luo Z, Li H, Gui X (2018) A new method based on adaptive volume constraint and stress penalty for stress-constrained topology optimization. Struct Multidiscip Optim 57 (3):1163–1185

    Article  MathSciNet  Google Scholar 

  • Curnier A, He QC, Zysset P (1994) Conewise linear elastic materials. J Elast 37(1):1–38

    Article  MathSciNet  MATH  Google Scholar 

  • da Silva GA, Beck AT, Cardoso EL (2018) Topology optimization of continuum structures with stress constraints and uncertainties in loading. Int J Numer Methods Eng 113(1):153–178

    Article  MathSciNet  Google Scholar 

  • da Silva GA, Beck AT, Sigmund O (2019a) Stress-constrained topology optimization considering uniform manufacturing uncertainties. Comput Methods Appl Mech Eng 344:512–537

    Article  MathSciNet  MATH  Google Scholar 

  • da Silva GA, Beck AT, Sigmund O (2019b) Topology optimization of compliant mechanisms with stress constraints and manufacturing error robustness. Comput Methods Appl Mech Eng 354:397–421

    Article  MathSciNet  MATH  Google Scholar 

  • De Leon DM, Alexandersen J, Fonseca JS, Sigmund O (2015) Stress-constrained topology optimization for compliant mechanism design. Struct Multidiscip Optim 52(5):929–943

    Article  MathSciNet  Google Scholar 

  • Duysinx P, Bendsøe MP (1998) Topology optimization of continuum structures with local stress constraints. Int J Numer Methods Eng 43(8):1453–1478

    Article  MathSciNet  MATH  Google Scholar 

  • Emmendoerfer H Jr, Fancello EA (2014) A level set approach for topology optimization with local stress constraints. Int J Numer Methods Eng 99(2):129–156

    Article  MathSciNet  MATH  Google Scholar 

  • Emmendoerfer H Jr, Fancello EA (2016) Topology optimization with local stress constraint based on level set evolution via reaction-diffusion. Comput Methods Appl Mech Eng 305:62–88

    Article  MathSciNet  MATH  Google Scholar 

  • Emmendoerfer H Jr, Silva ECN, Fancello EA (2019) Stress-constrained level set topology optimization for design-dependent pressure load problems. Comput Methods Appl Mech Eng 344:569–601

    Article  MathSciNet  MATH  Google Scholar 

  • Fan Z, Xia L, Lai W, Xia Q, Shi T (2019) Evolutionary topology optimization of continuum structures with stress constraints. Struct Multidiscip Optim 59(2):647–658

    Article  MathSciNet  Google Scholar 

  • Fancello EA (2006) Topology optimization for minimum mass design considering local failure constraints and contact boundary conditions. Struct Multidiscip Optim 32(3):229–240

    Article  MathSciNet  MATH  Google Scholar 

  • Feng ZQ, Peyraut F, He QC (2006) Finite deformations of Ogden’s materials under impact loading. Int J Nonlin Mech 41(4):575–585

    Article  MATH  Google Scholar 

  • Giraldo-Londoño O, Paulino GH (2020) A unified approach for topology optimization with local stress constraints considering various failure criteria: von Mises, Drucker–Prager, Tresca, Mohr–Coulomb, Bresler–Pister, and William–Warnke. Proceedings of the Royal Society A. 476:20190861

  • Guest JK, Prévost JH, Belytschko T (2004) Achieving minimum length scale in topology optimization using nodal design variables and projection functions. Int J Numer Methods Eng 61(2):238–254

    Article  MathSciNet  MATH  Google Scholar 

  • Guo X, Zhang WS, Wang MY, Wei P (2011) Stress-related topology optimization via level set approach. Comput Methods Appl Mech Eng 200(47-48):3439–3452

    Article  MathSciNet  MATH  Google Scholar 

  • Holmberg E, Torstenfelt B, Klarbring A (2013a) Global and clustered approaches for stress constrained topology optimization and deactivation of design variables. In: 10th world congress on structural and multidisciplinary optimization

  • Holmberg E, Torstenfelt B, Klarbring A (2013b) Stress constrained topology optimization. Struct Multidiscip Optim 48(1):33–47

    Article  MathSciNet  MATH  Google Scholar 

  • Kiyono C, Vatanabe S, Silva E, Reddy J (2016) A new multi-p-norm formulation approach for stress-based topology optimization design. Compos Struct 156:10–19

    Article  Google Scholar 

  • Kreisselmeier G, Steinhauser R (1979) Systematic control design by optimizing a vector performance index. In: IFAC proceedings volumes. IFAC Symposium on computer Aided Design of Control Systems, Zurich, Switzerland, 29-31 August, vol 12, pp 113–117

  • Le C, Norato J, Bruns T, Ha C, Tortorelli D (2010) Stress-based topology optimization for continua. Struct Multidiscip Optim 41(4):605–620

    Article  Google Scholar 

  • Lee E, James KA, Martins JRRA (2012) Stress-constrained topology optimization with design-dependent loading. Struct Multidiscip Optim 46(5):647–661

    Article  MathSciNet  MATH  Google Scholar 

  • Lee K, Ahn K, Yoo J (2016) A novel p-norm correction method for lightweight topology optimization under maximum stress constraints. Comput Struct 171:18–30

    Article  Google Scholar 

  • Lian H, Christiansen AN, Tortorelly DA, Sigmund O (2017) Combined shape and topology optimization for minimization of maximal von mises stress. Struct Multidiscip Optim 55(5):1541–1557

    Article  MathSciNet  Google Scholar 

  • Liu H, Yang D, Hao P, Zhu X (2018) Isogeometric analysis based topology optimization design with global stress constraint. Comput Methods Appl Mech Eng 342:625–652

    Article  MathSciNet  MATH  Google Scholar 

  • Luo Y, Wang MY, Kang Z (2013) An enhanced aggregation method for topology optimization with local stress constraints. Comput Methods Appl Mech Eng 254:31–41

    Article  MathSciNet  MATH  Google Scholar 

  • Nocedal J, Wright SJ (2006) Numerical optimization, 2nd edn. Springer, Berlin

    MATH  Google Scholar 

  • Ogden RW (1972) Large deformation isotropic elasticity–on the correlation of theory and experiment for incompressible rubberlike solids. Proc Roy Soc Lond Math Phys Sci 326(1567):565–584

    MATH  Google Scholar 

  • Paris J, Navarrina F, Colominas I, Casteleiro M (2009) Topology optimization of continuum structures with local and global stress constraints. Struct Multidiscip Optim 39(4):419–437

    Article  MathSciNet  MATH  Google Scholar 

  • Paris J, Navarrina F, Colominas I, Casteleiro M (2010) Block aggregation of stress constraints in topology optimization of structures. Adv Eng Softw 41(3):433–441

    Article  MATH  Google Scholar 

  • Park YK (1995) Extensions of optimal layout design using the homogenization method. Ph.D thesis, University of Michigan, Ann Arbor

  • Pereira A, Talischi C, Paulino GH, Menezes IF, Carvalho MS (2016) Fluid flow topology optimization in polytop: stability and computational implementation. Struct Multidiscip Optim 54(5):1345–1364

    Article  MathSciNet  Google Scholar 

  • Pereira JT, Fancello EA, Barcellos CS (2004) Topology optimization of continuum structures with material failure constraints. Struct Multidiscip Optim 26(1-2):50–66

    Article  MathSciNet  MATH  Google Scholar 

  • Rozvany GI, Zhou M, Birker T (1992) Generalized shape optimization without homogenization. Structural Optimization 4(3–4):250–252

    Article  Google Scholar 

  • Sanders ED, Pereira A, Aguiló MA, Paulino GH (2018) Polymat: an efficient matlab code for multi-material topology optimization. Struct Multidiscip Optim 58(6):2727–2759

    Article  MathSciNet  Google Scholar 

  • Senhora FV (2019) Personal communication

  • Senhora FV, Giraldo-Londoño O, Menezes IFM, Paulino GH (2020) Topology optimization with local stress constraints: a stress aggregation-free approach. Struct Multidiscip Optim 62(4):1639–1668

    Article  MathSciNet  Google Scholar 

  • Svanberg K (1987) The method of moving asymptotes—A new method for structural optimization. Int J Numer Methods Eng 24(2):359–373

    Article  MathSciNet  MATH  Google Scholar 

  • Talischi C, Paulino GH, Pereira A, Menezes IFM (2012a) Polymesher: a general-purpose mesh generator for polygonal elements written in Matlab. Struct Multidiscip Optim 45(3):309–328

    Article  MathSciNet  MATH  Google Scholar 

  • Talischi C, Paulino GH, Pereira A, Menezes IFM (2012b) Polytop: a Matlab implementation of a general topology optimization framework using unstructured polygonal finite element meshes. Struct Multidiscip Optim 45(3):329–357

    Article  MathSciNet  MATH  Google Scholar 

  • Verbart A, Langelaar M, van Keulen F (2016) Damage approach: a new method for topology optimization with local stress constraints. Struct Multidiscip Optim 53(5):1081–1098

    Article  MathSciNet  Google Scholar 

  • Wang F, Lazarov BS, Sigmund O (2011) On projection methods, convergence and robust formulations in topology optimization. Struct Multidiscip Optim 43(6):767–784

    Article  MATH  Google Scholar 

  • Xia L, Zhang L, Xia Q, Shi T (2018) Stress-based topology optimization using bi-directional evolutionary structural optimization method. Comput Methods Appl Mech Eng 333:356–370

    Article  MathSciNet  MATH  Google Scholar 

  • Xia Q, Shi T, Liu S, Wang MY (2012) A level set solution to the stress-based structural shape and topology optimization. Comput Struct 90:55–64

    Article  Google Scholar 

  • Yang RJ, Chen CJ (1996) Stress-based topology optimization. Struct Optim 12(2):98–105

    Article  Google Scholar 

  • Zhang WS, Guo X, Wang MY, Wei P (2013) Optimal topology design of continuum structures with stress concentration alleviation via level set method. Int J Numer Methods Eng 93(9):942–959

    Article  MathSciNet  MATH  Google Scholar 

  • Zhou M, Rozvany GIN (1991) The COC algorithm, part II: topological, geometrical and generalized shape optimization. Comput Methods Appl Mech Eng 89(1–3):309–336

    Article  Google Scholar 

Download references

Acknowledgments

This paper is dedicated to Prof. Martin P. Bendsøe. He motivated our interest in the research reported in the present paper, and in other recent ones, such as Senhora et al. (2020), and Giraldo-Londoño and Paulino (2020). More specifically, our intellectual curiosity in the topic was sparked by an early discussion between Profs. Paulino and Bendsøe during the WCSMO 10 (World Congress on Structural and Mutidisciplinary Optimization), which was held in Orlando, Florida (USA) from May 19th to 24th, 2013.

Funding

The authors received support from the US National Science Foundation under grant #1663244 and from the Raymond Allen Jones Chair at the Georgia Institute of Technology.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Glaucio H. Paulino.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Responsible Editor: Ole Sigmund

Dedicated to Prof. Martin Philip Bendsøe (December 29, 1955 - present)

Disclaimer

The interpretation of the results of this work is solely that by the authors, and it does not necessarily reflect the views of the sponsors or sponsoring agencies.

Replication of results

All results presented in this manuscript can be replicated using the codes provided as electronic supplementary material.

Publisher’s note

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

Electronic supplementary material

Below is the link to the electronic supplementary material.

(ZIP 33.7 KB)

Appendices

Appendix A: Library of benchmark examples

We provide a summary of the design problems discussed herein, including a description of the design domain and the names of the Matlab files needed to generate the finite element mesh for each problem.

Table 6 Examples provided with PolyStress

Appendix B: Imposing symmetry using the regularization filter

In a continuum setting, we can impose symmetries to the space of admissible density fields by means of the operator \(\mathcal {P}_{s}(\eta (\textbf {x}))\), which maps the design function ηx according to the desired symmetries (e.g., \(\mathcal {P}_{s}(\eta (\textbf {x}))=\eta (x_{1},|{x_{2}}|\)) if we desire symmetries with respect to the x1-axis). The symmetrized space of admissible density fields is given by (12) and leads to a regularization mapping of the form \(\mathcal {P}(\eta )=(\mathcal {P}_{F}\circ \mathcal {P}_{s})(\eta )\).

Now, in a discretized setting, the symmetrized filter matrix P (i.e., the discrete counterpart of \(\mathcal {P}\)), becomes:

$$ P_{\ell k}=\frac{w_{\ell k}v_{k}}{\sum\limits_{j=1}^{N}w_{\ell j}v_{j}},~~w_{\ell k}=\max\left( 0,1-\frac{\|\tilde{\textbf{x}}_{\ell}-\tilde{\textbf{x}}_{k}\|_{2}}{R}\right)^{q}, $$
(74)

where \(\tilde {\textbf {x}}_{\ell }\) (or \(\tilde {\textbf {x}}_{k}\)) are given by:

$$ \tilde{\textbf{x}}_{\ell}=\left[x_{1}^{\ell},~|x_{2}^{\ell}|\right]^{T}, $$
(75)

when imposing symmetry about the x1-axis:

$$ \tilde{\textbf{x}}_{\ell}=\left[|x_{1}^{\ell}|,~x_{2}^{\ell}\right]^{T}, $$
(76)

when imposing symmetry about the x2-axis, and:

$$ \tilde{\textbf{x}}_{\ell}=\left[|x_{1}^{\ell}|,~|x_{2}^{\ell}|\right]^{T}, $$
(77)

when imposing symmetry about both the x1-axis and the x2-axis. The capability of imposing symmetry to the designs through the filter matrix has been added to the PolyFilter routine, which can be found in the electronic supplementary material.

Appendix C: Continuity proof for the bilinear material model

As discussed by Curnier et al. (1994), the specific strain energy function from (59) is continuous in the entire space of infinitesimal strains, \(\mathcal {E}\). In fact, according to (59), the material behaves as a linear material with properties (λt, μ) when χ(ε) = tr(ε) > 0 (i.e., in the tension sub-domain, \(\mathcal {E}_{t}\)) and as a linear material with properties (λc, μ) when χ(ε) = tr(ε) < 0 (i.e., in the compression sub-domain, \(\mathcal {E}_{c}\)). Below, we demonstrate that both the strain energy and the stress tensor are continuous in the entire space of infinitesimal strains.

First, we demonstrate that the strain energy density function (59) is continuous in \(\mathcal {E}\). According to (59)–(60), if tr(ε) > 0:

$$ W_{0}=W_{0}^{+}=\frac{1}{2}\lambda_{t}\text{tr}^{2}(\boldsymbol{\varepsilon})+\mu\text{tr}(\boldsymbol{\varepsilon}^{2}), $$
(78)

which is a twice continuously differentiable function on \(\mathcal {E}_{t}\). Similarly, if tr(ε) < 0:

$$ W_{0}=W_{0}^{-}=\frac{1}{2}\lambda_{c}\text{tr}^{2}(\boldsymbol{\varepsilon})+\mu\text{tr}(\boldsymbol{\varepsilon}^{2}), $$
(79)

which is a twice continuously differentiable function on \(\mathcal {E}_{c}\). The strain energy is also continuous across the interface between the tension and the compression sub-domains (i.e., when tr(ε) = 0) because:

$$ W_{0}\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=W_{0}^{+}\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=W_{0}^{-}\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=\mu\text{tr}(\boldsymbol{\varepsilon}^{2}). $$
(80)

Following the same procedure, we now demonstrate that the stress tensor, \(\boldsymbol {\sigma }=\frac {\partial W_{0}}{\partial {\varepsilon }}\), is also continuous across the entire strain space. According to (60) and (61)1, if tr(ε) > 0:

$$ \boldsymbol{\sigma}(\boldsymbol{\varepsilon})=\boldsymbol{\sigma}^{+}=\lambda_{t}\text{tr}(\boldsymbol{\varepsilon})\textbf{I}+2\mu\boldsymbol{\varepsilon}, $$
(81)

which is continuously differentiable on \(\mathcal {E}_{t}\). Similarly, if tr(ε) < 0:

$$ \boldsymbol{\sigma}(\boldsymbol{\varepsilon})=\boldsymbol{\sigma}^{-}=\lambda_{c}\text{tr}(\boldsymbol{\varepsilon})\textbf{I}+2\mu\boldsymbol{\varepsilon}, $$
(82)

which is continuously differentiable on \(\mathcal {E}_{c}\). Now, across the interface between the tension and the compression sub-domains (i.e., when tr(ε) = 0), we have:

$$ \boldsymbol{\sigma}(\boldsymbol{\varepsilon})\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=\boldsymbol{\sigma}^{+}\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=\boldsymbol{\sigma}^{-}\left.\right|_{\text{tr}(\boldsymbol{\varepsilon})=0}=2\mu\boldsymbol{\varepsilon}, $$
(83)

which concludes our proof of continuity. The elasticity tensor in (61)2 can be discontinuous across the interface between the tension and the compression subdomains, but it is nonetheless piecewise continuous on \(\mathcal {E}_{t}\) and \(\mathcal {E}_{c}\), respectively. This discontinuity in the elasticity tensor has not shown any adverse effect in terms of numerical instabilities and has not caused convergence issues.

Appendix D: PolyScript

figure i

Appendix E: PolyStress

figure j
figure k
figure l

Appendix F: NLFEM

figure m
figure n

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Giraldo-Londoño, O., Paulino, G.H. PolyStress: a Matlab implementation for local stress-constrained topology optimization using the augmented Lagrangian method. Struct Multidisc Optim 63, 2065–2097 (2021). https://doi.org/10.1007/s00158-020-02760-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00158-020-02760-8

Keywords

Navigation