基于MeshWorks和optimus副车架多学科轻量化优化
副车架多学科优化是副车架性能、重量、成本的一种协同优化的手段。副车架的结构性能NVH、刚度、强度、耐久等。通常的分析优化过程都是按不同学科单独进行的,汇总各方向优化方向后进行模型更新,然后验证优化方案对性能的影响。多学科优化可以同时考察各项性能,并可以将质量作为设计目标,在满足各项性能的基础上进行最优化轻量化设计。在进行副车架多学科优化设计时,设计变量包括材料、料厚、形状等,如何快速方便地创建设计变量,并与优化软件联合优化仿真是实际项目中非常重要的一个环节,应用MeshWorks软件可以有效完成以上分析优化需求。
本文详细介绍基于MeshWorks和optimus进行副车架多学科轻量化优化分析优化流程。
本文中副车架分析工况包括:扭转刚度分析、弯曲刚度分析、模态分析(其他工况可以按同样的方式进行多学科联合,如安装点静刚度、动刚度,静强度,动强度(疲劳)等工况可以同时进行多学科优化)。求解器使用nastran。模态分析结果
扭转刚度
弯曲刚度
性能 | 目标值 | Base |
模态[Hz] | 120 | 124.1 |
扭转刚度[Nm/deg] | 4500 | 4945.6 |
弯曲刚度[N/mm] | 150 | 153.0 |
质量[kg] | min | 15.84 |
设计变量:本例中共包含7个设计变量,包括3个形状变量和4个厚度变量:包括前横梁高度、侧边梁高度、后横梁高度,前横梁厚度,侧边梁厚度,和两个后横梁厚度。在MeshWorks中快速进行形状参数,料厚参数设置。
前横梁高度参数化
侧边梁高度参数化
后横梁高度参数化
四个件料厚参数化
Inputs | Start | Low | High |
front_weight_shape[mm] | 0 | -15 | 10 |
side_weight_shape[mm] | 0 | -5 | 5 |
rear_height_shape[mm] | 0 | -10 | 10 |
T_Front[mm] | 2 | 1 | 3 |
T_side[mm] | 2 | 1 | 3 |
T_rear_r[mm] | 2 | 1 | 3 |
T_rear_f[mm] | 2 | 1 | 3 |
设计约束:以上副车架共考察三个工况,包括扭转刚度分析、弯曲刚度分析、模态分析。优化变量包括7个参数,设计约束以性能目标值为约束。
整个分析优化过程基于MeshWorks和optimus进行联合仿真优化。MeshWorks和optimus联合仿真优化流程本例中optimus为2021版本,界面和低版本稍有差异。
3.1 首先搭建MeshWorks流程。MeshWorks流程包括1个“Input Group”(或者7个input亦可),3个“File”和1个“action”。将所需的模块拖放到图形界面,并用“connection”连起来。
3.1.1 双击“Input Group”,打开输入参数编辑窗口,按设计变量参数进行对应的设置,包括变量名,变量类型等设置。其中3个形状参数为连续变量,4厚度参数为离散变量(以列表的形式给出,见下图)。
3.1.2 双击“File”模块,打开文件编辑窗口,点击“Load”加载MeshWorks批处理运行的参数控制文件。然后将上一步定义好的参数(在下方蓝色Inputs框中)按对应的位置与文件中的参数进行关联,选中原文件中数值位置,再双击下侧变量名即可完成设置。按同样的方法设置其他6个参数,完成参数文件的参数关联。注:其中“Format”中的Typer可以对参数的格式进行具体的设置,这个需要根据实际的情况进行设置,比如对于dyna求解文件有格式,长度要求的情况按实际需求设置即可。这里面MeshWorks对数值格式没有特殊要求,因此保持默认选项“None”即可。
3.1.3 双击“File”模块,打开文件编辑窗口,点击“Load”加载MeshWorks批处理命令.bat文件。再双击“action”,点击下方“Inputs”中上一步加载进来的.bat文件,即完成了commands设置。1。以上设置步骤中,可以不包含.bat文件的模块,而是直接将MeshWorks的批处理命令写在“action”模块中的commands中即可。2.这里没有用另外一个“file”模块来加载MeshWorks批处理命令所需的.msw参数化模型文件,这和批处理命令具体书写格式有关。以下详细说明。
标准的MeshWorks批处理命令格式如上图所示,其中.msw参数化MeshWorks模型文件,.inp求解器输出文件,MeshWorks运行log文件夹都是带绝对路径的。这个在单次运行时是没有任何问题的,但是当和优化软件进行联合时,往往会遇到问题。不同的优化软件对文件的存储位置有一定的规则,比如optimus会在生成的Project.optdir文件下的Graph文件下的子文件夹中。如右图所示。这些文件夹都是软件运行过程中自动生成的,为了保证MeshWorks批处理运行后可以正确地将生成的文件在正确的位置,需要修改以上批处理命令中对应文件的路径。
按以上格式进行修改,将求解器输出文件,参数控制文件修改为相对路径,这两个都是在优化软件运行过程中需要更新的。.msw文件可以不修改,因为这个文件是优化过程中不需要更新,这也是在MeshWorks优化流程图形中没有将.msw这个文件加载进流程中的原因。当然,如果把这个文件也改为相对路径,并放进流程中也是可以的,但如果.msw文件比较大,则会增加无用的文件I/O时间和硬盘占用空间(这个设置同样适用于其他有类似情况的软件)。
进一步说明,以上批处理运行过程中生成的求解器文件包含了默认的卡片。比如本例中,如果通过这种方式生成的副车架模型文件,会包含nastran的关键字卡片,如BEGIN BULK、ENDDATA。如果整个文件就是完整的可求解文件是没有问题的,但通常还会遇到有些用户是通过include模型文件的方式,只是将参数化的网格模型独立处理,而将其他信息写在头文件中。
如本例,只是将网格模型部分用MeshWorks进行参数化。这时候需要保证MeshWorks批处理生成的模型文件中不能包含BEGIN BULK、ENDDATA才能保证正确地进行求解。
此时需要修改批处理命令为 consolemorpher.exe --config_file,然后通过设置config_file来进行如上所需的特殊设置要求。本例中的config_file设置见下图,即可以实现在批处理运行MeshWorks时生成的模型文件不包含:BEGIN BULK、ENDDATA。
3.2 继续搭建求解器流程,本例中使用nastran求解器,其中包括模态计算,刚度计算。模态计算结果输出到.f06文件中,刚度计算结果输出到.pch文件中,质量结果输出到.f06文件中。以上没有特殊的设置,按流程正确连接即可。
3.2.1 说一下nastran模块的求解设置,如上文中MeshWorks模块所述,这里可以直接将nastran求解命令直接写在这里即可,或者写一个bat文件,然后用一个“file”模块将这个bat文件加载进来即可。这里面有一点需要注意,优化过程会生成大量结果数据,如果过程中不需要或者用过了之后不在需要了,可以删除文件,节省硬盘空间,比如本例中不需要f04,log,op2等文件,那么直接加上nastran的命令进行删除即可,或者在加上del批处理命令进行删除。
3.2.2 添加“output”模块到图形界面中,本例中包括模态频率,质量,刚度等响应,其中刚度需要进行结果二次处理,扭转刚度和弯曲刚度分别通过两个测点结果进行公式计算。
3.2.3 双击模态结果的“file”模块,打开设计结果提取设置界面,根据f06结果文件中模态频率结果的数据位置,进行结果提取设置。本例中提取的是第一阶模态。找到模态结果文件f06中具体的位置。通过关键字“CYCLES”来定位,在关键字“CYCLES”第七次出现的位置,右边第一个关键字符串即可定位到需要的结果数值。设置完成后通过点击“verify”来确认是否正确提取了所需的结果。
3.2.4 按同样的方法,提取刚度测点的位移结果。
3.2.6 设置扭转刚度结果,在打开的output模块中的“Formula”栏中,给出扭转刚度计算公式“1575.2/((Abs($Tor_Dis_R$)+Abs($Tor_Dis_L$))/787.6/pi*180)”。可以在value中看到公式的计算结果。
3.2.7 同样地,按此方法设置弯曲刚度计算公式。
以上,就完成了MeshWorks和nastran联合计算的流程搭建。后续可以进行DOE分析、优化分析等。 本例中,基于以上流程继续进行副车架多学科轻量化优化。采取的优化策略是先进行DOE分析,然后构建响应面模型,最后基于响应面模型进行优化。从而得到满足性能约束,质量最小的最优解。
4.1 右键左侧中Graph1位置,选择New method中的DOE。进入DOE设置界面,本例中选择拉丁方法,具体的样本点个数和优化问题相关,这需要一定的工程经验,本例中按默认值为100个样本点。设置完成之后点击Apply即可进行DOE分析。(点击OK会保留设置不进行DOE分析)
4.2 DOE分析完成之后,右键加载结果,然后可以进行结果后处理。右键DOE位置,选择New model即可在此DOE分析的结果基础上构建代理模型。
4.3 选择构建代理模型的方法,optimus内置了很多构建代理模型的方法,包括近似模型,差值,机器学习等方法。本例中选择smart方法,该方法可以自动选择模型精度最高的方法进行代理模型的创建。
4.4 右键代理模型,可以进行结果后处理,查看模型精度,2D、3D响应面等。
代理模型 | 模型精度 |
频率 | 0.998 |
扭转刚度 | 0.999 |
弯曲刚度 | 0.998 |
质量 | 0.999 |
模态响应面模型
扭转刚度响应面模型
弯曲刚度响应面模型
质量响应面模型
五. 优化
5.1 右键左侧中Graph1位置,选择New method中的Optimization。进入Optimization设置界面。
5.2 进入Optimization设置界面,在Objective中选择最小化质量为设计目标。打开右侧“锁”,然后即可对Outputs中的项进行设置,其中Evaluation选择我们上一步创建的代理模型“smart”,如果是设置的analysis,则是进行实际求解计算。并对响应的设计响应进行约束设置。设置完成后,点击Apply即可进行基于响应面的优化分析计算。5.3 右键optimizaition,可以对优化结果进行后处理。
从优化结果来看,最终所有性能都满足设计要求,副车架质量从15.84kg降低到14.64kg。减重1.2kg,减重比7.6%。设计响应 | 相关系数 |
质量-扭转刚度 | 0.9 |
质量-弯曲刚度 | 0.42 |
质量-扭转模态 | 0.73 |
扭转刚度-模态 | 0.91 |
从结果来看,本例中质量和扭转刚度性能之间的相关性最大,为0.9,这从实际分析结果可以看到,约束条件扭转刚度的改变,对质量的影响是最大的。模态和弯曲刚度的影响相对较小。而扭转刚度和扭转模态相关系数为0.91。也就是说,这里扭转刚度和扭转模态相关性非常高。但是,请注意,他们两个对于质量的相关性是不一样的。
这说明了一个问题,有时候性能之间的相关性具有一定的欺骗性。比如,车身的频响(动刚度、vtf、ntf)性能,我认为是和车身模态性能(包含刚度和质量要素)强相关的,而和车身刚度性能没有直接关系。但是,往往改变了车身刚度,频响等性能也有很大变化。这就会让人有一种错觉,看到了刚度和频响性能之间的一种关系,甚至还像模像样的画出了一条关系曲线。但真实内在的关系是,刚度特性改变了,模态特性也改变了,从而频响特性改变了。这才是事物的本质,而不是表面上看到的刚度和频响特性之间的关系。