一个55行的二维和三维大规模并行拓扑优化代码
A 55-line code for large-scale parallel topology optimization in 2D and 3D
摘要:
本文提出了一个55行代码编写的Python的二维和三维拓扑优化(TO)的基础上的开源有限元计算软件(FEniCS),配备了各种有限元工具和求解器。PETSc被用作线性代数后端,这导致计算时间比标准Python库少得多。该程序是基于固体各向同性材料惩罚(SIMP)方法设计的。扩展到多个负载情况下,不同的边界条件,并纳入被动元件。因此,该实现是用于3D以及2D问题的基于SIMP的拓扑优化的最紧凑的实现。利用欧氏距离矩阵的概念向量化的权重矩阵的计算过滤器,我们已经实现了大幅减少计算时间,也使它有可能的代码与复杂的地面结构配置。我们还介绍了代码的扩展到大规模拓扑优化问题,支持复杂结构配置的并行计算,这可以帮助学生和研究人员探索新的见解到TO问题与密集网格。PDMADIX-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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。