论文标题
2D和3D中的大规模平行拓扑优化的55行代码
A 55-line code for large-scale parallel topology optimization in 2D and 3D
论文作者
论文摘要
本文根据开源有限元计算软件(FENIC)介绍了用Python编写的55行代码,用于2D和3D拓扑优化(TO),配备了各种有限的元素工具和求解器。 PETSC用作线性代数后端,其计算时间明显少于标准Python库。该代码是基于受欢迎的各向同性材料(SIMP)方法的设计。还提出了多个负载情况,不同的边界条件和被动元件的掺入的扩展。因此,该实现是基于SIMP的拓扑优化3D和2D问题的最紧凑的实现。 利用欧几里得距离矩阵的概念来矢量化滤波器的重量矩阵的计算,我们已经实现了计算时间的大幅减少,并且也使代码可以使用复杂的地面结构配置。我们还介绍了该法规扩展到大规模拓扑优化问题,并支持对复杂结构配置的并行计算,这可以帮助学生和研究人员探索对密集网格问题的新见解。附录-a包含完整的代码,网站:\ url {https://github.com/iitrabhi/topo-fenics}也包含完整的代码。
This paper presents a 55-line code written in python for 2D and 3D topology optimization (TO) based on the open-source finite element computing software (FEniCS), equipped with various finite element tools and solvers. PETSc is used as the linear algebra back-end, which results in significantly less computational time than standard python libraries. The code is designed based on the popular solid isotropic material with penalization (SIMP) methodology. Extensions to multiple load cases, different boundary conditions, and incorporation of passive elements are also presented. Thus, this implementation is the most compact implementation of SIMP based topology optimization for 3D as well as 2D problems. Utilizing the concept of Euclidean distance matrix to vectorize the computation of the weight matrix for the filter, we have achieved a substantial reduction in the computational time and have also made it possible for the code to work with complex ground structure configurations. We have also presented the code's extension to large-scale topology optimization problems with support for parallel computations on complex structural configuration, which could help students and researchers explore novel insights into the TO problem with dense meshes. Appendix-A contains the complete code, and the website: \url{https://github.com/iitrabhi/topo-fenics} also contains the complete code.