设计仿真 | 应用Marc和机器学习软件进行非线性模型优化
本文主要以金属成形过程的非线性几何优化模拟为例,介绍人工智能(AI)/机器学习(ML)工具在非线性优化中的应用方法。
对于很多非线性问题,当采用有限元模型的直接优化时,在计算上会需要很多时间,导致成本增高,采用ML技术来替代一些传统的优化方法能显著提高效率。ML的主要思想是用训练数据构建预测模型,直接使用预测模型进行在线优化。由于预测模型的计算工作量通常比全有限元模型低得多,因此在线优化问题通常可以很快得到解决。
为了满足Marc/Mentat用户对人工智能(AI)和机器学习(ML)的需求,从Marc2021.4版本开始,在前处理器Mentat中引入了一个新的AI/ML工具弹出菜单,为Marc/Mentat用户在ODYSSEE等软件工具中部署AI/ML提供了一种有效的方式。
ML技术的使用大致可以分为两个阶段:离线数据训练和在线操作(包括参数研究、预测和设计优化)。在线操作依赖于离线数据训练,这需要足够的数据来生成可靠的预测模型。为了获得这种离线数据,用户可以使用有限元模型准备和模拟许多数值实验,这个过程通常被称为实验设计(DOE)。Marc/Mentat集成的AI/ML工具旨在通过提供ODYSSEE和Mentat之间的数据格式兼容性,以及以串行或并行模式启动和监测仿真实验的工具,简化DOE的设置和执行。
为了使用ML技术解决此优化问题,在Marc/Mentat2023.3以前的版本需要执行以下步骤:
■ 离线数据准备:
• 生成各参数的DOE变化 。
• 使用AI/ML工具准备DOE作业。
• 以并行模式运行DOE作业。
• 提取并导出DOE结果。
• 训练并获得预测模型。
■ 在线操作:
• 新参数响应快速预测。
• 解决优化问题。
从Marc/Mentat2023.3版本开始,离线数据准备工作大为减少,方便了用户使用。下面的算例以Marc/Mentat2023.3版本进行介绍。
金属板成形算例介绍
下面介绍一下AI/ML工具(人工智能/机器学习)的实际应用。为便于理解,使用具有回弹的简单金属板成形算例来说明如何将AI/ML工具应用于非线性结构分析优化。
该算例的模型如图1所示。采用平面应变分析模型,其中工件被冲头压入模具,坯料压边圈用于保持工件外面部分在合适的位置;最后释放冲头,并研究工件的回弹。冲头和冲模的几何形状,以及冲模下弯曲部分的角度将发生变化,以实现成形工件底部平坦的形状,即工件左下侧节点的垂直位移为-20。请注意,冲头的圆角半径和下模的圆角半径之间存在一种关系:下模半径为冲头半径再加3毫米,3毫米是工件的初始厚度。
图1 回弹优化的几何与模型设置
为了实现这一目标,将使用AI/ML程序进行非线性优化。整个过程需要分多个步骤完成,首先要创建了一个参数化的Mentat模型,允许对成形工具进行几何进行修改,并自动生成多个不同的模型,即为实验设计(DOE)过程;然后,对所有Marc模型进行后处理分析,并收集回弹结果;整个过程中的AI/ML部分由海克斯康工业软件ODYSSEE执行,该软件不是标准Marc/Mentat安装包中的一部分,需要单独安装;DOE分析的输入和输出被发送到ODYSSEE,它将在几何参数和产生的回弹之间建立数学关系;最后,ODYSSEE将执行优化分析,以找到为回弹提供最佳结果的几何数值。
数据准备
01
模型建立
建模是使用基本模型完成的,该基本模型经过修改以创建具有不同角度和半径的不同模型变体。先打开基本模型,如图2所示,冲头、下模和坯料压边圈为采用片状实体建模的刚体。请注意,圆角半径没有在基本模型中定义,如图2中用绿色圈出的那样;另外,模具的底部是水平的。
图2 用于数据准备的基本模型
02
DOE生成
此步骤包括生成具有不同几何构型的所有模型。这里也是我们创建过程文件的地方,该文件用于修改基本模型。在Mentat的顶部菜单栏上选择:AI/ML工具 ➞ 实验设计。
图3 实验设计菜单
生成按钮提供了图4中的下拉式菜单。在这里,我们定义了要用于修改基本模型的参数,它们还充当优化问题中的设计变量。这些参数类似于Mentat中的常规参数,只是它们有一个取值范围。用户可以在过程(命令流)文件中使用它们来对模型进行参数化,此时它们采用范围中的最小值。如图1所示,要使用的两个变量是弯曲角度和冲头半径。添加两个变量的名称以及我们允许它们具有的范围。在最大值字段中按回车键进行保存,添加下一个变量时,请覆盖以前的数据。
图4 生成/编辑数据点菜单
采用默认算法(蒙特卡罗),并将要生成的实验数设置为60。点击生成数据点按钮,将显示以下菜单。
图5 生成/编辑数据点菜单与实验数据点
上图显示了60个设计实验的参数变化,稍后将为这些组合中的每一个生成一个Marc模型。单击确定按钮返回上一菜单,然后使用另存为按钮将此数据保存到文件中。在此处输入springback作为名称,将创建一个名为springback.csv的文件,该文件存储这组参数变化集。此时菜单窗口如图6所示,输入的参数现在显示在右侧。
图6 带有设计空间的实验设计菜单
下一步是创建用于修改基本模型的过程文件。使用记录按钮(选项)可以开始创建过程文件。首先将其保存到文件springback_pre.proc中。现在用弯曲角度旋转图2中的三角形实体,并使用实体布尔运算从下模中减去该三角形实体。确保使用参数bend_angle,以便将其存储在过程文件中。使用实体操作来生成冲头圆角半径,并确保使用参数radius_punch。还可以使用radius_punch+3生成模具的圆角半径。点击停止按钮(在记录按钮相同位置)以停止过程文件的录制。如有必要,可以对该文件进行编辑,例如删除录制过程中出现的错误。这个过程文件现在将用于生成所有实验,这些实验具有springback_pre.proc文件中给定的参数的变化。注意过程文件的第一行:
*full_reset_doe_variation
这样可以确保在创建每个设计实验时将模型重置为基本模型,并通过记录选项自动添加。如果在不使用记录选项的情况下生成过程文件,则必须添加此行。现在单击生成实验按钮。它将使用过程文件生成60个请求的设计实验,每个单独的目录中有一个Marc作业。
03
运行实验
当所有的作业/实验生成后,我们就可以通过运行实验选项完成运行。根据计算机性能和可用许可证数量,可以使用#并行作业选项同时运行多个作业。运行的进度显示在菜单中,如图7所示。
图 7 实验设计菜单
所有作业完成后,可以检查状态和退出编号。如果某些作业失败,可以通过取消选择导出标记将其从结果中排除。结果排除选项应谨慎使用,因为这可能会导致结果不太准确。
04
结果提取
有了所有可用的结果,现在的任务是从描述回弹的运行结果中提取数据。我们将回弹量用工件左下侧的角节点(节点编号110)的垂直位移来衡量,目标值是该节点的y位移应等于-20。该值将作为优化过程中的目标值。
与前面创建模型修改过程文件的方式类似,我们生成了一个用于提取结果的过程文件。单击记录按钮,将过程文件保存到文件springback_post.proc中。这一行在文件中自动生成:
*full_reset_doe_results
这一行确保为每个实验重新运行过程文件。现在添加命令以提取节点110的y位移。目前只允许使用历程图、路径图或广义XY图。请注意,只提取将在优化中使用的结果。这里,使用节点110的历程图来进行从51到51的增量步(即只需要最后一个增量步的值)。然后将历程图的数据保存到文件disp_Y中。导出结果时,Mentat将自动拾取此文件。现在的最后一步是执行提取结果命令。Mentat现在将浏览所有实验的结果文件并提取结果。
05
结果输出
数据准备的最后一步是运行导出结果。它收集为设计变量变化准备的springback.csv文件,并将其转换为springback_input.csv。包含提取结果的disp_Y文件将转换为sprinpback_results.csv。这两个文件将传递到ODYSSEE,并在优化过程中使用。
ODYSSEE CAE中的非线性优化
01
输入数据
下一步是使用ODYSSEE进行非线性优化。启动时使用:AI/ML工具➞ODYSSEE,一旦软件启动,使用1-project下的按钮创建一个新项目(在图8中用红色方块高亮显示)。
图8 ODYSSEE CAE 项目生成
第一步是导入我们之前创建的csv文件。输入如下所示的X-XN数据选项,单击X-base cases,然后使用Import Csv导入springback_input.csv。可能需要更改到工作目录。
图9 springback_input.csv 文件输入
单击Y-YN Data,然后选择create Datasets from Csv并选择文件springback_results.csv。点击validate Data configuration按钮以完成数据导入。
图10 springback_result.csv 文件输入
02
插值
下一步是插值。这是ODYSSEE根据数据集创建预测模型的步骤。4-Interpolation下的配置按钮(看起来像齿轮)允许用户选择插值的解算器和设置。这里我们使用默认设置。有关如何选择最佳设置的详细信息,请参阅ODYSSEE文档。现在运行插值以生成预测模型。
03
优化
现在到了实际的优化阶段,使用预测模型来找到最优解。图11显示了配置选项,可通过红色框高亮显示的按钮访问。
1)配置参数
显示导入ODYSSEE的设计变量,这里没有可改变的。
2)定义优化问题
在这里选择 + 按钮添加新目标,显示下面的菜单,是定义优化目标的地方。如前所述,我们希望结果值(节点110的y位移)达到-20的值。
3)配置优化器
选择用于优化的方法,此例使用默认设置。
图11 优化问题设置(第2部分)
图12 优化结果
通过在模型生成中输入radius_punch和bend_radius的优化值来验证结果,可以使用事先编(录)好的过程文件来完成的。目标y位移为-20,所得值为-20.0114,非常接近。
图13 使用优化得到的半径和弯曲角度的工件Y向位移云图
04
注意
1)如果已经安装了Marc文档,也可以参考用户指南中的最后一个例子说明以及其所列出的相关文件。
2)从2023.2.1版本开始ODYSSEE软件也开始提供中文菜单界面供用户选用。
小结
本文主要以金属成形过程的非线性几何优化模拟为例,介绍了机器学习工具在非线性优化中的应用方法。可以看到,在前处理器Mentat中引入了新的AI/ML工具菜单及后台集成后,为Marc/Mentat用户在ODYSSEE-CAE等软件工具中部署AI/ML提供了一种有效的方式,便于用户对非线性模型进行优化分析。