伴随拓扑优化模型参考

伴随拓扑优化模型用于确定指定域中材料在优化目标和约束(定义为伴随成本函数)方面的最佳分布。

拓扑优化模型参考

提供方式 [物理连续体] > 模型 > 可选伴随模型
节点路径示例 连续体 > Physics 1(物理 1) > 模型 > 拓扑优化
要求
  • 时间:定常
  • 流体: 耦合流体
  • 可选模型:伴随
属性 请参见拓扑优化求解器属性。
兼容网格生成器
  • 切割体网格单元生成器
  • 多面体网格生成器
  • 四面体网格生成器
  • 薄体网格网格生成器
  • 增强层网格生成器
激活 物理模型 拓扑物理
求解器 请参见拓扑优化求解器属性。
场函数 拓扑等级集、拓扑导数、拓扑等级集梯度、拓扑孔源、拓扑交界面移动、拓扑等级集残差、拓扑等级集校正

拓扑优化模型属性

允许孔形成
指定水平集方程 Eqn. (5269) 的源项 ω 。

激活时,固体腔可以出现在优化域中的任意位置。

  • 停用

    未定义任何源项。

  • 活动

    可通过激活允许孔形成为水平集方程定义源强度。此项用于控制孔的形成速度。对于较大的值 (>1),将根据梯度的符号在一次或两次优化迭代内引入孔。对于较小的值 (~0.1),需要进行多次优化迭代才能在域中形成孔。在优化过程中,梯度的符号可能在迭代间发生变化,从而抑制孔的形成。另请参见:源强度。

拓扑优化边界设置

选择拓扑优化模型时,将激活以下边界物理条件。

壁面
拓扑选项
指定此边界上的材料指示符。
  • 指定(默认):激活物理值 > 材料指示符节点,可在其中指定材料指示符 ∈ [0, 1] 的值。
    • 0 - 仅允许固体材料
    • 1 - 仅允许主要(流体)材料
  • 固定:指定在此边界上仅允许固体材料。它相当于值设为 0 时的指定。
  • 自由:表示根据近壁网格单元推算此边界上的材料指示符。材料可随优化过程自由演变。

拓扑优化求解器属性

多个求解器属性的默认设置反映了大多数应用案例中的典范做法。先使用默认设置启动第一个模拟,然后再修改其值。

模式
指定优化器是否发挥作用以最小化或最大化定义的目标。
目标
从可用成本函数列表中指定优化的单一目标。
迭代
显示优化循环的当前迭代。
步长
指定优化的归一化步长。

优化器应能够高效获得可预测的胎面,从而在多个迭代中始终一致地降低目标和/或约束冲突。如果迭代间的目标和约束冲突波动,则应减小步长。

详细说明
激活后,在运行时在输出窗口中显示其他优化数据,如约束拉格朗日乘数、罚因子、优化迭代、归一化因子等。
优化设置
  • 按灵敏度归一化

    激活时,优化问题将通过 Eqn. (5281) 中的最大灵敏度值进行归一化。

    优化器会通过约束违规和目标的最大绝对灵敏度值进行归一化,并基于此对二者进行加权。

    存在多重约束时,如果优化器似乎一直仅针对一个约束,而忽略其他约束,则这可能标志着此归一化未正常运行。通过在此约束中引入比例因子来进行手动重新缩放,可能会有所帮助。优化问题的理想比例缩放会使目标值接近 1,并对归一化所有约束冲突,以使自约束边界的脱离具有相等的权重(例如,可以使用自约束边界的脱离百分比,而不是约束脱离的绝对值)。

  • 重新归一化频率

    指定重新归一化优化问题时采用的频率。

    如果目标和约束的灵敏度值在优化过程中变化明显,则上述比例缩放可能不再适用。要解决此问题,可以按固定频率重新应用归一化(定义为每次重新归一化的迭代次数)。如果问题的比例缩放似乎在优化过程中降级,则应通过指定较小的迭代次数来增加频率。默认值为 0,这意味着在第一次迭代时仅执行一次归一化。

  • ADAM:Beta 1

    为 ADAM(自适应矩更新估计)更新规则指定参数 β 1 。另请参见:Eqn. (5271)。

    此参数用于确定在梯度上执行的亚松弛。该参数越接近 1,优化性能越平滑,并且迭代间的目标和约束变化越缓慢。这一较慢的变化有助于在优化器接近约束边界时限制最优解振荡。同时可以防止优化器过早终止在局部极小值。默认值为 0.25。

  • ADAM:Beta 2

    为 ADAM(自适应矩更新估计)更新规则指定参数 β 2 。另请参见:Eqn. (5272)。

    此参数用于确定梯度中方差的亚松弛,以对优化搜索方向进行比例调整。此值越接近 1,越有助于在优化器接近最小值时限制振荡。默认值为 0.25。

