在本文中,我们将介绍在 Abaqus 中设置和运行“基于条件”(condition-based)的拓扑优化流程。这是目前最稳健且易于使用的方法。随着讨论的深入,我们还将探讨进一步开发的细节。阅读本文后,您将能够提升 Abaqus 技能,创造出受载荷驱动的仿生/有机设计。
我们都见过大自然创造的那些令人印象深刻的有机且复杂的结构。近年来,工程师们已经能够模拟这一过程。传统上,产品开发是一个以 CAD 为驱动的设计过程:工业设计师完善形式和形状,而机械工程师负责实现它们并满足结构要求。

图 1:惊人的叶片结构
拓扑优化是一种在可用区域(即组件可占据的所有空间)内分配质量的方法。通过提供材料属性、组件对称性、制造约束以及组件承受的载荷等信息,拓扑优化算法 会自动生成满足设计目标的备选方案。众所周知,这些设计目标通常是为了提供最高的“刚度质量比”,或者用工程师的行话来说,是实现“柔度最小化”(minimize compliance)。值得注意的是,设计目标也可以是特定区域的应力值、节点的位移、特征值等等。制造约束也是如此,您可以轻松地使用拓扑优化来设计符合铸造或机械加工工艺的方案。

图 2:拓扑优化后的笔架
办公室有一台 3D 打印机。我的第一个项目就是利用拓扑优化为我的白板制作一个定制笔筒。这是一个虽然简单但能说明核心问题的绝佳案例,让我们以此为例。
在接下来的内容中,我们将探讨如何:
创建并修改设计域(Design Domain)
开发具有代表性的有限元(FEM)分析模型作为拓扑优化的基础
定义并运行拓扑优化研究
提取并平滑结果
发送至 3D 打印机
拓扑优化中的设计域包含了所有可以放置材料以满足目标函数和约束的空间。经典的目标是在给定材料量的情况下实现刚度最大化。
功能上,我们的设计域必须满足以下要求:
有存放白板笔的空间。
允许笔直接插入——就像架子上的武士刀一样(找不到更好的形容词了)。
关键的一点是笔筒要挂在白板上,因此我们需要测量白板边缘的尺寸并将其包含在设计域中。

图 3:白板尺寸
由此我们可以开始调整笔的位置,从而大致了解设计区域的大小。观察图 X 中的结果后,我们认为有必要添加一块磁铁来帮助稳定笔架底部,以应对交互过程中产生的剪切力——这块磁铁的空间要求对设计区域提出了第三个要求。
图 4:最大允许设计域
最终的设计域具有非常简单的几何形状,完全可以在 Abaqus/CAE 中轻松创建。另一个优点是,该设计域在后续阶段也易于修改。

图 5:三维建模设计域
这个域名满足我们全部三个要求。
下一步是在进行拓扑优化研究之前加载此设计域。
这一步是检查载荷并进行最后调整的机会。我个人更倾向于创建初始模型时平衡精度与性能,并重点关注性能。在本案例中,我们可以利用对称约束并保持线性分析。
对于材料建模,我使用近似的 PLA 线性弹性材料。边界条件的建模将模拟预期的功能:
白板后端的钩部将被约束前向运动。
磁铁槽位将约束剪切运动。
画笔被建模为施加在笔筒外端的压力载荷。
我添加了两个加速度:重力,以及一个额外的加速度,用于模拟我匆忙拿取或放置笔时的交互力。
通过这种方式,我模拟了不太明确的动态交互过程,从而迫使拓扑优化算法识别出对交叉支撑或其他侧向稳定结构的特殊需求。如果不显式定义这些需求,算法就不会生成相应的结构。这是设置载荷和边界条件时的重要考虑因素——它们是否准确代表了加载场景?
图 6:从初始设计域到加载对称有限元模型的结果
通过保持模型的对称性、线性性以及有效载荷和边界条件,我们得到了一个高效的有限元分析模型,可用于进一步的分析。

图 7:在 Abaqus/CAE 中定义基于条件的优化任务
在 Abaqus 模型树中,双击“优化任务”。我们将设置一个基于条件的优化任务,该任务以应变能为目标函数,体积为约束条件。此任务设置和运行都非常简单,非常适合在给定体积下最大化刚度。
基于条件的优化仅提供两个设计响应(或设计变量)。这两个响应(或变量)适用于整个设计域,分别是“体积”和“应变能”。所有优化过程都需要目标函数和设计变量的约束条件。
目标函数: 最小化总应变能(最大化刚度)
约束条件: 初始值的 5%
在 Abaqus 中,我们需要创建设计响应、目标函数和约束条件。

图 8:拓扑优化设置
如果需要考虑对称性或其他几何因素,例如制造要求(对称性、脱模方向、加工刀具的进给范围、构件厚度),则可通过几何约束来实现。这意味着该方法最终可用于传统制造工艺。
图 9:几何限制
为了保证对称性,需要施加几何约束;为了固定磁性支架的材料,也需要施加约束。虽然也可以将约束条件添加到边缘,但我选择了这种方式。
事不宜迟,让我们开始拓扑优化吧!在模型树中,点击分析分支下的“优化过程”。请注意,一个模型可以包含多个优化任务,您可以尝试不同的设置和算法。
图 10:创建拓扑优化作业
随着约束条件在多个循环中不断施加,单元密度发生变化,从而揭示出关键载荷路径。
由于元素可以有多种密度——可视化是通过使用密度场中的 ISO 曲面创建的。
相对密度低于截止值的元素将被舍弃,从而得到密度足够高的优化元素。

图 12:优化等值面
所显示的结果基于单元计算结果,仅提供预览。全局平滑是通过提取网格并指定平滑参数来实现的。
请注意,您可以同时选择循环和等值线来启动网格提取(在模型树中右键单击优化过程)。强烈建议您查阅文档(搜索“提取平滑网格”),以了解高级参数的说明,因为这些参数对于创建用于后续处理的高质量网格至关重要。

图 13:平滑后的结果
下面显示了平滑后的几何形状,并将其导出为 STL 文件,以便在发送到 3D 打印机之前进行进一步处理。

图 14:平滑拓扑优化结果
值得注意的是,此时工作流程存在一个自然的转折点。通常情况下,原型打印完成后,对设计领域或研究进行一些小的调整,就会触发更合适的优化,例如增加更多载荷工况以提高鲁棒性,或进行功能性更改,例如为笔留出更多空间。
否则,通常需要将其重新创建为 CAD 模型——这往往是一项复杂且耗时的工作(不妨了解一下 3DExperience 平台上的功能生成式设计!)。为制造而创建的图纸也相当繁琐。然而,经过几次拓扑优化驱动设计的迭代后,其质量可能远超传统流程,但这也意味着您需要付出代价。
对于直接原型制作,我们很幸运可以直接将其发送到打印机。
作为 3D 打印领域的新手,我们有一台易于使用的 FDM 打印机,它集成了切片软件和监控工具。我可以拖放 STL 文件,然后根据其设置进行切片,例如添加支撑结构等等。

图 15:切片 STL 文件

图 16:带支撑结构的打印组件

图 17:终于把白板整理好了!
进行拓扑优化需要对组件当前及可能承受的所有载荷有深刻的理解。优化越激进,如果承受了定义行为之外的载荷,部件就越脆弱。 提到这一点是为了说明,拓扑优化的结果应经过严谨的工程实践检验,而不应盲目接受。虽然这项技术为设计高性能组件提供了捷径,但它仍需遵循工程规范。
拓扑优化还有其他应用形式,例如变量不再是单元相对密度,而是厚度和尺寸。对特定几何形状进行细微调整也可以用来增加疲劳寿命。