Zachary J. Wegert, Jordi Manyer, Connor Mallon, Santiago Badia, Vivien J. Challis
{"title":"GridapTopOpt.jl:基于水平集拓扑优化的可扩展 Julia 工具箱","authors":"Zachary J. Wegert, Jordi Manyer, Connor Mallon, Santiago Badia, Vivien J. Challis","doi":"arxiv-2405.10478","DOIUrl":null,"url":null,"abstract":"In this paper we present GridapTopOpt, an extendable framework for level\nset-based topology optimisation that can be readily distributed across a\npersonal computer or high-performance computing cluster. The package is written\nin Julia and uses the Gridap package ecosystem for parallel finite element\nassembly from arbitrary weak formulations of partial differential equation\n(PDEs) along with the scalable solvers from the Portable and Extendable Toolkit\nfor Scientific Computing (PETSc). The resulting user interface is intuitive and\neasy-to-use, allowing for the implementation of a wide range of topology\noptimisation problems with a syntax that is near one-to-one with the\nmathematical notation. Furthermore, we implement automatic differentiation to\nhelp mitigate the bottleneck associated with the analytic derivation of\nsensitivities for complex problems. GridapTopOpt is capable of solving a range\nof benchmark and research topology optimisation problems with large numbers of\ndegrees of freedom. This educational article demonstrates the usability and\nversatility of the package by describing the formulation and step-by-step\nimplementation of several distinct topology optimisation problems. The driver\nscripts for these problems are provided and the package source code is\navailable at https://github$.$com/zjwegert/GridapTopOpt.jl.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"14 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"GridapTopOpt.jl: A scalable Julia toolbox for level set-based topology optimisation\",\"authors\":\"Zachary J. Wegert, Jordi Manyer, Connor Mallon, Santiago Badia, Vivien J. Challis\",\"doi\":\"arxiv-2405.10478\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In this paper we present GridapTopOpt, an extendable framework for level\\nset-based topology optimisation that can be readily distributed across a\\npersonal computer or high-performance computing cluster. The package is written\\nin Julia and uses the Gridap package ecosystem for parallel finite element\\nassembly from arbitrary weak formulations of partial differential equation\\n(PDEs) along with the scalable solvers from the Portable and Extendable Toolkit\\nfor Scientific Computing (PETSc). The resulting user interface is intuitive and\\neasy-to-use, allowing for the implementation of a wide range of topology\\noptimisation problems with a syntax that is near one-to-one with the\\nmathematical notation. Furthermore, we implement automatic differentiation to\\nhelp mitigate the bottleneck associated with the analytic derivation of\\nsensitivities for complex problems. GridapTopOpt is capable of solving a range\\nof benchmark and research topology optimisation problems with large numbers of\\ndegrees of freedom. This educational article demonstrates the usability and\\nversatility of the package by describing the formulation and step-by-step\\nimplementation of several distinct topology optimisation problems. The driver\\nscripts for these problems are provided and the package source code is\\navailable at https://github$.$com/zjwegert/GridapTopOpt.jl.\",\"PeriodicalId\":501256,\"journal\":{\"name\":\"arXiv - CS - Mathematical Software\",\"volume\":\"14 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-05-17\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Mathematical Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2405.10478\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.10478","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
在本文中,我们介绍了 GridapTopOpt,这是一个可扩展的框架,用于基于水平集的拓扑优化,可随时在个人计算机或高性能计算集群上分布。该软件包由 Julia 编写,使用 Gridap 软件包生态系统从偏微分方程(PDE)的任意弱公式中进行并行有限元组装,同时使用科学计算便携式可扩展工具包(PETSc)中的可扩展求解器。由此产生的用户界面直观易用,允许使用与数学符号接近一一对应的语法实现各种拓扑优化问题。此外,我们还实现了自动微分,以帮助减轻复杂问题的敏感性分析推导所带来的瓶颈。GridapTopOpt 能够解决一系列具有大量自由度的基准和研究拓扑优化问题。这篇教育文章通过描述几个不同拓扑优化问题的制定和逐步实施,展示了软件包的可用性和通用性。本文提供了这些问题的驱动程序脚本,软件包源代码可在 https://github$.$com/zjwegert/GridapTopOpt.jl 上获取。
GridapTopOpt.jl: A scalable Julia toolbox for level set-based topology optimisation
In this paper we present GridapTopOpt, an extendable framework for level
set-based topology optimisation that can be readily distributed across a
personal computer or high-performance computing cluster. The package is written
in Julia and uses the Gridap package ecosystem for parallel finite element
assembly from arbitrary weak formulations of partial differential equation
(PDEs) along with the scalable solvers from the Portable and Extendable Toolkit
for Scientific Computing (PETSc). The resulting user interface is intuitive and
easy-to-use, allowing for the implementation of a wide range of topology
optimisation problems with a syntax that is near one-to-one with the
mathematical notation. Furthermore, we implement automatic differentiation to
help mitigate the bottleneck associated with the analytic derivation of
sensitivities for complex problems. GridapTopOpt is capable of solving a range
of benchmark and research topology optimisation problems with large numbers of
degrees of freedom. This educational article demonstrates the usability and
versatility of the package by describing the formulation and step-by-step
implementation of several distinct topology optimisation problems. The driver
scripts for these problems are provided and the package source code is
available at https://github$.$com/zjwegert/GridapTopOpt.jl.