Skip to main content
Log in

Stress-based bi-directional evolutionary topology optimization for structures with multiple materials

  • Original Article
  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

Both multi-material and stress-based topology optimization problems have been extensively investigated. However, there are few studies on the stress-based topology optimization of multi-material structures. Hence, this work proposes a novel topology optimization method for minimizing the maximum von Mises stress of structures with multiple materials under volume constraints. An extended Bi-directional Evolutionary Structural Optimization (BESO) method based on discrete variables which can mitigate the well-known stress singularity problem is adopted. The global von Mises stress is established with the p-norm function, and the adjoint sensitivity analysis is derived. Two benchmark numerical examples are investigated to validate the effectiveness of the proposed method. The effects of key parameters including p-norm, sensitivity and density filter radii on the optimized results and the stress distributions are discussed. The influence of varying mesh densities on the optimized topologies are investigated in comparison with the multi-material stiffness maximization design. The topological results, for multi-material stress design, indicate that the maximum stress can be reduced compared with multi-material stiffness design. It concludes that the proposed approach can achieve a reasonable design that effectively controls the stress level and reduces the stress concentration effect at the critical stress areas of multi-material structures.

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

Similar content being viewed by others

Availability of data and materials

The necessary information for replication of the results is present in the manuscript. The interested reader may contact the corresponding author for further implementation details.

