Table of Contents
Fetching ...

PyTOaCNN: Topology optimization using an adaptive convolutional neural network in Python

Khaish Singh Chadha, Prabhat Kumar

TL;DR

PyTOaCNN presents an adaptive encoder–decoder CNN for topology optimization that generalizes across diverse physics by learning image-based mappings from volume fraction inputs to optimized designs. The architecture introduces a dense bottleneck and an optional adaptive layer, enabling high-quality results with relatively small training datasets. The approach is demonstrated on constant and design-dependent loads and bulk modulus optimization, with accompanying Python code to facilitate reproducibility. The method offers near real-time TO, potential educational value, and a practical pathway toward broader, data-driven TO workflows.

Abstract

This paper introduces an adaptive convolutional neural network (CNN) architecture capable of automating various topology optimization (TO) problems with diverse underlying physics. The proposed architecture has an encoder-decoder-type structure with dense layers added at the bottleneck region to capture complex geometrical features. The network is trained using datasets obtained by the problem-specific open-source TO codes. Tensorflow and Keras are the main libraries employed to develop and to train the model. Effectiveness and robustness of the proposed adaptive CNN model are demonstrated through its performance in compliance minimization problems involving constant and design-dependent loads and in addressing bulk modulus optimization. Once trained, the model takes user's input of the volume fraction as an image and instantly generates an output image of optimized design. The proposed CNN produces high-quality results resembling those obtained via open-source TO codes with negligible performance and volume fraction errors. The paper includes complete associated Python code (Appendix A) for the proposed CNN architecture and explains each part of the code to facilitate reproducibility and ease of learning.

PyTOaCNN: Topology optimization using an adaptive convolutional neural network in Python

TL;DR

PyTOaCNN presents an adaptive encoder–decoder CNN for topology optimization that generalizes across diverse physics by learning image-based mappings from volume fraction inputs to optimized designs. The architecture introduces a dense bottleneck and an optional adaptive layer, enabling high-quality results with relatively small training datasets. The approach is demonstrated on constant and design-dependent loads and bulk modulus optimization, with accompanying Python code to facilitate reproducibility. The method offers near real-time TO, potential educational value, and a practical pathway toward broader, data-driven TO workflows.

Abstract

This paper introduces an adaptive convolutional neural network (CNN) architecture capable of automating various topology optimization (TO) problems with diverse underlying physics. The proposed architecture has an encoder-decoder-type structure with dense layers added at the bottleneck region to capture complex geometrical features. The network is trained using datasets obtained by the problem-specific open-source TO codes. Tensorflow and Keras are the main libraries employed to develop and to train the model. Effectiveness and robustness of the proposed adaptive CNN model are demonstrated through its performance in compliance minimization problems involving constant and design-dependent loads and in addressing bulk modulus optimization. Once trained, the model takes user's input of the volume fraction as an image and instantly generates an output image of optimized design. The proposed CNN produces high-quality results resembling those obtained via open-source TO codes with negligible performance and volume fraction errors. The paper includes complete associated Python code (Appendix A) for the proposed CNN architecture and explains each part of the code to facilitate reproducibility and ease of learning.
Paper Structure (27 sections, 6 equations, 10 figures, 7 tables)

This paper contains 27 sections, 6 equations, 10 figures, 7 tables.

Figures (10)

  • Figure 1: Kernal movement
  • Figure 2: Kernal operation
  • Figure 3: Maxpooling operation
  • Figure 4: Transposed Convolution Operation
  • Figure 5: General Architecture of the Adaptive Convolutional Neural Network (CNN)
  • ...and 5 more figures