This is a simple topology optimization program completed in C++, while using python to complete the diagram, the project is completed in the linux architecture using VScode IDE.
git clone https://github.com/HajerZhang/MyTopOpt.git
What things you need to install the software and how to install them
python3 with numpy, matplotlib, PIL,tqdm
(maybe future will use eigen3)
How to use
Windows & Linux:
make
Debug mode:
make debug
How to run:
./main.exe
How to plot the result:
python3 plot.py
Topology optimization of 2D MBB beam:
Gif of the process:
The final result:
Install the python3 and the required packages, then run the plot.py to create the topology optimization result in file './plot'.
- 1.0
- inital version:Basic 2D topology optimization
- Python:Draw the topology optimization diagram with matplotlib
- 2.0
- Change the code structure, use the faster finite element method.
- Replace the OC method with the MMA method.
- Add the density filter.
- 2.5
- Fixed a lot of bugs in version 2.0 which is now working properly
- 2.6
- Added Sensitivity filtering and Heaviside projection filter.
- Improved operational efficiency (sparse matrix)
- Stress constraint
- Displacement constraint
- 3D topology optimization
- Hajer - main worker - Hajer Zhang
- Teng Qing - technical adviser - SZWHTQ
To see more about the contributors to this project, please read contributors
- Sigmund O (2001) A 99 line topology optimization code written in Matlab. Struct Multidiscip Optim 21(2):120–127
- Andreassen E, Clausen A, Schevenels M, Lazarov BS, Sigmund O (2011) Efficient topology optimization in matlab using 88 lines of code. Struct Multidiscip Optim 43(1):1–16
This project has no license now,but it will be MIT licensed in the future.