References

  1. Le C, Norato J, Bruns T, Ha C, Tortorelli D (2010) Stress-based topology optimization for continua. Struct Multidiscip Optim 41(4):605–620. https://doi.org/10.1007/s00158-009-0440-y

    Article  Google Scholar 

  2. Xia L, Zhang L, Xia Q, Shi TL (2018) Stress-based topology optimization using bi-directional evolutionary structural optimization method. Comput Methods Appl Mech Eng 333:356–370. https://doi.org/10.1016/j.cma.2018.01.035

    Article  MathSciNet  ADS  Google Scholar 

  3. Long K, Wang X, Liu HL (2019) Stress-constrained topology optimization of continuum structures subjected to harmonic force excitation using sequential quadratic programming. Struct Multidiscip Optim 59(5):1747–1759. https://doi.org/10.1007/s00158-018-2159-0

    Article  MathSciNet  Google Scholar 

  4. Xu B, Han YS, Zhao L (2020) Bi-directional evolutionary topology optimization of geometrically nonlinear continuum structures with stress constraints. Appl Math Model 80:771–791. https://doi.org/10.1016/j.apm.2019.12.009

    Article  MathSciNet  Google Scholar 

  5. Xu B, Han YS, Zhao L (2021) Bi-directional evolutionary stress-based topology optimization of material nonlinear structures. Struct Multidiscip Optim 63(3):1287–1305. https://doi.org/10.1007/s00158-020-02757-3

    Article  MathSciNet  Google Scholar 

  6. Han YS, Xu B, Wang Q, Liu YH, Duan ZY (2021) Topology optimization of material nonlinear continuum structures under stress constraints. Comput Methods Appl Mech Eng 378:113731. https://doi.org/10.1016/j.cma.2021.113731

    Article  MathSciNet  ADS  Google Scholar 

  7. Zhao F, Xia L, Lai WX, Xia Q, Shi TL (2019) Evolutionary topology optimization of continuum structures with stress constraints. Struct Multidiscip Optim 59(2):647–658. https://doi.org/10.1007/s00158-018-2090-4

    Article  MathSciNet  Google Scholar 

  8. 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. https://doi.org/10.1016/j.cma.2011.08.016

    Article  MathSciNet  ADS  Google Scholar 

  9. Duysinx P, Bendsøe MP (1998) Topology optimization of continuum structures with local stress constraints. Int J Numer Methods Eng 43(8):1453–1478. https://www.webofscience.com/wos/alldb/full-record/WOS:000077488600006

  10. Cheng GD, Guo X (1997) Epsilon-relaxed approach in structural topology optimization. Struct Multidiscip Optim 13(4):258–266. https://doi.org/10.1007/BF01197454

    Article  Google Scholar 

  11. Bruggi M (2008) On an alternative approach to stress constraints relaxation in topology optimization. Struct Multidiscip Optim 36(2):125–141. https://doi.org/10.1007/s00158-007-0203-6

    Article  MathSciNet  Google Scholar 

  12. Bruggi M, Duysinx P (2012) Topology optimization for minimum weight with compliance and stress constraints. Struct Multidiscip Optim 46(3):369–384. https://doi.org/10.1007/s00158-012-0759-7

    Article  MathSciNet  Google Scholar 

  13. Svärd H (2015) Interior value extrapolation: a new method for stress evaluation during topology optimization. Struct Multidiscip Optim 51(3):613–629. https://doi.org/10.1007/s00158-014-1171-2

    Article  Google Scholar 

  14. Xie YM, Steven GP (1993) A simple evolutionary procedure for structural optimization. Comput Struct 49(5):885–896. https://doi.org/10.1016/0045-7949(93)90035-C

    Article  Google Scholar 

  15. Huang X, Xie YM (2007) Convergent and mesh-independent solutions for bi-directional evolutionary structural optimization method. Finite Elem Anal Des 43(14):1039–1049. https://doi.org/10.1016/j.finel.2007.06.006

    Article  Google Scholar 

  16. Fritzen F, Xia L, Leuschner M, Breitkopf P (2016) Topology optimization of multiscale elastoviscoplastic structures. Inter J Numer Methods Eng 106(6):430–453. https://doi.org/10.1002/nme.5122

    Article  MathSciNet  Google Scholar 

  17. Xia L, Fritzen F, Breitkopf P (2017) Evolutionary topology optimization of elastoplastic structures. Struct Multidiscip Optim 55(2):569–581. https://doi.org/10.1007/s00158-016-1523-1

    Article  MathSciNet  Google Scholar 

  18. Xia L, Da DC, Yvonnet J (2018) Topology optimization for maximizing the fracture resistance of quasi-brittle composites. Comput Methods Appl Mech Eng 332:234–254. https://doi.org/10.1016/j.cma.2017.12.021

    Article  MathSciNet  ADS  Google Scholar 

  19. Xu B, Han YS, Zhao L, Xie YM (2019) Topology optimization of continuum structures for natural frequencies considering casting constraints. Eng Optim 51(6):941–960. https://doi.org/10.1080/0305215X.2018.1506771

    Article  MathSciNet  Google Scholar 

  20. Xu B, Han YS, Zhao L, Xie YM (2020) Topological optimization of continuum structures for additive manufacturing considering thin feature and support structure constraints. Eng Optimiz. https://doi.org/10.1080/0305215X.2020.1849170

    Article  Google Scholar 

  21. Han YS, Xu B, Zhao L, Xie YM (2019) Topology optimization of continuum structures under hybrid additive-subtractive manufacturing constraints. Struct Multidiscip Optim 60(6):2571–2595. https://doi.org/10.1007/s00158-019-02334-3

    Article  Google Scholar 

  22. Han YS, Xu B, Wang Q, Liu YH (2021) Bi-directional evolutionary topology optimization of continuum structures subjected to inertial loads. Adv Eng Softw 155:102897. https://doi.org/10.1016/j.advengsoft.2020.102897

    Article  Google Scholar 

  23. Bendsøe MP, Sigmund O (2013) Topology optimization: theory, methods, and applications. Springer, London

    Google Scholar 

  24. Yin L, Ananthasuresh GK (2001) Topology optimization of compliant mechanisms with multiple materials using a peak function material interpolation scheme. Struct Multidiscip Optim 23(1):49–62. https://doi.org/10.1007/s00158-001-0165-z

    Article  Google Scholar 

  25. Huang XD, Xie YM (2009) Bi-directional evolutionary topology optimization of continuum structures with one or multiple materials. Comput Mech 43:393–401. https://doi.org/10.1007/s00466-008-0312-0

    Article  MathSciNet  Google Scholar 

  26. Tavakoli R (2014) Multimaterial topology optimization by volume constrained Allen–Cahn system and regularized projected steepest descent method. Comput Methods Appl Mech Eng 276:534–565. https://doi.org/10.1016/j.cma.2014.04.005

    Article  MathSciNet  ADS  Google Scholar 

  27. Michael YW, Wang XM (2004) “Color” level sets: a multi-phase method for structural topology optimization with multiple materials. Comput Methods Appl Mech Eng 193(6–8):469–496. https://doi.org/10.1016/j.cma.2003.10.008

    Article  MathSciNet  Google Scholar 

  28. Li H, Luo Z, Xiao M, Gao L, Gao J (2019) A new multiscale topology optimization method for multiphase composite structures of frequency response with level sets. Comput Methods Appl Mech Eng 356:116–144. https://doi.org/10.1016/j.cma.2019.07.020

    Article  MathSciNet  ADS  Google Scholar 

  29. Guo X, Zhang WS, Zhong WL (2014) Stress-related topology optimization of continuum structures involving multi-phase materials. Comput Methods Appl Mech Eng 268:632–655. https://doi.org/10.1016/j.cma.2013.10.003

    Article  MathSciNet  ADS  Google Scholar 

  30. Jeong SH, Choi DH, Yoon GH (2014) Separable stress interpolation scheme for stress-based topology optimization with multiple homogenous materials. Finite Elem Anal Des 82:16–31. https://doi.org/10.1016/j.finel.2013.12.003

    Article  MathSciNet  Google Scholar 

  31. Chu S, Gao L, Xiao M, Luo Z, Li H (2018) Stress-based multi-material topology optimization of compliant mechanisms. Internat J Numer Methods Engrg 113(7):1021–1044. https://doi.org/10.1002/nme.5697

    Article  MathSciNet  ADS  Google Scholar 

  32. Chu S, Xiao M, Gao L, Li H (2019) A level set-based method for stress-constrained multimaterial topology optimization of minimizing a global measure of stress. Internat J Numer Methods Engrg 117(7):800–818. https://doi.org/10.1002/nme.5979

    Article  MathSciNet  ADS  Google Scholar 

  33. Wang YQ, Luo Z, Kang Z, Zhang N (2015) A multi-material level set-based topology and shape optimization method. Comput Methods Appl Mech Eng 283:1570–1586. https://doi.org/10.1016/j.cma.2014.11.002

    Article  MathSciNet  ADS  Google Scholar 

  34. Emmendoerfer H, Maute K, Fancello EA, Silva ECN (2022) A level set-based optimized design of multi-material compliant mechanisms considering stress constraints. Comput Methods Appl Mech Eng 391:114566. https://doi.org/10.1016/j.cma.2021.114556

    Article  MathSciNet  ADS  Google Scholar 

  35. Banh TT, Lieu QX, Kang J, Ju Y, Shin S, Lee D (2023) A novel robust stress-based multimaterial topology optimization model for structural stability framework using refined adaptive continuation method. Eng Comput. https://doi.org/10.1007/s00366-023-01829-4

    Article  Google Scholar 

  36. Han YS, Xu B, Duan ZY, Huang XD (2022) Stress-based multi-material structural topology optimization considering graded interfaces. Comput Methods Appl Mech Eng 391:114602. https://doi.org/10.1016/j.cma.2022.114602

    Article  MathSciNet  ADS  Google Scholar 

  37. Sigmund O (2001) A 99 line topology optimization code written in Matlab. Struct Multidiscip Optim 21(2):120–127. https://doi.org/10.1007/s001580050176

    Article  Google Scholar 

