赛桨在结构领域全新探索:机理驱动的无网格结构拓扑优化

自PaddleScience(赛桨) V1.0于2023年8月正式发布以来,其支持数据和机理驱动的AI for Science求解模式备受工程领域的欢迎。赛桨不仅提供了包括流体、结构、气象等多个领域的基础网络模型,还提供了丰富的生态共建案例。截至目前,官方GitHub仓库已经合入超过36个领域案例,涵盖了众多领域的SOTA模型,包括机理方程驱动的PINN、HPINN、HFM、XPINN以及数据驱动的Transformer、GNN、VAE、CNN等网络模型,同时覆盖算子学习的FNO和DeepONet等模型。这使得赛桨能够直接支持企业和科研领域的应用需求。

此外,围绕数据集、模型、案例、应用联动建设的目标,赛桨目前正在不断积累领域经典数据集、领域SOTA模型以及典型案例,并联合AI Studio星河社区为广大开发者提供便捷的在线应用体验。

本期我们将介绍赛桨在结构领域的全新探索,即基于PINN方法实现全自动无网格结构拓扑优化。结合机理方程的可解释性以及赛桨模块化的建模体验,融合AI方法,进一步提升结构性能优化、材料发现等工程问题的落地。

图片

图 PaddleScience V1.0产品示意

领域背景与痛点

结构拓扑优化是一项重要的工程设计任务,目前正广泛应用于工程领域,如航空航天、汽车制造、建筑设计和机械工程等,用于改进产品设计、提高性能,并减少材料和能源浪费。如在材料科学中,拓扑优化可用于设计新材料的结构,以实现特定的性能和功能,同时通过调整晶格结构或原子排列,改善材料的强度和耐用性。在航空航天领域,轻量化结构设计可降低燃料消耗,减少碳排放,同时通过调整机翼、尾翼、机身等部件的结构,可以减小阻力、提高升力和减少湍流,从而提高飞机的性能和操控能力等。

传统的拓扑优化方法通常基于有限元分析或密度法等数值模拟技术,这些方法需要大量计算资源和时间。随着AI技术的发展,深度学习方法已经不断被应用于结构拓扑优化问题中。首先,CNN、GAN、VAE以及GNN等经典模型在该领域已取得了诸多成果,如TopologyGAN、TOuNN等,大幅提高了结构设计效率和性能。随着Physics-Informed Neural Networks(PINN)方法的提出,AI模型的可解释性迈向了新的高度,并且正被探索应用于结构拓扑优化。通过编写结构变形的协调方程、平衡方程以及本构方程,并进一步结合形变、应变能、密度之间的关系,可实现PINN方法驱动的复杂结构的拓扑优化。这一创新进展不仅扩大了结构优化的设计空间,还确保了优化过程与物理机理的高度一致性。

图片

图 拓扑优化流程示意

拓扑优化问题求解原理

问题描述与求解方法

拓扑优化旨在寻找最佳的结构形状,以满足给定的性能要求和约束条件,通常是通过减小系统的总能量来降低成本并提高性能。这与胡克定律和能量守恒原理相关。在拓扑优化中,结构的拓扑(即材料的分布)是可以调整的,最典型的方法之一是SIMP(Solid Isotropic Material with Penalization),通过逐步调整拓扑,从不必要的区域中移除材料,以最小化结构的总势能。结构的能量表现为受到载荷后的势能、动能以及内部储存的应变能,并在响应外部载荷以及变形过程中对能力进行储存及重新分配。结构的拓扑优化是在满足形变、强度等性能要求的前提下,使结构的最终状态能量达到极值或稳定值,整个过程体现了结构变形、能量分布和密度调整的动态迭代。

在线性弹性结构变形分析中,通常使用弹性力学方程来表示结构位移与应力之间的关系。结构变形是受力物体或系统的形状和尺寸发生变化,这种变化受胡克定律支配,描述位移、应力和材料性质之间的直接关系。通常可以表示为:

平衡方程:

图片

本构方程:

图片

协调方程:

图片其中,σ代表应力;ε代表应变;D代表材料刚度,其与弹性模量E、泊松比μ相关;ƒ代表外部负载;υ代表结构变形。而结构拓扑优化过程可表征为最小化能量的过程,即结构的顺应性最小,具体可表征为:

顺应性方程:

图片

