TopOpt 项目 – 代码暑期项目

TopOpt.jl 是一个用纯 Julia 编写的拓扑优化软件包。拓扑优化是一个激动人心的领域,它位于形状表示、物理模拟和数学优化等领域的交叉点,而 Julia 语言非常适合该领域。要了解有关TopOpt.jl的更多信息,请查看以下JuliaCon 演讲

以下是您在即将到来的 Julia 贡献季或 Google 代码暑期项目中可以参与的拓扑优化项目的初步列表。如果您有兴趣探索这些主题中的任何一个,或者您对与拓扑优化相关的其他主题感兴趣,请通过电子邮件联系主要导师Mohamed Tarek

TopOpt.jl 的测试和基准测试

项目难度:中等

工作量:350 小时

描述:该项目的目的是通过测试其实现与其他软件的输出结果来提高 TopOpt.jl 的单元测试覆盖率和可靠性。测试和基准测试应力以及屈曲约束及其导数将是该项目的主要重点。可能需要将论文中的 Matlab 脚本翻译成 Julia 以进行正确性和性能比较。

知识先决条件:结构力学、优化、Julia 编程

拓扑优化中的机器学习

项目难度:中等

工作量:350 小时

描述:在拓扑优化中,有很多方法可以使用机器学习进行设计优化。以下是最近一些关于神经网络和机器学习在拓扑优化中的应用的论文。在这个方向上也存在令人兴奋的研究机会。

在这个项目中,您将实现这些论文中讨论的算法之一。

知识先决条件:神经网络、优化、Julia 编程

均匀矩形网格上的优化

项目难度:中等

工作量:350 小时

描述:目前在 TopOpt.jl 中,只支持非结构化网格。这是一种非常灵活的网格类型,但它不像所有单元格都假定具有相同形状的均匀矩形网格那样内存高效。这是实践中拓扑优化中最常用的网格。目前在 TopOpt.jl 中,均匀矩形网格将存储为非结构化网格,这会导致不必要的低效。在这个项目中,您将针对均匀矩形网格优化 TopOpt.jl 中的有限元分析和拓扑优化代码。

知识先决条件:网格类型知识、Julia 编程

拓扑优化的自适应网格细化

项目难度:中等

工作量:350 小时

描述:具有更多网格单元的拓扑优化问题需要更长的时间来模拟和优化。在这个项目中,您将探索从粗网格开始的自适应网格细化,优化并仅细化需要进一步优化的单元格。这是一种加速拓扑优化算法的有效方法。

知识先决条件:自适应网格细化、Julia 编程

传热设计优化

项目难度:中等

工作量:175 或 350 小时

描述:TopOpt.jl 中的所有示例和问题类型目前都属于线性弹性、准静态问题类别。该项目的目的是从传热领域实现更多问题类型和示例。稳态传热问题和线性弹性问题都利用椭圆偏微分方程,因此线性弹性问题的代码应在进行最少更改的情况下大量重复用于传热问题。

知识先决条件:有限元分析、热方程、Julia 编程