Download references

Acknowledgements

This work is supported by the Natural Science Foundation of Shaanxi Province, China (2024JC-YBQN-0040). Yongsheng Han would like to thank Qian Wang for valuable discussions and suggestions during the pursuit of this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongsheng Han.

Ethics declarations

Conflict of interest

No potential conflict of interest was reported by the authors.

Additional information

Publisher's Note

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

Appendix: Sensitivity analysis

Appendix: Sensitivity analysis

According to Eq. (11), the derivative of the objective function with respect to the topological variables can be derived as

$$ \frac{{\partial \sigma_{PN} }}{\partial x_i^j } = \sigma_{PN}^{1 - p} \left( {\sum_{i = 1}^N {\sigma_{vm,i}^{p - 1} \frac{{\partial \sigma_{vm.i} }}{\partial x_i^j }} } \right),\quad i = 1,2,...,N,\quad j = 1,2 $$
(23)

According to Eq. (8), one obtains

$$ \frac{{\partial \sigma_{vm,i} }}{{\partial {{\varvec{\sigma}}}_i }} = \frac{1}{2}\left( {{{\varvec{\sigma}}}_i^T {\varvec{V\sigma }}_i } \right)^{ - {1 / 2}} 2{{\varvec{\sigma}}}_i^T {{\mathbf{V}}} = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}} $$
(24)