优化目标则是找到最优的密度分布ρ使得C(ρ)最小,而结构的刚度与密度分布也是直接相关的,所以最终结构拓扑优化是结构的变形、密度分布、能量分布的综合关系。全过程的实现通常包括以下步骤:

  • 首先,通过建立结构的有限元模型,将其表示为一组离散的元素。
  • 其次,应用外部加载和边界条件,进行结构变形的数值模拟。
  • 接下来,执行能量分析以计算系统的总能量,包括势能和动能。
  • 最后,通过拓扑优化算法,如SIMP方法,调整结构的拓扑以最小化总能量,实现最佳结构形状的设计,以满足性能要求并降低成本。
基于PINN方法求解结构拓扑优化

对于拓扑优化问题,应用SIMP方法进行求解。这种方法假设材料密度在单元内为常数,并将其作为设计变量,使用单元密度的指数函数来模拟材料特性,并假设单元刚度和杨氏模量与相对密度ρ呈指数关系。通过这种方法可以让密度趋于0或1,从而完成结构优化。在利用PINN方法求解时,SIMP模型中的公式成为控制方程,优化条件成为模型损失函数的设计依据,这样损失函数下降的方向也就反映了SIMP优化的方向。PINN方法将物理信息与深度学习网络结合,通过将控制方程和边界条件设置为损失项来实现。由于融入了物理信息,得到的深度学习网络模型具有更强的可解释性。

按照PINN方法,使用Siren激活函数与Dense网络构建模型,并将SIMP中的表示为偏微分方程,优化条件设置为模型损失项。这样在模型反向传播过程中可以自动对参数进行优化,使模型输出逼近控制方程的解析解。基于PINN方法求解拓扑优化的流程如下图所示。

图片

图 结构拓扑优化网络结构

PINN使用两个网络模型对方程中的物理量进行训练。用于训练形变位移(υ,ν)的网络模型,命令为disp_net,用于训练密度ρ的网络模型,命名为density_net。参照SIMP方法,训练的流程为:

1、首先构建两个网络模型

2、构建控制方程、边界条件以及几何结构

3、对disp_net和density_net进行前向传播,得到当前网络输出的位移(υ,ν)和密度ρ

4、根据控制方程、边界条件以及两个网络的输出的位移 和密度 ,计算出两个网络模型对应的损失值,过程涉及高阶自动微分重构机理方程的损失项

5、根据损失值,依次对两个网络模型进行优化,即结合反向传播更新神经网络的梯度

6、循环上述过程直到满足结束条件

结合上述内容可知,基于PINN方法求解结构拓扑优化问题需要依赖深度学习框架的高阶自动微分能力和高阶优化算法。为了更好地支持这类科学计算问题,飞桨升级了自动微分能力,引入了组合算子机制与高阶微分算子,以广泛支持不限阶数的自动微分。在结构变形分析及拓扑优化方面,相比于传统方法,PINN方法具有多重优势:

  • 基于机理方程进行驱动: PINN方法的核心在利用结构变形、能量等机理方程驱动神经网络进行训练以模拟解析。过程无需依赖传统的CAE求解器,在降低使用难度的同时也可提高灵活性。
  • 全过程无网格化: 在整个结构分析和拓扑优化过程中无需对结构提前划分网格,有助于降低时间成本和简化分析过程。
  • 无监督训练: PINN方法在神经网络的训练过程中不需要依赖监督数据,可大幅减少对标注数据的依赖,并降低学科应用难度。
  • 一套网络完成多任务: 结构拓扑优化可在一套神经网络的训练过程中实现,相比于传统的CAE仿真方法中可能用到的有限元仿真分析、结构优化等多专业模块的调度,极大降低了工作的复杂度。

典型案例实践

以自由端受到集中载荷的2D悬臂梁为例,梁结构采用各向同性的线弹性钢材,受载情况如下图所示。梁的左边界固定,右下角受到-y方向大小为0.0025N的力。结合上一节描述的机理方程对该悬臂梁进行拓扑优化,定义结构变形过程中的应力-应变关系、应变能-应变关系等,并结合PINN方法实现该结构的拓扑优化分析。

图片

图 悬臂梁结构受载示意

结合PaddleScience实现上述2维悬臂梁的拓扑优化,详细过程如下:

