使用无梯度的优化方法求解模型

作者 Walter Frei
2013年 8月 2日

COMSOL 软件的优化模块包含基于梯度和无梯度的优化 2 种功能。基于梯度的优化方法可以计算目标函数和任何相关约束函数的精确解析导数,但它要求函数是平滑和可微分的。在这篇博客中,我们将研究无梯度优化器的使用,它可以考虑不可微分或不平滑的目标函数和约束条件。为了减轻质量,同时保持对零件峰值应力的约束,我们对旋转轮的尺寸进行了优化。

旋转轮的压力

旋转的轮子会产生离心应力,从而导致整个零件产生应力。为了减轻质量,轮毂上被切割了一些规则的孔洞。下图中显示了离心力产生的 von Mises 应力。我们希望进一步减轻质量,同时将应力保持在临界值以下。

旋转轮的 Von Mises 应力

求解应力

虽然我们可以一次对整个轮子进行建模,但由于这个零件存在镜面对称和旋转对称,因此可以减小模型,从而最大限度地降低计算要求。对称边界条件用于约束该零件。

轮子几何中的镜面对称和旋转对称

基于旋转速度、旋转轴和材料密度施加体载荷,用于模拟离心力。该模型使用瞬态求解器求解,即假设转速恒定。

为 COMSOL 模型施加一个体载荷

选择设计变量

在这个示例中,假设已经有了一套制造工艺,我们希望对零件的整体设计做最小的改动,以降低重新加工的成本。设计变量的一个常见选择就是改变轮毂上孔的半径。因此,我们回到几何序列,对孔的半径及其位置进行参数化。我们还可以根据纯粹的几何分析推算出,每个孔的最大半径必须有一定的限制,否则孔与孔之间的区域会变得太薄,孔与孔之间就会重叠。我们还将对最小半径设限,因为我们不希望孔洞完全消失。

对孔的半径及其位置进行参数化

定义目标函数和约束条件

这里的优化目标只是减少零件的质量,即所有域上材料密度的积分。

定义优化目标
优化目标是使质量(密度的积分)最小。

这个约束条件稍微复杂一些;我们希望尽量减小零件的峰值应力。但是,我们并不知道峰值应力会出现在哪里。如果内孔或外孔太小,就会导致孔周围应力集中。如果我们将孔的半径做得过大,孔之间的材料就会变得过薄,同样会导致高应力。因此,我们必须监控整个零件的最大应力,并将其限制在指定的峰值应力以下。这是一种无差别约束,尤其需要使用无梯度优化方法。

使用无梯度优化方法监测峰值应力
峰值应力通过域探针进行监测,并命名为 PeakStress。

约束峰值应力
峰值应力变量受限于一个上限。

用无梯度优化法求解问题

为了求解优化问题,我们在研究分支下添加了优化 功能。Nelder-Mead 方法是两种无梯度方法之一(另一种是坐标搜索)。无梯度优化算法还允许当几何尺寸变化时重新划分网格。

在研究分支下添加一个无梯度优化特征

目标函数和约束条件由模型树中的优化 分支定义。控制变量给定了初始条件,我们指定了上限和下限。优化后的设计有很大不同——质量减少了 20%,同时保持了对峰值应力的限制。

显示 von Mises 应力的车轮的优化设计

博客分类


评论 (0)

正在加载...
浏览 COMSOL 博客
Baidu
map