SYSWELD是由法国ESI公司开发的焊接数值模拟软件,通过热弹塑性有限元法可以完成焊接过程中温度场、应力场和组织场的计算。在焊接过程的数值模拟中,为了精确反映焊接过程中的温度场,通常需要对热源模型的参数进行反复调整,使其能够与实验获得的熔池形貌吻合良好,该过程即为热源校核。
在SYSWELD软件中提供有专业的热源调整模块Heat Input Fitting(HIF),其主要功能就是对热源参数进行调节。然而,在热源调整工具Heat Input Fitting中仅提供了几种常用的标准焊接接头,尽管在SYSWELD中支持自定义焊接接头的热源校核,但目前还很少有关于这方面的教程。本文以搭接接头为例,讨论如何在SYSWELD中完成自定义接头类型的热源校核。
1. 建立有限元模型
在SYSWELD的热源校核模块中,仅支持导入代表自定义接头截面的二维网格,随后在热源校核模块中通过拉伸或旋转得到完整的三维有限元模型。因此,本文首先在Hypermesh中建立搭接接头的二维有限元模型,如图1.1所示,需要注意的是二维网格只有位于XY平面才能被SYSWELD正常识别,并且目前SYSWELD只支持四边形网格的导入,因此在网格中不能出现三角形单元。
图1.1 搭接接头二维有限元模型
图1.1中上下两块平板厚度为4mm,黄色 区域为焊缝材料,为了简化模型,假设两块平板相互接触的区域节点是相连的。
在Hypermesh中建立有限元模型后需要导出为SYSWELD支持的数据格式(*.ASC文件),一般可使用SYSWELD的Toolbox中提供的Hypermesh模板来完成模型的导出。如果没有导出模板,也可以导出为ESI公司研发的前处理软件Visual-mesh支持的格式,这里本文选择导出用于ABAQUS求解的inp文件。
1.1 网格组件(Group)设置
SYSWELD中所有针对单元或节点的操作都是在组件(Group)中完成的,组件可以看作是一组单元或节点的集 合(类似于ABAQUS中的set)。在热源校核模块中,由于SYSWELD将通过自定义的二维网格拉伸获得焊接接头的三维模型,因此该二维网格中必须包含能够被SYSWELD识别的特定组件,分别有:
(1)组件TRAJECTORY 单元类型为0001且具有属性EXTRUDED的单个单元,用于定义焊接线的位置
(2)组件REFERENCE 单元类型为0001且具有属性EXTRUDED的单个单元,用于定义参考线
(3)组件FRONT 节点集 合,用于HIF(Heat Input Fitting)计算
(4)HS_PLANE 单元类型为1002且具有属性EXTRUDED的单元,用于定义热源所在的平面
(5)C1_3D 单元类型为2004且具有属性EXTRUDED的单元,用于定义第一块焊接工件
(6)C2_3D单元类型为2004且具有属性EXTRUDED的单元,用于定义第二块焊接工件
(7)BEAD(可选)单元类型为2004且具有属性EXTRUDED的单元,用于定义焊缝模型
(8)SKIN 单元类型为1002且具有属性EXTRUDED,用于定义生成三维模型中的对流换热面所需要的单元
下面首先将Hypermesh生成的网格文件导入到Visual-mesh中。
在Hypermesh中,仅建立了代表焊接接头截面的二维网格,而用于定义焊接线(TRAJECTORY)和参考线(REFERENCE)的0维单元(单元类型为0001)只能在Visual-mesh中完成定义,此外还有用于对流换热的一维单元(单元类型为1002)也没有定义,因此首先通过二维单元的单元边创建一维单元。选择1D→Extractfrom 2D mesh,并框选所有的二维单元,即可在二维网格的外边界上生成一维单元,如图1.2中的红色边线所示。通过此方法得到的一维网格与二维网格的节点是完全重合(共用节点)的。
图1.2 生成一维网格
随后选择焊缝外边界中心和底部的节点,分别作为焊接线和参考线的作用位置,如图1.3所示。
图1.3 选择焊接线和参考线作用位置
随后点击Node→ Create 0D Elements at Nodes,在节点所在位置创建两个0维单元。此时除去二维网格所在的三个Part以外,系统默认创建了PART_4用于放置一维网格,PAR_5用于放置0维网格。
下面分别创建SYSWELD指定的组件。首先创建组件TRAJECTORY和组件REFERENCE。将除PART_5以外的Part全部隐藏,选择代表焊接线的0维单元(注意是单元,并非节点),点击鼠标右键,选择Tools→ Add to New Collector。此时模型树中将自动创建组件Collector_1,选择该组件点击鼠标右键,点击Edit并将其重命名为TRAJECTORY。使用相同的方法选择代表参考线的0维单元,并将该组件命名为REFERENCE。
随后,隐藏PART_4和PART_5,保留二维网格所在的Part,并选中所有节点,创建组件FRONT,如图1.4所示。
图1.4 选择二维网格所有节点
保留放置一维网格的PART_4,隐藏其他网格。选择位于焊缝外边界的一维网格,并创建组件HS_PLANE,如图1.5中的红色边线所示。
图1.5 选择一维单元
随后选择其余的一维单元,用于定义对流换热,创建组件SKIN。
隐藏PART_4和PART_5,分别选择上侧平板、上侧平板和焊缝所在的二维单元,创建组件C1_3D,C2_3D和BEAD,如图1.6所示。
图1.6 选择焊缝所在单元
此时模型树中共有8个部件。在模型树中选择放置一维单元的PART_4,右键选择Properties,在弹出的对话框中展开Contents一项,并选中其中的一项,可以看到该单元的单元类型(TYPE)为1002,如图1.7所示。
图1.7 一维单元的单元类型
根据SYSWELD对导入单元类型的要求,二维网格(四边形单元)的单元类型必须为2004,一维网格的单元类型必须为1002,0维单元的单元类型为0001。由于一维单元和0维单元都是通过Visual-mesh创建的,因此单元类型是符合要求的。但二维网格的单元类型此时显示为0,这是由于本文采用了ABAQUS求解使用的inp文件,导致Visual-mesh无法 正确识别SYSWELD的单元类型号。如果通过SYSWELD的Hypermesh模板在Hypermesh中导出ASC文件,则Visual-mesh能够正常识别单元类型,但这并不影响我们通过Visual-mesh导出ASC文件。
点击File→ Export,为了让SYSWELD能够正常识别自定义的焊接接头截面,必须将该文件命名为DATA55.ASC。
用文本编辑器打开DATA55.ASC,找到以BEGIN_ELEMENTS开头的一行,如图1.8所示。
图1.8 单元类型号
图1.8中第一列数据代表单元号,第二列数据代表单元类型号,可见通过Visual-mesh导出的二维网格(四边形)默认的单元号即为2004,满足SYSWELD对单元类型的要求。图中最后四列数据分别代表构成该单元的四个节点。
除了对单元类型有要求外,SYSWELD还要求除节点集FRONT以外的组件必须具有属性EXTRUDED。目前,作者还未找到在Visual-mesh中为组件赋予属性的方法,目前只能通过ASC文件手动修改。
找到定义组件所在的数据行,分别在图1.9所示位置添加字符串EXTRUDED。
图1.9 定义单元属性
从图1.9中的第一行可以看出,该模型中共存在13个组件,在导出为ASC文件时,Visual-mesh已经自动为所有Part创建了组件。需要注意的是,图1.9中组件名后的1代表该组件为节点集,2代表该组件为单元集。组件TRAJECTORY和REFERENCE由于放置的是0维单元,因此为2。在创建组件时不能误选0维单元的节点,否则将无法被SYSWELD正确识别。
2. 热源校核
打开SYSWORLD,选择Application→Welding Advisor,选择Tools→ Heat Input Fitting打开热源校核模块。打开Material DB加载焊接材料库welding.mat,打开Functions DB加载热源函数bdfct.fct。在Geometry的2D中选择Custom,即自定义焊接接头截面,选择打开的文件类型为.ASC,并加载前面导出的DATA55.ASC文件,如图2.1所示。
图2.1 加载自定义焊接接头截面
在3D中将Extrusion option设置为Translation,即通过将二维截面拉伸生成三维网格。在Parameters中对三维网格的参数进行设置,本文设置如图2.2所示。
图2.2 三维网格参数设置
点击Save保存参数(这些参数将会存储在文件extru_tran.par中),随后点击Create mesh生成三维网格,生成的三维网格如图2.3所示。
图2.3 搭接接头三维网格
随后在Material中分别为C1_3D、C2_3D和BEAD组件设置材料属性,这里选择母材和焊缝的材料均为S255J2G3,如图2.4所示,这里的组件名与在Visual-mesh中设定的组件名是对应的。如果模型中不存在焊缝,则在Visual-mesh中也可以不创建BEAD组件,并在Material中不为BEAD赋予材料属性。
图2.4 赋予材料属性
在Process中对焊接热源进行定义,这里选择3D conical Gaussian,即三维高斯热源,其参数设置如图2.5所示。
图2.5 高斯热源参数设置
图2.5中,Q0代表高斯热源最大的热流密度,re代表热源顶面的半径,ri代表热源底面的半径,ze代表顶面距离热源中心的距离,zi代表底面距离热源中心的距离。x0,y0,z0代表热源中心在焊接局部坐标系中的坐标位置,ay为焊枪绕焊接局部坐标系y轴旋转的角度,Power为总的功率。焊接局部坐标系是通过前面的焊接线和参考线来定义的,这里代表焊接线和参考线的节点的连线为局部坐标系的x轴,焊枪前进的方向定义为y轴,而z轴则通过右手定则得到。因此可知本例中的局部坐标系的定义如图2.6所示。
图2.6 局部坐标系定义
在Plot中勾选Macrography,将Molten temperature即熔化温度设定为1400ºC,HAZ temperature即热影响区温度设定为800ºC,如图2.7所示。SYSWELD将计算焊接过程达到稳态后的温度场。
图2.7 温度场后处理设置
在Solve面板中勾选Solve,将Curvilinear velocity(焊接速度)设置为5mm/s,Initial temperature(初始温度)设置为20ºC。Phase proportions代表初始时刻工件各相的体积分数,一般保持默认参数即可,如图2.8所示。
图2.8 求解参数设置
计算完成后通过Visual-Viewer打开结果文件HSF_POST100.fdb,由于热源校正采用的稳态分析,因此只得到了焊接16s时的稳态温度场,如图2.9所示。
图2.9 搭接接头稳态温度场
提取搭接接头的稳态温度分布,如图2.10所示。
图2.10 搭接接头稳态温度分布
图2.10中粉色 区域为熔池区域,蓝色 区域为母材区域,其余的区域即为热影响区。通过反复调整焊接热源的参数,最终使得实际焊接得到的焊缝轮廓形貌与仿真计算的熔池温度场轮廓吻合,即完成了焊接接头的热源校核过程。