约束

除了主拓扑优化目标之外,还可以定义进一步的优化约束。这些约束可以基于目标成本函数或体积比约束。

右键单击操作

  • 新建

    添加优化约束。

    • 用户自定义约束

      规定所选成本函数必须满足指定的约束。由于优化器需要导数,因此此类约束使用伴随成本函数指定所需的报告。

    • 体积比约束

      强制固相的体积比约束。此类约束对确保设计可制造非常有用。如果没有体积比约束,优化器可能会误入平凡解。

属性

定义新的拓扑优化约束时,将创建相应的用户定义约束或体积比约束子节点。为每个约束设置以下属性:
比例因子
为每个约束单独指定用户自定义比例缩放。调整此属性以更改一个约束相对于其他约束的相对权重。如果一个优化约束似乎主导设计演变或未在考虑范围内,则指定小于 1 的比例因子(这是默认值)以减少其影响,也可以指定大于 1 的值以增加该选定约束的控制力。
类型
可使用每种类型指定约束必须满足的值。可用的选项包括:
类型 许用值
最小值

指定约束数量的最小值。默认设置为 0。

最大值

指定约束数量的最大值。默认设置为 1。

等式

指定约束数量的目标值。默认设置为 0。

相
仅对体积比约束可用。选择 [固态相] 以指定体积比。
相
仅对体积比约束可用。选择 [固态相] 以指定体积比。
约束
仅对用户自定义约束可用。选择绑定到用户自定义约束的 [成本函数]。
惩罚更新模式
可用于控制如何在优化过程中更新约束罚因子:Eqn. (5277) 中的 μ i 。
罚因子控制优化器尝试满足指定约束的激进程度。较大的惩罚值通常会阻碍目标函数的改进,但它们可以更快地满足约束。相反,较小的惩罚值可能会导致优化运行时间更长,即便经过多次迭代,约束仍未得到满足。最有效的方法是以较小的惩罚值开始优化,然后逐渐增加惩罚值,以确保在结束时满足约束,从而使优化过程更平滑。
惩罚更新模式 对应的属性/节点
指定

用于指定约束罚因子。

惩罚
默认值为 1000。如果目标无法提高但约束快速得到满足,则降低惩罚值。如果优化器在多次迭代后未能满足约束,则建议增加罚因子。建议从较小的值开始,然后在优化过程中逐步增加该值。
动态

选择用于定义约束罚因子的动态方法。

此方法从初始惩罚值 1 开始,并在优化循环期间根据需要自动增加该值。

这是默认设置。

动态惩罚更新
最高惩罚
确定罚因子可以采用的最大值。
最大跃升因子
指定用于罚向跃升的最大乘数。根据优化状态,应用较低的跃升因子。
最小进度阈值 (%)
确定优化器是否难以满足约束。如果相对进度低于此阈值,则增加罚因子。
可行性公差 (%)
确定相对于最大违例的约束满足容差。当优化器达到此容差时,罚因子停止跃升。