TopOpt is a topology optimization package written in Julia. It supports structural (linear elasticity) and heat-transfer problems on continuum and truss ground meshes in 2D and 3D, with automatic differentiation through every objective and constraint.
See the installation section of the documentation (dev).
The full list of features is maintained in one place, the documentation (dev).
Executable, commented tutorials are hosted on the documentation site: TopOpt.jl Tutorials (dev).
If you use TopOpt.jl in your research, please cite the following journal paper and conference publications.
@article{TarekRay2020,
title={Adaptive continuation solid isotropic material with penalization for volume constrained compliance minimization},
author={Tarek, Mohamed and Ray, Tapabrata},
journal={Computer Methods in Applied Mechanics and Engineering},
volume={363},
pages={112880},
year={2020},
doi={10/gg55cc}
}- TopOpt.jl: An efficient and high-performance package for topology optimization of continuum structures in the Julia programming language
@inproceedings{tarek2019topoptjl,
title={TopOpt.jl: An efficient and high-performance package for topology optimization of continuum structures in the Julia programming language},
author={Tarek, Mohamed},
booktitle={Proceedings of the 13th World Congress of Structural and Multidisciplinary Optimization},
year={2019}
}@inproceedings{huang2021topoptjl,
title={TopOpt.jl: Truss and Continuum Topology Optimization, Interactive Visualization, Automatic Differentiation and More},
author={Huang, Yijiang and Tarek, Mohamed},
booktitle={Proceedings of the 14th World Congress of Structural and Multidisciplinary Optimization},
year={2021}
}A standard citation file is provided as CITATION.bib.
We welcome new contributors! Please see the open issues for beginner-friendly and research-oriented tasks, or open a new issue to discuss your idea.
If you have any questions, join us on the #topopt channel in the Julia slack, open an issue or shoot us an email.




