易辉成 易 杰,2* 叶桂林
1(湖南工业职业技术学院汽车工程学院 湖南 长沙 410208)2(复杂薄壁精密零件智能柔性加工技术湖南省工程研究中心 湖南 长沙 410208)3(泰富重装集团有限公司 湖南 湘潭 411201)
常规的钢结构设计流程是:结构设计工程师初步完成结构设计并交由有限元工程师进行力学校核;有限元工程师完成结构力学计算,并将计算结果和修改意见反馈给设计工程师。整个设计流程存在设计→分析→设计的反复迭代过程。设计过程中,设计工程师往往不能第一时间知道有限元分析结果,因此造成整个设计流程效率低下。
为解决这一问题,许多研究者提出了参数化有限元分析方法,针对特定产品开发具有友好交互界面的参数化有限元分析程序。通过这些程序,设计工程师可快速对设计方案进行有限元计算,再根据分析结果修改设计。该过程操作简单,处理高效,符合现代设计理念。例如:文献[1-3]基于ANSYS平台,应用C#、VB.NET等语言开发了各种不同结构形式的起重机钢结构参数化有限元分析系统。董迎晖等[4]基于HyperWorks软件平台,应用VB.NET开发了一个轴类零件参数化有限元分析平台。葛邵飞等[5]应用APDL对桥梁结构进行了参数化有限元分析。这些程序一般不能自由更改拓扑结构,不同类型的产品需要不同的程序。因此,针对类同斗轮堆取料机、带式输送机这种非标准化重型设备而言很难满足要求。
为解决上述问题,提高工作效率,本文基于EXCEL、ANSYS和VB.NET开发出一套简单易用、拓扑结构可自由更改的参数化有限元分析系统。
该程序的开发涉及到数据平台、有限元软件平台、数据交流平台三个软件平台,分别选择EXCEL、ANSYS和VB.NET。三个软件平台之间的数据交互关系和程序流程如图1所示。
图1 软件平台间的数据交互和程序流程
选择EXCEL作为数据平台。EXCEL具备强大的数据处理能力,大多数机械工程师也常采用EXCEL软件进行设计计算,选择EXCEL作为数据平台很符合机械工程师的使用习惯。
选择ANSYS作为有限元软件平台。ANSYS作为当前应用最为广泛的有限元分析软件,其独有的参数化设计语言(APDL)非常适合用于参数化有限元分析。
选择VB.NET作为EXCEL和ANSYS之间的数据交流平台。VB.NET与这两个软件之间的混合式程序设计理论比较成熟,技术难度较小[6]。
数据表由分析数据和分析报告两部分组成。分析数据由设计者输入,分析报告由程序自动生成。
分析数据包含结构的几何参数和物理参数,具体包括:截面参数表、点参数表、线参数表、耦合参数表和载荷参数表等。所有分析数据表的开始行和结束行均为关键字,程序将会通过关键字准确定位参数表的首尾行,从而可以通过参数表数据行的增多和减少、参数表数据的更改来改变产品结构的计算数据。
分析报告包括部件应力输出表、局部应力输出表、部件位移输出表、轴向力图输出表、剪切力图输出表和弯矩图输出表等。
程序运行时,首先由VB.NET读取EXCEL表格中的分析数据,并将其转换为APDL代码;然后VB.NET在后台调用ANSYS对所生成的APDL代码进行求解并保存分析结果;最后应用VB.NET对有限元分析结果进行归类和整理,按照预先设计的格式编辑成分析报告。
为适应常用钢结构材料的线弹性静力学计算,默认材料选用Q235或Q345,其材料参数为:弹性模量E=210 000 MPa,泊松比θ=0.3,材料密度为ρ=7.8×103kg/m3,设定力的单位为N,力矩的单位为N·mm。
应用VB.NET的WriteLine命令生成APDL代码定义材料参数,如下[7-8]:
*SET,DEN1,7.8e-6
MP,EX,1,210000
MP,NUXY,1,0.3
MP,DENS,1,DEN1
截面参数表包含矩形钢(RECT)、工字钢(I)、槽钢(CHAN)、圆钢(CTUBE)、角钢(L)等9种工程常用的型钢截面,能满足绝大多数工程实际需求。截面参数表包含截面编号(SECID)、截面名称(Name)、截面类型(Subtype)及7个几何参数(w1,w2,w3,t1,t2,t3,t4),如表1所示。其中:几何参数需要与ANSYS截面库中对应的截面参数保持一致;△y和△z数据用于修改截面原点位置。
表1 截面参数输入表
应用VB.NET逐行读取截面参数表中的数据,并在.txt文件中循环写入以下APDL命令:
SECTYPE,SECID,Beam,Subtype,Name
SECOFFSET,USER,△y,△z
SECDATA,w1,w2,w3,t1,t2,t3,t4
点参数表包括关键点、截面方向点和耦合点等三种表格,均包含了点编号(NPT)、点的坐标值(X,Y,Z)等参数,如表2所示,不同之处在于三种表格的起始关键字和结束关键字不同。
表2 关键点参数输入表
关键点主要用于定义几何拓扑信息,例如梁的端点、铰接、螺栓连接等。
截面方向点用于定义梁截面的方向。梁方向的定义规则如图2所示,图中K点为梁截面原点,I点至J点方向为梁的x轴线,L点在梁截面的z轴方向上。
图2 截面方向点示意图
耦合点则用来定义远程加载或远程连接,如图3所示。程序中可实现点点耦合和点线耦合两种耦合形式。
图3 耦合点示意图
应用VB.NET逐行读取点参数表中的数据,并在.txt文件中循环写入以下APDL代码:
K,NPT,X,Y,Z
线参数表包括常截面梁、变截面梁和杆单元三种表格。常截面梁参数表包含线编号(LID)、线的两个端点编号(KI,KJ)、截面方向点编号(KL)、梁的截面编号(SecID)等参数,如表3所示。
表3 常截面梁参数输入表
应用VB.NET逐行读取常截面梁参数表中的数据,并在txt文件中循环写入APDL命令:
NUMSTR,LINE,LID
L,KI,KJ
LATT,MAT,,,,KL,,SecID
LESIZE,LID,SIZE,,
LMESH,ALL
其中:MAT指材料编号,程序计算中只有钢材一种材料,编号为1;SIZE为网格划分大小,可默认设置为100。
变截面梁参数表包含线编号(LID)、线的两个端点编号(KI,KJ)、截面方向点编号(KL)、梁的截面编号(SecID)、I点处的截面编号(SecID-I)、J点处的截面编号(SecID-J)等信息,如表4所示。
表4 变截面梁参数输入表
定义变截面梁的APDL代码与定义常截面梁的APDL代码一样,但首先需要定义变截面梁的属性,其APDL命令如下:
SECTYPE,SecID,TAPER,,,
SECDATA,SecID-I,KX(Ix),KY(Iy),KZ(Iz)
SECDATA,SecID-J,KX(Jx),KY(Jy),KZ(Jz)
其中:KX(Ix)、KY(Iy)、KZ(Iz)为变截面梁端点I处的坐标值;KX(Jx)、KY(Jy)、KZ(Jz)为变截面梁端点J处的坐标值。这需要应用VB.NET去查询点参数表获得。
二力杆用杆参数表来定义,其力学特性是只能承受轴向拉压,不能承受弯曲。杆参数表主要包含线编号(LID)、线的两个端点编号(KI,KJ)、截面方向点编号(KL)、截面面积(SecA)等信息,如表5所示。
表5 杆单元参数输入表
定义二力杆的代码与定义常截面梁的代码一样,但需要先定义截面面积,其APDL代码如下:
R,LID,SecA
耦合参数表包括了铰接点、点点耦合和点线耦合三种表格。
铰接点参数表用于定义钢结构中铰接的位置和自由度。可同时定义铰接处的6个自由度(UX,UY,UZ,ROTX,ROTY,ROTZ),不同自由度之间用“,”连接。铰接点参数表包含点编号(NPT)和释放自由度(RF)两类信息,如表6所示。
表6 铰接点参数输入表
应用VB.NET逐行读取铰接参数表中的数据,并在.txt文件中循环写入以下APDL代码:
KSEL,S,KP,,NPT,,,1
NSLK,S,
ESLN,S,,
ENDRELEASE,,-1,ROTZ
点点耦合和点线耦合则用于定义远程加载或远程连接。同一个点或同一条线只能与唯一的耦合主点相耦合,且每次只能耦合一个自由度,若需要耦合多个自由度则需要分多步进行,也可用“ALL”关键字来耦合所有自由度。
点点耦合参数表包含耦合主点编号(NPTM)、耦合从点编号(NPTS)、耦合自由度(CF)等信息,如表7所示。
表7 点点耦合参数输入表
应用VB.NET逐行读取点点耦合参数表中的数据,并在.txt文件中循环写入APDL代码:
ALLSEL
KSEL,S,,,NPTM
NSLK,S
*GET,MN,NPTM,NODE,0,NUM,MAX
ALLSEL
KSEL,S,,,NPTS
NSLK,S
*GET,SN,NPTS,NODE,0,NUM,MAX
ALLSEL
CERIG,MN,NPTM,SN,NPTS,CF
点线耦合参数表包含耦合点编号(NPT)、耦合线编号(LID)、耦合自由度(CF)等信息,如表8所示。
表8 点线耦合参数输入表
点线耦合实际是点点耦合的叠加,即耦合主点与线上所有的节点进行耦合,因此点线耦合的APDL代码与点点耦合的代码一样,但为了防止线两端处的节点与其他耦合主点重复耦合,需要将线端点处的节点去除掉,其APDL代码如下:
*GET,NOUT1,KP,NPT-i,ATTR,NODE
*GET,NOUT1,KP,NPT-j,ATTR,NODE
LSEL,S,LINE,,LID,,0,0
ESLL,S
NSLE,S,ACTIVE
NSEL,U,,,NOUT1
NSEL,U,,,NOUT2
其中:NPT-i、NPT-j分别为耦合线的两个端点,需要应用VB.NET查询线参数表得到。
载荷参数表包括了重力载荷、点载荷、线载荷、点约束和线约束等5种表格。
重力加速度可定义X、Y、Z三个方向,默认单位为m/s2,如表9所示。
表9 重力加速度参数输入表 单位:m/s2
应用ANSYS进行有限元计算时,ANSYS会根据结构尺寸、截面参数、材料密度等自动计算结构的重量。但大多数情况下,采用梁单元建立的钢结构有限元模型重量与实际重量会有所偏差,可适当放大重力加速度值对其进行修正。
应用VB.NET读取重力加速度参数表中的数据,并在.txt文件中写入以下APDL代码:
ACEL,ACEL-X,ACEL-Y,ACEL-Z
点载荷参数表用于定义关键点或耦合点上的载荷,可定义FX、FY、FZ、MX、MY、MZ六个载荷方向,前三个表示加载的力,默认单位为t,后三个表示加载的力矩,默认单位为N·m。每次只能定义一个方向的载荷,但可在同一加载点上进行重复加载。点载荷参数表包含载荷名称(Name)、点编号(NPT)、载荷类别(Lab)和载荷值(Value)等信息,如表10所示。
表10 点载荷参数输入表
应用VB.NET逐行读取点载荷参数表中的数据,并在.txt文件中循环写入APDL代码:
ALLSEL
KSEL,S,,,NPT
NSLK,S
F,ALL,Lab,Value
程序中,线载荷的加载在最终会转化为点载荷均分在线上的各个节点上,因此线载荷的加载规则与点载荷的加载规则相似,其默认单位为kg/m。线载荷参数表包含载荷名称(Name)、线编号(LID)、载荷类别(Lab)和载荷值(Value)等信息,如表11所示。
表11 线载荷参数输入表
应用VB.NET逐行读取线载荷参数表中的数据,并在.txt文件中循环写入APDL代码:
LSEL,S,LINE,,LID,,0,0
ESLL,S
NSLE,S,ACTIVE
*GET,LL(LID),LINE,LID,LENG
*GET,NN,NODE,0,COUNT
F,ALL,Lab,Value*LL(LID)/NN
其中:LL(LID)为LID编号梁的长度;NN为LID编号梁上的节点数量;这两个参数均可采用APDL的*GET函数求解得到。
点约束参数表用于约束关键点的自由度,包含点编号(NPT)、方向(Labels)、数值(Value)等信息,其起始关键字为“开始输入点约束”,如表12所示。其可同时对同一个点的多个自由度进行约束,不同自由度之间需要用“,”分隔,例如:UX,UY,UZ,ROTX,ROTY,ROTZ。
表12 点约束参数输入表
约束也可转化为位移载荷,例如:约束方向为UX,数值设为20,表示该点沿正X方向偏移20 mm。
应用VB.NET逐行读取点约束参数表中的数据,并在.txt文件中循环写入APDL代码:
ALLSEL
KSEL,S,,,NPT
NSLK,S
D,ALL,,Value,,,,Labels
与线载荷表类似,线约束在程序中最终也会转换为点约束,因此线约束的规则与点约束的规则类似。线约束参数表包含线编号(LID)、方向(Labels)和数值(Value),如表13所示。
表13 线约束参数输入表
应用VB.NET逐行读取线约束参数表中的数据,并在.txt文件中循环写入APDL代码:
LSEL,S,LINE,,LID,,0,1
NSLL,S,0
D,ALL,,Value,,,,Labels
VB.NET在调用ANSYS运行APDL代码时,会按照一定的命名规则保存部件应力云图、部件局部应力云图、部件位移云图、梁的弯矩图、梁的剪力图、杆的轴向力图等分析结果。其中,部件的局部应力结果主要截取局部应力大于一定值的梁单元的应力云图,默认值为150 MPa,用户可自己设定该值。求解完成后,VB.NET按照预定的格式编辑分析报告并保存。
泰富重装集团基于该程序开发了斗轮堆取料机、带式输送机等一系列非标产品的钢结构参数化有限元计算表格。TF.DQLZ.1系列的斗轮堆取料机参数化有限元分析表格如图4所示。
图4 TF.DQLZ.1斗轮堆取料机计算数据表
分析表格在保证核心数据结构形式不变的情况下,添加了产品结构参数,用于定义结构的几何尺寸、载荷条件等参数,并将其与后面的点、线、载荷等表格中的参数进行关联,从而使结构的调整更加直观、快捷,如图5所示。
图5 TF.DQLZ.1斗轮堆取料机上部结构参数
将该TF.DQLZ.1斗轮堆取料机有限元计算参数表导入程序中运行,得到相应的有限元分析计算结果和分析报告如图6所示。
图6 TF.DQLZ.1斗轮堆取料机有限元分析报告
压杆稳定性计算是钢结构计算中经常需要进行的校核计算,因此机械设计工程师可依据梁单元的轴向力分析结果添加压杆稳定性计算函数,如图7所示。使用者也可自行添加其他的机械常用设计计算函数。
图7 压杆稳定性计算表
基于EXCEL、ANSYS和VB.NET开发的钢结构参数化有限元分析系统具有以下特点:
1) 具备很强的通用性。针对不同的钢结构产品,工程师不需要单独开发程序,只要保证分析数据表格的体系、格式和关键字不变,重新编辑EXCEL分析数据表,即可完成特定产品的钢结构计算模板定制,因此非常适合非标准化重型机械产品的钢结构参数化有限元计算。
2) 具有很好的可扩展性。工程师可在钢结构有限元分析结果的基础上,添加机械设计常用的计算功能,例如螺栓联接计算、压杆稳定计算、优化计算等,扩展该系统的计算能力。
目前,泰富重装集团有限公司在该系统的基础上,已开发了斗轮堆取料机、带式输送机等一系列非标准化产品的钢结构参数化有限元计算模板。从运行结果来看,该系统的运用大约缩短了50%的产品开发时间,提高了产品开发效率,增强了企业竞争力。