In consideration of Eq. (24), and by the chain rule, the derivative of the von Mises stress with respect to the topological variable can be obtained as

$$ \frac{{\partial \sigma_{vm,i} }}{\partial x_i^j } = \frac{{\partial \sigma_{vm,i} }}{{\partial {{\varvec{\sigma}}}_i }}\frac{{\partial {{\varvec{\sigma}}}_i }}{\partial x_i^j } = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\frac{{\partial {{\varvec{\sigma}}}_i }}{\partial x_i^j } $$
(25)

In consideration of Eq. (6), Eq. (25) can be further written as

$$ \left\{ {\begin{array}{*{20}c} {\frac{{\partial \sigma_{vm,i} }}{\partial x_i^1 } = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i \frac{{\partial {{\mathbf{U}}}}}{\partial x_i^1 }} \right)} \\ { + \left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i \frac{{\partial {{\mathbf{U}}}}}{\partial x_i^1 }} \right)} \\ \end{array} } \right]} \\ {\frac{{\partial \sigma_{vm,i} }}{\partial x_i^2 } = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i \frac{{\partial {{\mathbf{U}}}}}{\partial x_i^2 }} \right)} \\ { + \left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i \frac{{\partial {{\mathbf{U}}}}}{\partial x_i^2 } - \overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}}} \right)} \\ \end{array} } \right]} \\ \end{array} } \right. $$
(26)

where the matrix \({{\mathbf{L}}}_i\) gathers the nodal displacements of the of the \(i\)th element from the global displacement vector, as \({{\mathbf{u}}}_i = {{\mathbf{L}}}_i {{\mathbf{U}}}\).

By differentiating both sides of the state balance equation Eq. (12), one obtains

$$ \frac{{\partial {{\mathbf{U}}}}}{\partial x_i^j } = - {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^j }{{\mathbf{U}}} $$
(27)

Thus, Eq. (26) can be further written as

$$ \left\{ {\begin{array}{*{20}c} {\frac{{\partial \sigma_{vm,i} }}{\partial x_i^1 } = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^1 }{{\mathbf{U}}}} \right)} \\ { + \left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^1 }{{\mathbf{U}}}} \right)} \\ \end{array} } \right]} \\ {\frac{{\partial \sigma_{vm,i} }}{\partial x_i^2 } = \sigma_{vm,i}^{ - 1} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^2 }{{\mathbf{U}}}} \right)} \\ { - \left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^2 }{{\mathbf{U}}}} \right)} \\ \end{array} } \right]} \\ \end{array} } \right. $$
(28)

Substituting Eq. (28) into Eq. (23), one obtains

$$ \left\{ {\begin{array}{*{20}c} {\frac{{\partial \sigma_{PN} }}{\partial x_i^1 } = \sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^1 }{{\mathbf{U}}}} \right)} \\ { + \left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^1 }{{\mathbf{U}}}} \right)} \\ \end{array} } \right]} } \\ {\frac{{\partial \sigma_{PN} }}{\partial x_i^1 } = \sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\begin{array}{*{20}c} {\left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^2 }{{\mathbf{U}}}} \right)} \\ { - \left( {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{K}}}^{ - 1} \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^2 }{{\mathbf{U}}}} \right)} \\ \end{array} } \right]} } \\ \end{array} } \right. $$
(29)

The solution of the adjoint problem:

$$ {\varvec{K\lambda }} = \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} \left[ {\left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i } \right) + \left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i } \right)} \right]^T {{\mathbf{V}}}} {{\varvec{\sigma}}}_i $$
(30)

is the adjoint vector, as

$$ {{\varvec{\lambda}}}^T { = }\sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} } {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i } \right) + \left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i } \right)} \right]{{\mathbf{K}}}^{ - 1} $$
(31)

Thus, the sensitivity numbers Eq. (29) can be further simplified as

$$ \left\{ {\begin{array}{*{20}c} {\frac{{\partial \sigma_{PN} }}{\partial x_i^1 }{ = }\sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} + \overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}}} \right]} - \sigma_{PN}^{1 - p} {{\varvec{\lambda}}}^T \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^1 }{{\mathbf{U}}}} \\ {\frac{{\partial \sigma_{PN} }}{\partial x_i^2 }{ = }\sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_1^0 {{\mathbf{BL}}}_i {{\mathbf{U}}} - \overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_2^0 {{\mathbf{BL}}}_i {{\mathbf{U}}}} \right]} - \sigma_{PN}^{1 - p} {{\varvec{\lambda}}}^T \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^2 }{{\mathbf{U}}}} \\ \end{array} } \right. $$
(32)

