潘云龙, 高伟强,阎秋生 ,龚国基
(广东工业大学 机电工程学院, 广州 510006)
基于VC++和ANSYS的发动机压装仿真计算系统研究*
潘云龙, 高伟强,阎秋生 ,龚国基
(广东工业大学 机电工程学院, 广州 510006)
文中对基于VC++和ANSYS的发动机压装仿真计算系统进行了研究,将VC++编程技术和有限元分析软件ANSYS 参数化设计语言APDL相结合,利用VC++与ANSYS软件的接口功能与VC++对APDL文件的封装技术实现了ANSYS的二次开发,开发了一套发动机压装仿真计算系统。采用有限元法提高了发动机压装过程中接触力与压装力计算的准确性。该系统可方便对APDL文件中参数进行重定义,实现ANSYS后台调用并对分析结果进行正确读取,简化了整个有限元分析过程,降低了对工程技术人员ANSYS熟悉程度的要求。
VC++;ANSYS;发动机压装;APDL;有限元法
发动机装配件的压装装配质量是发动机性能重要影响因素之一。压装中压装力大小决定着过盈结合的可靠性,实际压装中以压装力位移(F-S)曲线对压装质量进行评定[1]。现如今企业对于接触力以及压装力的计算一般是通过理论公式确定的。近年来,随着自动化程度的提高以及计算机软硬件的发展,有限元分析技术在装配过程分析中的应用越来越广泛[2-5]。有限元法在对压装中接触力计算时,充分考虑边缘应力集中的影响,因而,比弹性力学方法真实可靠[6]。但有限元法同样存在建模过程中操作步骤过于繁杂,所花时间较多等缺点。并且有限元通用软件界面通用性强针对性不高,操作复杂,初次接触者使用难度较大。针对这些问题,本文提出了基于VC++与ANSYS发动机压装仿真计算系统。该系统运用大型通用软件ANSYS参数化编程(APDL)实现整个压装仿真模型建立、载荷施加以及结果保存,用面向对象的编程语言VC++编制用户界面,实现参数定义、ANSYS后台调用和结果读取。此系统在VC++编制的参数设定界面中对参数进行设定,就可重定义APDL仿真文件中几何参数、物理参数和工艺参数,在完成参数定义后点击ANSYS调用求解按钮即可完成分析过程。整个过程操作简单方便,用户无须进入ANSYS操作界面,大大减小了对工作人员的能力要求。
1.1 系统设计目标及原理
VC++是典型的面向对象并具备二次开发功能的工具。设计人员可通过简洁方便的编程界面以及集成的多种常用工具箱就可以高效地开发应用程序。ANSYS参数化设计语言(APDL)是一种用来完成有限元常规分析操作或通过参数化变量方式建立分析模型的脚本语言,它用智能化分析的手段,为用户提供了白动完成有限元分析过程的功能[7]。基于VC++的ANSYS发动机压装仿真计算系统的主要目标:①构建VC++用户程序与ANSYS通讯;②通过界面设计,提高人机交互性,使操作更加方便;③后处理,对ANSYS分析结果进行读取。系统可在VC++编辑的界面中对一些几何、物理以及工艺参数进行定义,实现APDL文件中参数的更新,并通过VC++编程语言实现ANSYS后台运行求解,而ANSYS分析结果可通过VC++对话框界面进行读取。发动机压装仿真计算系统从参数重定义到ANSYS分析求解以及最后的结果读取,整个过程无须进入ANSYS界面,对从未使用过ANSYS的工程人员也能做到熟练正确操作。
发动机压装在进行每次仿真计算之前,对于分析路径可采用默认与重新定义两种选择。默认分析路径时,系统将自动对以前的分析结果进行清除,从而不至于影响结果读取。在参数定义模块,输入材料物理特性以及物体的几何参数,实现对APDL文件数据的更改;输入完参数后,进入VC++二次处理模块,完成有限元分析;分析结束后,由VC++后处理界面实现对分析结果进行读取。具体系统工作原理图如1所示。
图1 工作原理图
1.2 发动机压装仿真计算系统实现方法
发动机压装仿真计算系统能够对执行发动机压装的命令流APDL文件进行封装。APDL文件包含了有限元分析过程中的模型建立、网格划分、接触对设置、载荷施加以及分析结果文件生成的命令操作。有限元分析结果文件包括:接触力云图、最大压装力以及压装整个过程中压装力与位移的数据。VC++通过可视化界面对APDL文件分析中涉及到一些几何参数和物理参数进行重新设定,实现ANSYS的后台调用求解,并最终对分析结果进行读取。
ANSYS软件自身没有提供面向对象的二次开发接口,但提供了对APDL命令流文件调用的接口。VC++正式通过这个接口实现与ANSYS之间进行数据的通讯。VC++通过WinExec函数对ANSYS进行调用,调用程序段如下:
WinExec("D:Program FilesANSYS Incv130ansysinintelANSYS130.exe -b -p ane3fl -i input_file -o output_file ",SW_HIDE);
说明:其中“D:Program FilesANSYS Incv130ansysinintelANSYS130.exe”为ANSYS路径,ane3fl为ANSYS产品特征代码,input_file为用APDL语言编写的ANSYS输入文件,output_file输出的数据文件。
VC程序用WinExec()函数调用另一程序时是创建一个同等优先级的进程去执行该程序,因此VC程序执行WinExec()指令后会马上执行下一条指令,而不会等待调用的另一个程序执行完成,所以程序无法自动判断ANSYS是否求解完成。本系统ANSYS求解是否完成的判断是通过APDL命令流结合程序代码组成。其原理是:在调用 ANSYS前通过VC程序创建一个名为panduan.txt的文件并写入字符0,通过APDL命令使ANSYS求解完毕后自动将panduan.txt文件的字符0改为1。这样就可以通过判断该字符的值来判断ANSYS的运行情况。核心的命令流和程序代码如下:
创建1个宏文件名为pandu1.mac,其命令流是:
*DIm,pandu,,1
pandu(1)=1
*cfopen,'panduan',txt
*vwrite,pandu(1,1) !将VC生成的panduan.txt中字符0改成1
%2.0F
*cfclos
/exit
判断ANSYS求解是否完成的关键代码是:
char SYMBOL=48;
char *num=new char[1];
for(;SYMBOL==48;)///48是字符0的ASCⅡ码,若字符为0则循环
{
fp=fopen(strPath,"rb");///strPath存放panduan.txt文件的路径
fread(&num[0],sizeof(char),1,fp);///读字符值
fclose(fp);
SYMBOL=num[0];
Sleep(2000); ////暂停程序
}
通过以上程序可以避免系统运行过程中,造成 “假死”的现象。在ANSYS运行过程中通过窗口提示系统运行状态如图2所示,当运行结束弹出结束对话框。
图2 ANSYS运行状态
实现ANSYS的后台调用求解之后,系统需要对APDL文件生成的分析结果进行读取。APDL命令流编程可以输出JPEG图片格式的接触力云图和压装力与位移的数据txt文件。图片输出APDL程序如下:
esel,s,ename,,174 !选择接触单元
/SHOW,JPEG,,0
JPEG,QUAL,75,
JPEG,ORIENT,HORIZ
JPEG,COLOR,2
JPEG,TMOD,1
/GFILE,1024,
PLNSOL, CONT,PRES,0,1.0 !接触压力
/SHOW,TERM
/CMAP,_TEMPCMAP_,CMP,,SAVE !保存图片,默认为ANSYS工作目录
实现压装力与位移的数据输出的宏文件如图3所示。完成了APDL结果文件输出后,需要通过VC++程序实现对结果的调用读取,主要包括接触力图片与压装力位移曲线的读取。其中压装力位移曲线需根据APDL输出的压装力与位移数据结果,利用OpenGL绘制曲线。
图3 压装力、位移数据生成宏文件
1.3 人机交互界面设计
发动机压装类型具有多样性如碗型塞、气门导管、连杆衬套压装等。这一系列的压装类型在模型建立中均采用组合厚壁圆筒简化模型,但对被压件模型建立中存在中通孔与不通圆筒的区别例如碗型塞与衬套的区别。根据模型建立的区别,此模型将发动机压装类型归为两类:碗型塞与连杆衬套类。利用对话框作为人机交互界面,对分析类型进行选择并进入相应的系统界面,类型选择界面如图4所示。
图4 类型选择界面
发动机压装仿真计算系统是结合ANSYS软件二次开发模块,利用面向对象性的开发设计语言VC++,开发的人机交互性强并具备数据后处理功能的模拟分析系统。该系统适用于大多数类型的发动机压装如碗型塞、气门导管、连杆衬套等压装模拟仿真的计算。
2.1 参数设定
在人机交互界面选择相应的分析类型之后,首先确定压装的APDL文件存储位置、ANSYS安装路径以及分析结果存储路径。完成设定后,模型的参数化建模分析需要对APDL文件中相关的几何参数、物理参数以及工艺参数进行定义。工艺参数包括:过盈量、摩擦系数和结合长度。进行计算之前可以对输入的数据进行再次修改、添加和删除操作,以保证输入正确的参数。参数设定如图5所示。
图5 参数设定界面
2.2 运行求解及后处理
工程技术人员在完成分析结果存储位置以及参数设定之后,系统自动进行后台的建模和分析计算。最后得到计算结果文件,供用户进行后处理和结果分析。该系统的开发主要是为得到发动机压装中所需的最大压装力大小和压装过程中压装力与位移的曲线。因此,后处理界面主要包括包括接触压力云图、压装力以及F-S曲线显示界面。另外,后处理部分还具有校核的功能,在F-S曲线显示界面中存在着理论计算压装力,用于对仿真结果进行验证。该系统还具有良好的可移植性,不依赖于特定的硬件设备,只要能安装ANSYS和VC++6.0的硬件环境都能使用,保证程序使用的广泛性。
3.1 有限元分析
为了验证此系统可靠性,以发动机连杆衬套压装为例,对系统分析计算结果从理论上进行验证。研究中连杆小头衬套的几何参数、物理参数与工艺参数如表1所示,其中结合长度是仿真中对被压件施加位移载荷[8]。系统对连杆衬套压装APDL文件路径定义之后,在参数设定界面如图5设置相应的参数,对APDL文件中参数重定义。
完成相关设置后,系统后台调用运行ANSYS求解。图6,7是压装模拟分析后的接触力云图与压力与位移曲线。
表1 参数设置
图6 接触力云图
图7 F-S曲线
3.2 理论分析
连杆小头衬套可以简化为组合厚壁圆筒进行分析[9],则其理论分析模型如图8所示。图中d为衬套内径,d1为衬套外径,d2为小头外径。由于两者属于过盈装配,衬套在装配过程中产生一个收缩量δ1,小头孔内径产生一个膨胀量δ2。
图8 理论分析模型
由文献[10]中圆柱面过盈连接计算得压入力F=Pf·π·d1·h·μ式中h压入量,μ为摩擦系数。代入已知量为h=17mm,得压入力为F=7185.97N。
3.3 结果分析
实际压装,装配状态是从不接触到接触的过程。仿真中为便于过盈量设置,将连杆与衬套设置初始接触长度设置为2mm。由图6可知接触压力介于22.535-26.1813MPa之间,与理论计算值20.92MPa相差不大,说明结果是可靠的。但从图6中可以看出接触力大小沿着轴向存在一定变化,在边缘处达到最大,这是由于长度不相等的过盈联接存在边缘效应。边缘应力的数值大大地高于弹性力学的解,边缘应力集中直接影响联接的强度和寿命[6]。从图7中得到压装力为2006N,由于仿真所用模型为实际模型的1/4,所以实际压装力应是所求的4倍即为8024.073N,与理论计算7185.97近似。综上可知有限元方法进行连杆衬套压装仿真计算结果可靠,而对于接触压力计算,更充分考虑边缘应力集中的影响,比弹性力学方法更优越。
由于非标件压装机生产商,在进行压装机设计生产时,对压装过程中所需的压装力的确定一般是经验确定,往往出现压装力估算过小情况的发生,直接导致压装执行件选型过小,而影响正常压装的完成。而该系统可以对压装中的压装力进行相关计算,为设计与执行件选型提供一定参考,避免了因压装力估算太小导致的返工更改以及执行件重新选型安装,而造成成本和劳动量的增大。
本文研究了基于VC++的ANSYS二次开发,实现了对ANSYS发动机压装仿真参数化设计语言APDL的封装。利用APDL编程语言,实现了发动机压装仿真中模型建立、网格划分、接触对设置、载荷施加以及分析结果输出的功能。结合VC++面向对象设计的对话框编程技术,实现了仿真分析中参数重定义、ANSYS后台调用、求解结束提醒以及结果读取的功能。此系统适用于非标件压装机生产商,在压装机设计中对压装力进行计算,实现设计效率的提高和劳动量的减小,方便了不熟悉ANSYS和有限元软件的工程技术人员的正确使用。
[1] 卢连生.影响制动盘压装曲线的因素及压装曲线对最终连接力的影响[J]. 铁道机车车辆, 2002,(S1):85-87,107.
[2] 冯伟, 周新聪, 严新平, 等. 基于有限元方法的衬套装配仿真实现[J]. 机械制造, 2004(7): 17-18.
[3] Sogalad I, Udupa N G S. A comparative study of stress distribution in interference fitted assemblies[J]. INDIAN JOURNAL OF ENGINEERING AND MATERIALS SCIENCES, 2006, 13(5): 397.
[4] Jia D, Li T. Simulation and experiment on interference fit between small head of connecting rod and bush[C]//Consumer Electronics, Communications and Networks (CECNet), 2011 International Conference on. IEEE, 2011: 706-709.
[5] 陈纬, 赵霞. 辊道装配过盈配合有限元分析[J]. 机械工程与自动化, 2011(2): 93-95.
[6] 魏延刚. 轴毂过盈联接的应力分析和接触边缘效应[J].机械设计, 2004, 21(1): 36-39.
[7] 博弈创作室.APDL参数化有限元分析技术及其应用实例[M].北京:中国水利水电出版社,2004.
[8] 魏延刚, 宋亚昕. 机车轮对压装过程弹塑性模拟[J]. 机械设计, 2004, 21(9): 46-48.
[9] 徐秉业,刘信声.应用弹塑性力学[M]. 北京:清华大学出版社,1995.
[10] 阎邦椿.机械设计手册 (第五版)[M]. 北京:机械工业出版社, 2010.
(编辑 赵蓉)
The Simulation System of Engine Press-fit Based on VC++ and ANSYS
PAN Yun-long,GAO Wei-qiang,YAN Qiu-sheng,GONG Guo-ji
(School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006,China)
In this paper, the simulation system of engine press-fit based on VC++ and ANSYS was studied, the VC++ programming techniques and the parametric design language APDL of the finite element analysis software ANSYS were combined, the ANSYS secondary development was done by using VC++ and ANSYS software interface functions and VC++ files on APDL packaging technology. Finally the simulation systems of engine press-fit was developed. The finite element method was used to improve accuracy of the calculation of the contact force and press fitting force of the engine press-fit. It is facilitate to redefine the parameters in the APDL file in the system and it can realize the ANSYS Background call and the correct reading of the analysis results, the entire process of finite element analysis is simplified. The requirement that engineering and technical personnel should be familiar with ANSYS is reduced.
VC++;ANSYS;pressure mounted engine;APDL;finite element method
1001-2265(2014)04-0097-04
10.13462/j.cnki.mmtamt.2014.04.026
2013-08-19;
2013-09-10
广东省部产学研结合项目重点项目(2011A090200026);广东省数控一代项目 (2012B011300046);广东省教育部产学研结合项目 (2012B091100023)
潘云龙(1988—),男,安徽舒城人,广东工业大学硕士研究生,主要研究方向为CAD/CAE/CAM技术;(E-mail)IFLYTOBLUESKY@163.com; 阎秋生(1962—),男,山西临汾人,广东工业大学教授,博士生导师,主要研究方向先进加工技术及自动化。
TH166;TG65
A