/TopADD_2D_3D_Arbitrary_TopOpt_in_PETSc

2D/3D integrated Topology optimization parallel-computing framework for arbitrary design domains

Primary LanguageC++

TopADD: 2D_3D_Arbitrary_TopOpt_in_PETSc

A 2D/3D integrated topology optimization parallel-computing framework for arbitrary design domains

The code solves topology optimization problems with arbitrary design domains in either 2D or 3D. By default, it solves a 2D compliance minimization problem as shown in the below picture:

2D problem

Moreover, it can solve 3D problems as well as other two problems: compliant design and heat conduction problems:

Different problem

The Base-Code

This code is based on the version 2017 of the TopOpt_in_PETSc code. The original code can be found here: https://github.com/topopt/TopOpt_in_PETSc (Aage, N., Andreassen, E., & Lazarov, B. S. (2015). Topology optimization using PETSc: An easy-to-use, fully parallel, open source topology optimization framework. Structural and Multidisciplinary Optimization, 51(3), 565–572. https://doi.org/10.1007/s00158-014-1157-0)

The Code Overview

Code overview

The green are new added files and modules.

Compilation and Execution

Compile following rules in makefile

To compile, e.g.:make topopt

To run, e.g.: mpiexec -np 4 ./topopt

To visulize, using Paraview

NOTE: The code works with PETSc version 3.9.0

Additive Manufacturing (also known as 3D Printing)

The optimized parts can be directly printed without any post-processing:

3D printing

Citing this work

Zhang, ZD., Ibhadode, O., Bonakdar, A. et al. TopADD: a 2D/3D integrated topology optimization parallel-computing framework for arbitrary design domains. Struct Multidisc Optim 64, 1701–1723 (2021). https://doi.org/10.1007/s00158-021-02917-z