Recalling Eq. (5), the derivatives of the stiffness matrices with respect to topological variables can be obtained as

$$ \frac{{\partial {{\mathbf{K}}}}}{\partial x_i^j } = \sum_{i = 1}^N {{{\mathbf{L}}}_i^T \left( {\left( {x_i^1 } \right)^{\overline{p}} \left( {\left( {x_i^2 } \right)^{\overline{p}} \frac{{\partial {{\mathbf{k}}}_i^1 }}{\partial x_i^j } + \left( {1 - x_i^2 } \right)^{\overline{p}} \frac{{\partial {{\mathbf{k}}}_i^2 }}{\partial x_i^j }} \right)} \right){{\mathbf{L}}}_i } = \left( {x_i^1 } \right)^{\overline{p}} {{\mathbf{L}}}_i^T \left( {\left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{1,\left( 0 \right)} + \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{2,\left( 0 \right)} } \right){{\mathbf{L}}}_i $$
(33)

where \({{\mathbf{k}}}_i^j\) and \({{\mathbf{k}}}_i^{j,\left( 0 \right)}\) are the elemental stiffness matrix and the elemental stiffness corresponding to solid material of the \(i\)th element for the \(j\)th material, which can be respectively written as

$$ \left\{ {\begin{array}{*{20}c} {{{\mathbf{k}}}_i^j = x_i^j \int_{\Omega_i } {{{\mathbf{B}}}^T {{\mathbf{D}}}_j^0 {{\mathbf{B}}}d\Omega_i } } \\ {{{\mathbf{k}}}_i^{j,\left( 0 \right)} = \int_{\Omega_i } {{{\mathbf{B}}}^T {{\mathbf{D}}}_j^0 {{\mathbf{B}}}d\Omega_i } } \\ \end{array} } \right. $$
(34)

where \(\Omega_i\) denotes the domain of the \(i\)th element.

Substituting Eq. (33) into Eq. (32), the sensitivities can be eventually evaluated as

$$ \begin{aligned} \frac{{\partial \sigma_{PN} }}{\partial x_i^1 } & { = }\sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_1^0 {{\mathbf{Bu}}}_i + \overline{p}\left( {x_i^1 } \right)^{\overline{p} - 1} \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{D}}}_2^0 {{\mathbf{Bu}}}_i } \right]} \\ & \quad - \sigma_{PN}^{1 - p} {{\varvec{\lambda}}}_i^T \left( {x_i^1 } \right)^{\overline{p}} \left( {\left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{1,\left( 0 \right)} + \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{2,\left( 0 \right)} } \right){{\mathbf{u}}}_i \\ \end{aligned} $$
(35)
$$ \begin{aligned} \frac{{\partial \sigma_{PN} }}{\partial x_i^2 } & { = }\sigma_{PN}^{1 - p} \sum_{i = 1}^N {\sigma_{vm,i}^{p - 2} {{\varvec{\sigma}}}_i^T {{\mathbf{V}}}\left[ {\overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_1^0 {{\mathbf{Bu}}}_i - \overline{p}\left( {x_i^1 } \right)^{\overline{p}} \left( {1 - x_i^2 } \right)^{\overline{p} - 1} {{\mathbf{D}}}_2^0 {{\mathbf{Bu}}}_i } \right]} \\ & \quad - \sigma_{PN}^{1 - p} {{\varvec{\lambda}}}_i^T \left( {x_i^1 } \right)^{\overline{p}} \left( {\left( {x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{1,\left( 0 \right)} + \left( {1 - x_i^2 } \right)^{\overline{p}} {{\mathbf{k}}}_i^{2,\left( 0 \right)} } \right){{\mathbf{u}}}_i \\ \end{aligned} $$
(36)

where \({{\varvec{\lambda}}}_i\) is the vector of the adjoint nodal values of the \(i\)th element.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Han, Y. Stress-based bi-directional evolutionary topology optimization for structures with multiple materials. Engineering with Computers (2024). https://doi.org/10.1007/s00366-024-01953-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00366-024-01953-9

Keywords

Navigation