FEniTop: a simple FEniCSx implementation for 2D and 3D topology optimization supporting parallel computing

2Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Topology optimization has emerged as a versatile design tool embraced across diverse domains. This popularity has led to great efforts in the development of education-centric topology optimization codes with various focuses, such as targeting beginners seeking user-friendliness and catering to experienced users emphasizing computational efficiency. In this study, we introduce FEniTop, a novel 2D and 3D topology optimization software developed in Python and built upon the open-source FEniCSx library, designed to harmonize usability with computational efficiency and post-processing for fabrication. FEniTop employs a modular architecture, offering a unified input script for defining topology optimization problems and six replaceable modules to streamline subsequent optimization tasks. By enabling users to express problems in the weak form, FEniTop eliminates the need for matrix manipulations, thereby simplifying the modeling process. The software also integrates automatic differentiation to mitigate the intricacies associated with chain rules in finite element analysis and sensitivity analysis. Furthermore, FEniTop provides access to a comprehensive array of readily available solvers and preconditioners, bolstering flexibility in problem-solving. FEniTop is designed for scalability, furnishing robust support for parallel computing that seamlessly adapts to diverse computing platforms, spanning from laptops to distributed computing clusters. It also facilitates effortless transitions for various spatial dimensions, mesh geometries, element types, and orders, and quadrature degrees. Apart from the computational benefits, FEniTop facilitates the automated exportation of optimized designs, compatible with open-source ParaView software for post-processing. This functionality allows for visualizing optimized designs across diverse mesh geometries and element shapes, automatically smoothing 3D designs, and converting smoothed designs into STereoLithography (STL) files for 3D printing. To illustrate the capabilities of FEniTop, we present five representative examples showcasing topology optimization across 2D and 3D geometries, structured and unstructured meshes, solver switching, and complex boundary conditions. We also assess the parallel computational efficiency of FEniTop by examining its performance across diverse computing platforms, process counts, problem sizes, and solver configurations. Finally, we demonstrate a physical 3D-printed model utilizing the STL file derived from the design optimized by FEniTop. These examples showcase not only FEniTop’s rich functionality but also its parallel computing performance. The open-source FEniTop is given in "Appendix B" and will be available on GitHub.

Cite

CITATION STYLE

APA

Jia, Y., Wang, C., & Zhang, X. S. (2024). FEniTop: a simple FEniCSx implementation for 2D and 3D topology optimization supporting parallel computing. Structural and Multidisciplinary Optimization, 67(8). https://doi.org/10.1007/s00158-024-03818-7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free