Journal
STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION
Volume 64, Issue 6, Pages 4355-4365Publisher
SPRINGER
DOI: 10.1007/s00158-021-03025-8
Keywords
Automatic differentiation; Topology optimization; JAX; Sensitivity analysis; Machine learning; Educational code
Categories
Funding
- National Science Foundation [CMMI 1561899]
Ask authors/readers for more resources
This paper introduces the use of automatic differentiation (AD) for computing sensitivities in topology optimization (TO) problems. The framework called AuTO, implemented using the high-performance Python library JAX, is illustrated through several examples in compliance minimization, compliant mechanism design, and microstructural design.
A critical step in topology optimization (TO) is finding sensitivities. Manual derivation and implementation of sensitivities can be quite laborious and error-prone, especially for non-trivial objectives, constraints and material models. An alternate approach is to utilize automatic differentiation (AD). While AD has been around for decades, and has also been applied in TO, its wider adoption has largely been absent. In this educational paper, we aim to reintroduce AD for TO, making it easily accessible through illustrative codes. In particular, we employ JAX, a high-performance Python library for automatically computing sensitivities from a user-defined TO problem. The resulting framework, referred to here as AuTO, is illustrated through several examples in compliance minimization, compliant mechanism design and microstructural design.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available