王鹏 杨建森 武振江 曹建 吴杨
摘要:接头是白车身框架结构的重要组成部分,接头刚度分析作为乘用车刚度性能开发中必不可少的分析项目,通常在创建局部坐标系、施加边界条件、创建载荷步以及设置求解控制参数方面进行大量的重复工作。为减少重复性劳动,本文以接头基础网格模型为输入,利用Hypermesh二次开发功能,采用Tcl/Tk语言编写了接头刚度分析过程中局部坐标系创建、载荷施加、载荷步创建以及求解控制参数设置的自动化程序,可大幅提高分析效率,提高分析结果的准确性和一致性。
关键词:接头刚度;CAE;二次开发;Tcl/Tk程序
中图分类号:U463.8 文献标识码:A 文章编号:1005-2550(2020)04-0030-07
王鹏
毕业于武汉理工大学,硕士。现就职于中汽研(天津)汽车工程研究院有限公司,任CAE分析工程师。主要研究方向:CAE仿真分析自动化。
1Hypermesh二次开发关键技术
Hypermesh界面和二次开发语言都为Tcl(ToolCommand Language),Tcll司Perl、JavaScript、Born、Korn一样,是一种脚本语言,具有语法简单、无需编译、不依赖平台等特点。Hypermesh基于Tel提供了4类二次开发命令:TelGUI Commands、Tcl Modify Commands、Tcl QueryCommands、Utility Menu Commands。其中第一类和第三类命令以“hm_”开头,分别进行界面控制和提取模型信息,第二类和第四类命令以“*”开头,分别进行执行操作和按钮等控制。
Hypermesh启动后,所有的操作命令都保存在工作目录下的eommand.cmf本文件中。在command.cmfSC件中提取相应操作的宏命令,即可作为一段可执行的Tcl Mod曲Commands。此外,通过Tcl Query Commands提取的模型信息可用于为Tcl程序中的变量进行赋值。
当一段Tel程序完成后,可使用第4类二次开发命令Utility Menu Commands,在Hypermesh Utility→User界面添加按钮,并将所建立的按钮与完成的二次开发程序关联起来。通过在Hypermesh工作目录创建Userpage.mac文件实现按钮添加和程序关联,Hypermesh每次启动时会在工作目录搜索Userpage,mac文件并自动引用该文件。
2乘用车接头刚度仿真分析过程
接头是白车身三个或三个以上承载部件的连接部位,属于车身纵梁、横梁及立柱之间的过渡部位,是白车身框架的重要组成部分。乘用车不同车型的接头数量不同,轿车由于只有A、B、C柱,一般有7个接头,SUV相比轿车多了D柱和后三角窗,一般比轿车多4个,一共11个接头(图1A1-D3)。本文以某SUV车型为例进行接头刚度仿真分析的二次开发,所开发程序同样适用于轿车接头仿真分析过程。
因接头数量多,且都处于车身关键部位,对车身整体刚度有着非常重要的影响,因此接头刚度分析属于车身刚度开发性能中必不可少的一环。一般在白车身有限元网格基础上截取接头模型,以接头各延伸方向的交点为中心,向各延伸方向截取300mm的分支,并要求截取截面垂直与各分支延伸方向。进一步,以各截面上的节点为从节点,各截面形心为主节点建立RBE2单元。
接头刚度仿真分析过程中,由于接头截面垂直于各分支延伸方向,载荷必须沿局部坐标系施加。又由于车身整体刚度的研究基于整体坐标系(整车坐标系)展开,因此接头局部坐标系的创建应该一定程度上依赖整体坐标系。本文沿接头各截面法向创建局部坐标系z轴,进一步基于整体坐标系基本面(整体坐标系两个轴组成的平面:本文指XZ平面或者YZ平面)确定局部坐标系的Y轴,最后应用右手螺旋法则确定局部坐标系x轴。
计算某个接头分支的刚度时,在其中一个分支分别沿局部坐标系x、Y、z三个方向施加1000N、1000N、1000N.m,作为三个独立工况。约束其他分支RBE2主节点6个方向自由度。三分支接头共计9个工况,四分支接头共计12个工况。
以本文SUV为例,共11个接头,其中三分支接头6个,四分支接头5个,共计38个接头分支。需反复创建局部坐标系38次,约束、加载共152次,载荷步设置114次,控制参数设置38次,造成大量重复性劳动。
3接头刚度分析自动化程序
3.1局部坐标系自动创建
为了给每个接头的所有分支批量创建坐标系,使用Tcl过程控制语句Foreach对每个分支进行循环。Hypermesh创建局部坐标系需要确定三个参考点,第一个为初始点,一般也是坐标系原点,本文的初始点为截面ERBE2单元的主节点。通过初始点指向第二个参考点可以确定第一根坐标轴。本文第二个参考点为初始点沿分支截面法向偏移后的点,程序执行时会沿着法向两侧分别偏移一个点,然后自动选择指向模型内部的点。部分具体实施脚本如下:
通过初始点、第二个参考点、第三个参考点可以确定局部坐标系的一个基本面(局部坐标系任意两个轴确定的平面,文中为YZ平面),本文通过程序自动创建参考平面(如图7所示,过该分支截面RBE2单元主节点,与整体坐标系基本YZ平面平行的面),应用Tcl过程控制语句Foreach对截面上的从节点进行循环,以B2接头上分支截面为例,分别计算各从节点到参考平面的距离,并获取距离最近的节点作为第三参考点。进一步根据三个参考点创建局部坐标系。部分具体实施脚本如下:
3.2边界条件、载荷步自动创建
为自动创建接头刚度分析所有约束、载荷及载荷步,使用Tcl过程控制语句ForeachXff每个分支进行循环。以B2接头为例,共四个分支,需建立4个约束集(分别包含某三个分支截面RBE2单元主节点的6个方向自由度全约束),12个载荷集(分别包含某分支局部坐标系下某一方向的载荷),共计16个Loadcollectors。进一步,创建共计12个LoadSteps。部分具体实施脚本如下:
3.3计算控制参数自动设置
接头刚度仿真分析过程中,必要的控制参数包括求解器参数、输出参数等。可直接通过录制参数设置过程并从启动目录下的command.cmf文件中提取如下脚本实现。
4接头刚度分析自动化过程
4.1自动化程序交互过程
程序交互可通过在Hypermesh Utility→User界面创建按钮实现。启动目录下创建Userpage.mac文件,并写入如下所示的脚本。同时将写好的自动化脚本(JointLoadSpc.tcl)放入Hypermesh启动目录。
交互按钮设置完成后,经过图12所示流程可自动完成坐标系创建、边界条件施加、载荷步创建及控制参数设置过程。1)点击交互按钮;2)选取所有分支截面的RBE2单元并点击Procceed按钮;3)自动运行程序;4)导出.BDF可计算文件。
4.2接头B2分析结果
经過程序自动处理后的模型可直接导出计算模型。如图14所示为接头B2经程序自动处理后导出模型的计算结果。
4.3程序与常规方法效率对比
常规方法中,三分支接头进行计算前处理(创建坐标系、约束、加载、载荷步、控制参数)大概需要12Min,四分支接头进行计算前处理大概需要16Min。应用自动化程序,对于三分支接头和四分支接头,都可以在0.5Min以内完成计算前处理。本文SUV共计四分支接头5个,三分支接头6个。采用常规方法处理完所有接头需花费124Min,应用程序只需5.5Min。相比于常规处理方法,效率可提升95.56%。
5结论
本文应用Tel/Tk语言编写了接头刚度仿真分析的自动化脚本程序。可自动实现局部坐标系创建、边界条件施加、载荷步创建及控制参数设置。经过程序处理的接头模型可直接导出可执行的计算文件。可大幅提高接头刚度仿真计算的分析效率,减少人为因素导致的结果不一致性。