1、计算域定义。以左下顶点为原点,构建如图所示的坐标系,并定义如示意图所示的矩形计算域。

2、机理方程定义。可通过包含材料特征、结构变形、密度分布等综合的能量方程来表征,参照上一节方程描述。

图片

3、边界条件定义。结合工况,定义悬臂梁左侧为固定端,即在 处应变为0,且转角为0。而在  自由端的顶点处,给定已知负载  。此外,对于结构中的所有位置,均需要满足结构的平衡方程及能量方程。

图片

4、神经网络实现。构建结构变形与密度分布两个网络模块,并围绕能量方程汇总两个网络模块的输出结果,且对两个网络进行独立迭代次数的训练与交互,从而实现整个拓扑优化的闭环迭代。

图片

5、求解器设置与训练。可对位移、密度两个网络模块设置独立的求解器,同时配置对应的超参数,并在同一的训练模块中实现两个网络的独立训练与结果交互。

拓扑优化后结果如下图所示,图(左)为基于PaddleScience实现的密度分布情况,图中红色部分代表材料真实存在的位置,即最后优化后的结构形状,图(右)为论文NTopo: Mesh-free Topology Optimization using Implicit Neural Representations中提到的结果,二者定性对比一致,待进一步结合Abaqus有限元工具进行结果分析及定量结果比较。

图片

左:PaddleScience拓扑优化结果 右:参考结果

图 悬臂梁拓扑优化结果

拓扑优化过程中悬臂梁的变形情况如下所示,分别为水平与竖直方向的位移,由于悬臂梁承弯,上侧受拉、下侧受压,且整体向下弯曲,位移结果符合结构受力。

图片

左:水平方向位移 右:竖直方向位移

图 拓扑优化过程中结构变形结果

此外,针对悬臂梁不同受载情况的拓扑优化问题,在PaddleScience中应用PINN方法、采用无网格化、无监督的实现结果与参考结果对比如下图所示。

一侧固定,结构上部受均布载荷。

工况如下,根据受力分析,固定端承受最大剪力和弯矩,因此在固定端的材料密度相对较大。由于弯矩产生的原理,结构上部主要承受拉力,下部则承受压力。在结构水平对称位置处,拉/压应力为0。由拓扑优化后的密度分布显示,在固定端的有效材料主要集中在上下两个部分,而中间部分经过优化减少了材料的分布。同时,自由端的剪力最小,因此在该位置材料分布会大幅减少。总体来看,这些定性的结果与物理原理相符。

图片

图 悬臂梁均布受载机构拓扑优化结果示意

两侧固定,结构下部承受均布载荷。

工况如下,根据受力分析,结构两侧固定端承受最大为的剪力与弯矩,且结构受力对称,在结构中间切面初剪力最小。同上,在固定端出弯矩最大,且主要表现为结构上部分的拉应力与下部分的压应力,在结构水平中部受到的拉应力、压应力为0。拓扑优化后的密度分布显示,在固定端的材料主要集中在上下两个部分,而中间部分经过优化减少了材料的分布。同时在竖直对称位置处剪力小,所以材料分布较少,最后的拓扑结果符合物理原理。

图片

图 两端固定均布受载梁结构拓扑优化结果示意(密度分布左右对称,取1/2)

本期内容主要介绍了PaddleScience在结构拓扑优化领域的探索。通过结合传统机理方程与深度学习,基于PINN方法实现了对悬臂梁等结构的拓扑优化。目前的结果与理论结果进行了定性对比和从原理角度的分析,还需进一步与专业仿真工具进行量化验证。相较传统方法,该方法无需网格与监督数据,并结合一套网络结构,可同时实现结构受力变形分析与拓扑优化,并具备可解释性。这为工程设计提供了新的思路,可提升结构性能、降低设计难度。后期我们持续探索这类方法在材料、航空等领域的应用,助力工程问题的求解。

引用

拓展阅读

  • 报名开启!飞桨AI for Science公开课与共创计划邀您来学,探索AI与科学的融合
  • 飞桨黑客松第五期任务-科学计算专题: https://github.com/PaddlePaddle/Paddle/issues/57262
  • 飞桨科学计算实训示例
  • 报名开启!飞桨AI for Science公开课与共创计划邀您来学,探索AI与科学的融合

相关地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210000.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数字化转型方法论读书笔记】-数据中台角色解读

