移动式压力容器广泛应用于石油和化学工业、航天航空工业、医疗等领域,常用来运输易燃、易爆、有毒的液化气体、低温气体、压缩气体等介质[1]。与固定式容器不同,移动式压力容器在设计时需要考虑的载荷不仅包括压力载荷,还包括在运输中发生加减速、颠簸、转弯等情况时产生的惯性力载荷[2]。为保证容器承载和运输的安全可靠,同时考虑到经济性需求,目前多运用有限元法进行强度计算。在运用有限元法对容器进行分析时,既要满足模型简化和载荷等效的合理性,又要保证应力评定方法的可靠性,从而确保计算结果的准确性[3-4]。
ANSYS是常用的一种有限元分析软件,它可以解决热、电、磁、流体、结构、声学等各类复杂的工程问题,广泛应用于机械、化工、航天、土木、热工等工程工业领域[5]。ANSYS主要有两种操作方式,即图形用户界面(GUI)点选方式和命令方式。GUI点选方式比较直观、容易学习,但是对复杂的原模型进行修改的过程十分繁琐;命令方式通过输入命令流实现后台操作,如输入自带的ANSYS参数化设计语言(APDL)完成命令。针对相似的一系列模型,使用APDL进行参数化建模和分析会大幅提高工作效率,但熟练掌握APDL语言需要长期的经验积累和对软件的深入学习,同时需要具备数学、力学、有限元法等知识背景,对一般工程人员而言难度较大,使得ANSYS的应用在很大程度上受到限制[6]。此外,关于移动式压力容器有限元法强度计算的研究多集中于罐体的结构优化和改进[7-8],少有对于便捷高效的分析方法的研究。然而实际工程中常常会遇到同时设计多台容器的情况,这时不论是GUI方式还是命令方式,对每台容器分别进行分析设计的步骤都比较复杂;如果要对容器结构进行改进,又需要不断建立模型或者修改APDL命令进行计算以得到理想的结果,大大降低了工作效率。
针对有限元软件使用门槛高、分析效率低的问题,本文以运输半挂车罐体为例,开发了基于可视化程序设计语言Visual Basic(VB)和APDL二次开发技术的移动式压力容器罐体强度计算软件,实现了ANSYS的自动参数化建模、求解和分析,大幅降低了软件的使用难度,提高了强度分析的效率。
1 程序流程及主要功能 1.1 程序流程APDL二次开发技术是指利用APDL语言实现ANSYS分析全过程的参数化和自动化,即在ANSYS中通过调用包含APDL命令流的宏文件,自动进行定义单元类型和材料属性、建立模型、划分网格、施加载荷约束、进行求解和查看后处理结果等分析过程[9]。基于VB对ANSYS进行二次开发,实际上就是利用VB实现ANSYS的APDL二次开发技术的可视化[10]。首先用户在VB开发的界面设置项目名称和路径,输入强度计算所需的工艺、材料和结构等数据并选择载荷工况后,程序依据输入数据自动生成多个APDL命令流文件并调用ANSYS进行后台计算;然后ANSYS在运行过程中按一定顺序读取命令流文件,当所有命令流文件读取完成后,程序自动关闭ANSYS软件并生成结果文件;最后由VB读取语句将用户所选校核部位的图片与数据结果输出于用户界面。若数据结果不理想,则返回数据界面进行改动并重新计算直至满足强度要求。开发程序的基本流程如图 1所示。
以典型的移动式压力容器——半挂车的罐体为例进行程序开发,罐体模型结构如图 2所示。图 3所示是利用VB开发的罐体强度计算软件主菜单,由“文件操作”、“设计数据”、“计算运行”和“结果分析”4个功能菜单组成。主菜单内的“ANSYS启动设置”用于设置ANSYS软件的启动路径,以便自动调用ANSYS进行分析;“ANSYS项目设置”用于自定义ANSYS项目名称和工作路径,ANSYS分析产生的相关文件和软件生成的命令流文件等均存放于该路径。
“文件操作”菜单用于打开或保存软件内用户输入的设计数据,由于设计数据较多,这一功能不仅能节省对同一问题进行多次计算时输入数据的时间,也便于检查和修改数据。
“设计数据”菜单项主要用于输入设计参数,由“工艺参数”、“筒体及封头”、“牵引座”、“V型支座”和“接管”等几部分子窗口构成,其中“接管”界面如图 4所示。输入参数并点击“参数输入完毕,生成命令”按钮,软件便会在工作路径中生成模型命令流文件。
利用“计算运行”子菜单可以根据需要选择相应的载荷工况,如4种运输工况、液压试验工况和外压工况等[2],点选之后软件便自动生成加载、求解和后处理等步骤的命令流文件并存放于工作路径,计算完成后在工作路径中生成结果文件(*.rst)、输出文件(*.txt)、应力强度数据文件(*.txt)和图片文件(*.jpg)等。
“结果分析”菜单项如图 5所示。首先用户根据计算完成情况选择需要进行强度校核的工况,然后软件从工作路径中提取该工况的计算结果文件和图形文件,之后用户便可查看整体和筒体、封头、牵引座、V座、接管等关键部位的应力云图和强度校核结果,并与许用值进行比对;若校核结果不合格,该栏结果用红色标出,用户只需在“设计数据”菜单修改不合格部位的厚度或改变结构尺寸便可重新计算,节省了修改模型的时间。用户通过该界面可以得到满足罐体强度计算要求的基本数据,如果需要深入分析,也可以打开保存在工作路径中的Jobname.db文件。
实现半挂车罐体强度计算的参数化建模和分析的核心,是将VB开发的用户界面中输入的参数和点选操作转化为ANSYS可直接读取的APDL命令流文件。ANSYS可以直接读取的命令流文件包括日志文件(*.log)、文本文件(*.txt)及宏文件(*.inp)等,本文程序所生成的命令流文件格式为*.txt。
本文程序的重点和难点是实现所有模型的参数化,主要在熟练使用ANSYS的GUI操作和APDL语言的基础上,根据半挂车罐体强度计算的模型,利用修改GUI模型生成的*.log文件和编写APDL语言相结合的方式来得到参数化模型的APDL命令流。模型中点、线、面、体的选择和修改通过坐标及模型间的依附关系来完成,并利用APDL中的数组和循环语句对相似的零部件进行建模和加载来减少工作量。
得到完整的参数化模型命令流后,需要借助VB语句在工作路径中自动生成*.txt格式的命令流文件。以建立接管部分为例,在VB中生成命令流文件的代码为
Open Save.Jobdir.Path & "\\" & Main.Jobname.Text & "- model.txt" For Output As #1
//在工作路径中新建空文档Jobname-model.txt用于输出模型命令流文件
……
Print #1, "jgnum="; Jgnum.Text
//定义接管个数
Print #1, "*DIM, JG, ARRAY, "; Jgnum.Text; ", 6, , "
Print #1, "/INPUT, "; Main.Jobname.Text; "-VREAD, txt, , 1, 0"
//读取接管数组文件Jobname-VREAD.txt并存入数组JG
Print #1, "*DO, i, 1, jgnum"
Print #1, "jgn=JG(i, 1)"
//定义接管i内径
Print #1, "jgw=JG(i, 2)"
//定义接管i外径
Print #1, "jgh=JG(i, 3)"
//定义接管i高度
Print #1, "jgwh=JG(i, 4)"
//定义接管i外伸高度
Print #1, "jgjd=JG(i, 5)"
//定义接管i环向角度
Print #1, "jgx=JG(i, 6)"
//定义接管i轴向坐标
Print #1, "WPCSYS, -1, 0"
Print #1, "CSYS, 4"
Print #1, "WPROT, 0, -90+jgjd"
Print #1, "WPOFF, jgx, 0, 0"
Print #1, "CYLIND, jgn/2, jgw/2, r+tthd/2+jgwh-jgh, r+tthd/2+jgwh, 0, 360, "
//建立接管i模型
Print #1, "*ENDDO "
……
Close #1
程序在运行过程中生成多个APDL命令流文件,包括主命令流文件、模型命令流文件、加载和求解命令流文件、后处理命令流文件、输出图片命令流文件和输出数据命令流文件等。主命令流用于在ANSYS中通过/INPUT命令读取其他命令流文件;模型命令流用于定义参数并赋值,建立有限元模型,定义单元类型、材料属性、划分网格等;加载和求解命令流用于设置模型边界条件、载荷工况和求解命令;后处理命令流用于设置图片的角度和背景颜色、选择组件、读取输出图片命令流文件、用*GET命令提取应力强度值并存入数组;输出图片命令流利用/SHOW命令设置图片尺寸并在工作路径中存储各组件的应力强度计算结果云图[11];输出数据命令流用于将提取出来的应力强度数组保存在工作路径中。各命令流的关系如图 6所示。
所有命令流文件在工作路径中生成后,可用VB调用ANSYS进行后台计算。在VB中利用shell函数调用ANSYS进行后台批处理运算代码如下。
Dim S As Double
S=Shell (Ansysdir.Text & " -b -p ansys -dir " & Save.Jobdir.Path & " -j Jobname -i " & Save.Jobdir.Path & "\\Jobname-main.txt -o " & Save.Jobdir.Path & "\\Jobname-jieguo.txt", 1)
代码中Ansysdir.Text为ANSYS启动路径,b表示运行方式为后台批处理,p用于指定ANSYS产品代号,dir为项目工作路径,j为项目名称,i为输入的命令流文件名称,o为ANSYS输出的文件名称。
由VB调用ANSYS并完成计算后,程序在工作路径中生成应力强度图片文件和数据文件并在结果界面输出,同时按照JB 4732—1995[12]计算出每种材料的应力许用值,并与实际值比较来判断校核结果是否合格。其中,在VB中调取图片结果的代码如下。
Dim m As Integer, n As Integer, a As Integer, b As Integer, c As Integer
m=Load.ListIndex
//选择工况
n=Component.ListIndex
//选择需要查看的部位
a=3*n
b=3*n+1
c=3*n+2
//定位到需要查看部位的图片编号
If Stress.ListIndex = 0 Then
//选择查看薄膜应力强度
Stress.Picture = LoadPicture(Save.Jobdir.Path & "\\Jobname-" & a & ".jpg")
//显示薄膜应力强度
End If
If Stress.ListIndex=1 Then
//选择查看上表面膜加弯应力强度
Stress.Picture=LoadPicture(Save.Jobdir.Path & "\\Jobname-" & b & ".jpg")
//显示上表面膜加弯应力强度
End If
If Stress.ListIndex=2 Then
//选择查看下表面膜加弯应力强度
Stress.Picture=LoadPicture(Save.Jobdir.Path & "\\Jobname-" & c & ".jpg")
//显示下表面膜加弯应力强度
End If
3 实例验证运用本文所开发的软件对某型号液化气体运输半挂车罐体进行仿真实例验证。该罐体设计压力为1.95 MPa,设计温度为50 ℃,盛装介质为丙烯,筒体长12 788 mm,内径2 470 mm。设备筒体材料为Q370R(正火),计算厚度11.2 mm;前球形封头材料为Q345R(正火),计算厚度6.2 mm;后椭圆封头材料为Q370R(正火),计算厚度11.7 mm;接管材料为16MnⅢ;牵引座和V座材料均为Q345R。
半挂车在刹车、转弯和颠簸等不同工况下所受的惯性力载荷可转换成4种等效静态力,即沿运动方向2倍重量的力(工况一)、沿与运动方向垂直的水平方向1倍重量的力(工况二)、沿垂直向上方向1倍重量的力(工况三)、沿垂直向下方向2倍重量的力(工况四)[2]。对受到第一种惯性力载荷的运输工况进行强度计算,其载荷工况为内压、自重和沿运动方向2倍重量惯性力的组合,其约束为在罐体的牵引座上限制除运动方向以外的所有位移自由度、在V型座底部施加全约束。该工况下软件自动生成的应力强度计算结果和校核结果如表 1所示。可以看出筒体与各部件连接处的一次局部薄膜应力强度超出了许用值(330 MPa),该值出现在筒体与V座连接处;V座与筒体连接处的一次局部薄膜应力强度超出了许用值(318.75 MPa),表明筒体与V座连接处由于结构不连续造成局部应力过大。因此需要对原设计尺寸中筒体与V座连接处垫板厚度进行改动。
在“设计参数”子菜单依次改变垫板厚度并进行计算,结果如表 2,改动前后软件自动生成的筒体与V型支座的薄膜应力强度分布云图如图 7所示。
由图 7可以看出,当垫板厚度由5 mm增加到7 mm时,筒体和V座的一次局部薄膜应力强度均小于相应的许用值,可以满足强度要求。综合考虑多种工况强度计算结果和工程实际,将该半挂车罐体结构改动为:筒体与V座连接处垫板厚度由5 mm增加到7.5 mm。
4 结论(1) 本文结合ANSYS二次开发技术与可视化编程语言VB的优点,实现了ANSYS在移动式压力容器强度分析中的自动参数化建模、求解和后处理,将复杂的分析步骤进行了封装,很大程度上降低了ANSYS有限元分析的难度并大幅节省了建模时间,实现了半挂车罐体强度的高效计算。
(2) 通过实例计算,将局部应力过大的筒体与V座连接处垫板厚度由5 mm改为7.5 mm时,半挂车罐体强度满足要求。
[1] |
周伟明, 肖学文, 辛天佐.我国移动式压力容器技术发展与展望[C]//第八届全国压力容器学术会议论文集.北京: 化学工业出版社, 2013: 37-42. ZHOU W M, XIAO X W, XIN T Z. Development and prospect of China transportable pressure vessel technology[C]//Proceedings of the 8th National Conference on Pressure Vessels. Beijing: Chemical Industry Press, 2013: 37-42. (in Chinese) |
[2] |
中华人民共和国国家质量监督检验检疫总局.移动式压力容器安全技术监察规程: TSG R0005-2011[S].北京: 中国标准出版社, 2011. General Administration of Quality Supervision, Inspection and Quarantine of the People's Republic of China. Supervision regulation on safety technology for transportable pressure vessel: TSG R0005-2011[S]. Beijing: Standards Press of China, 2011. (in Chinese) |
[3] |
蔡昌全, 李帅旗, 姚勇. 液化气体运输半挂车有限元分析及强度评定[J]. 化学工程与装备, 2013(8): 64-66. CAI C Q, LI S Q, YAO Y. Finite element analysis and strength evaluation of LNG semitrailer[J]. Chemical Engineering & Equipment, 2013(8): 64-66. (in Chinese) |
[4] |
王晓东, 惠虎. 惯性力作用下船用液化天然气储罐的应力分析[J]. 化工学报, 2015, 66(增刊2): 349-353. WANG X D, HUI H. Stress analysis of LNG storage tank for ships under inertial force[J]. CIESC Journal, 2015, 66(S2): 349-353. (in Chinese) DOI:10.11949/j.issn.0438-1157.20150719 |
[5] |
黄启斌, 杨晓翔, 邓道林. 基于VB的ANSYS二次开发及其在关节轴承结构分析中的应用[J]. 机械制造与自动化, 2015, 44(1): 149-151. HUANG Q B, YANG X X, DENG D L. Spherical plain bearing structural analysis based on VB and ANSYS secondary development[J]. Machine Building & Automation, 2015, 44(1): 149-151. (in Chinese) |
[6] |
张颖, 练章华, 周兆明, 等. 石油钻井井架安全性评价可视化软件设计[J]. 计算机仿真, 2016, 33(2): 317-321, 360. ZHANG Y, LIAN Z H, ZHOU Z M, et al. Visual software design of derrick safety evaluation[J]. Computer Simulation, 2016, 33(2): 317-321, 360. (in Chinese) DOI:10.3969/j.issn.1006-9348.2016.02.067 |
[7] |
万里平.液化气体运输罐车强度分析与防波板设计[D].北京: 北京化工大学, 2011. WAN L P. Strength analysis and anti-wave plate design of a liquefied gas tanker[D]. Beijing: Beijing University of Chemical Technology, 2011. (in Chinese) http://cdmd.cnki.com.cn/Article/CDMD-10010-1012217517.htm |
[8] |
姚志燕, 何远新, 李永泰, 等. 联运液化天然气(LNG)罐箱内容器与外壳连接结构优化设计[J]. 压力容器, 2014, 31(12): 23-30, 46. YAO Z Y, HE Y X, LI Y T, et al. Optimization design of connecting structure between inner vessel and outer jacket for mutimodal transport liquified natural gas (LNG) tank[J]. Pressure Vessel Technology, 2014, 31(12): 23-30, 46. (in Chinese) DOI:10.3969/j.issn.1001-4837.2014.12.005 |
[9] |
骆鸣. 浅谈VB在ANSYS二次开发中的应用[J]. 天津职业院校联合学报, 2006, 8(5): 53-56. LUO M. On the application of VB in the ANSYS redevelopment[J]. Journal of Tianjin Vocational Institutes, 2006, 8(5): 53-56. (in Chinese) DOI:10.3969/j.issn.1673-582X.2006.05.016 |
[10] |
刘苏苏, 陈爱军, 徐诚. 球形杀伤元侵彻明胶数值仿真系统的设计与开发[J]. 系统仿真学报, 2014, 26(8): 1869-1874. LIU S S, CHEN A J, XU C. Design and development of simulation system about spherical projectiles penetrating gelatin[J]. Journal of System Simulation, 2014, 26(8): 1869-1874. (in Chinese) |
[11] |
何慧慧, 董金善, 丁培丽, 等. 基于ANSYS与VB的螺旋板换热器CAD系统开发[J]. 现代化工, 2013, 33(2): 104-106. HE H H, DONG J S, DING P L, et al. Development of CAD system based on ANSYS and VB for spiral plate heat exchanger[J]. Modern Chemical Industry, 2013, 33(2): 104-106. (in Chinese) DOI:10.3969/j.issn.0253-4320.2013.02.028 |
[12] |
全国锅炉压力容器标准化技术委员会.钢制压力容器——分析设计标准(2005年确认): JB 4732-1995[S].北京: 中国标准出版社, 2005. China Standardization Committee on Boilers and Pressure Vessels. Steel pressure vessels-design by analysis (confirmed in 2005): JB 4732-1995[S]. Beijing: Standards Press of China, 2005. (in Chinese) |