一千个读者,就有一千个哈姆雷特。同样,数据中台对于企业内部不同角色的价值也不同,下面分别从董事长、CEO、 CTO/CIO、IT 架构师、数据分析师这 5 个角色的视角详细解读数据中台。 1、董事长视角下的数据中台 在数字经济时代,企业…

电脑自动删除文件怎么办?如何恢复?

在数字化时代,电脑已经成为人们不可或缺的工具之一。然而,由于各种原因,我们有时会遇到电脑自动删除文件的情况,这给我们的工作和生活带来了很多不便。那么,当电脑自动删除文件时,我们应该如何处理呢&#…

单元测试-java.lang.NullPointerException

报错信息 java.lang.NullPointerException 空指针异常 空对象引用 来源 对Controller层进行单元测试,解决完Spring上下文报错后继续报错。 解决 在测试方法执行前要为字段完成对象的注入,否则就报空指针异常。 测试例子 public class SysUserContr…

微信开放平台Android平台应用签名怎么填写

winR 输入cmd 进到本地签名文件的目录下 输入 keytool -list -v -keystore <keystore文件路径> -alias <别名>请将 <keystore文件路径> 替换为您的密钥库文件&#xff08;通常是 .jks 或 .keystore 文件&#xff09;的路径&#xff0c;而 <别名> 则是…

优思学院|2024年质量管理的大趋势

2023年我们已经顺利度过了整年的大部分时间&#xff0c;2024年质量管理的趋势和问题在全球范围内都已经引起了关注&#xff0c;或者仍然是企业导航的首要任务。 1. 通货膨胀与质量管理 2023年&#xff0c;全球范围内通货膨胀和严峻的经济状况成为企业最关心的问题之一。尽管物…

【VSCode】VSCode 使用

目录 文章目录 目录插件配置设置代码不显示 git 提示 "xxx months ago | 1 author"设置打开项目不自动选择 CMakeLists 插件 以下插件为 C 开发偏好设置。 C/CCMakeCMake ToolsGitLensRemote DevelopmentRemote Explorer 配置 设置代码不显示 git 提示 “xxx mon…

关于js的find的基本用法

Array.prototype.find() 是 JavaScript 的一个数组方法&#xff0c;它被用来在数组中查找一个符合条件的元素。一旦找到第一个符合条件的元素, find() 会立即返回这个元素的值&#xff0c;否则返回 undefined。 以下是 find() 方法的基本语法&#xff1a; arr.find(callback(el…

pcie-2-rj45速度优化

背景: 目前用iperf3打流传输速率达不到要求,千兆实际要求跑到800M以上: 优化方案: 1.优化defconfig: 首先编译user版本验证看是否正常 debug版本关闭CONFIG_SLUB_DEBUG_ON宏控。 2.找FAE ,通过更换驱动,或者更新驱动来优化 3.绑定大核: 以8125网卡为例,udp…

kolla 安装多节点openstack kolla部署openstack

Kolla 概述&#xff1a; Kolla是OpenStack下用于自动化部署的一个项目&#xff0c;它基于docker和ansible来实现&#xff0c;其中docker主要负责镜像制作和容器管理&#xff0c;ansible主要负责环境的部署和管理。Kolla实际上分为两部分&#xff1a;Kolla部分提供了生产环境级…

开发板启动进入系统以后再挂载 NFS 文件系统, 这里的NFS文件系统是根据正点原子教程制作的ubuntu_rootfs

如果是想开发板启动进入系统以后再挂载 NFS 文件系统&#xff0c;开发板启动进入文件系统&#xff0c;开发板和 ubuntu 能互相 ping 通&#xff0c;在开发板文件系统下新建一个目录 you&#xff0c;然后执行如下指令进行挂载&#xff1a; mkdir mi mount -t nfs -o nolock,nfsv…

BootStrap【表格二、基础表单、被支持的控件、表单状态】(二)-全面详解(学习总结---从入门到深化)

目录 表格二 表单_基础表单 表单_被支持的控件 表单_表单状态 表格二 紧缩表格 通过添加 .table-condensed 类可以让表格更加紧凑&#xff0c;单元格中的内补&#xff08;padding&#xff09;均会减半 <table class"table table-condensed table-bordered"…

PTA 六度空间

“六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一个陌生人。”如图1所示…