李 亮,徐 俊,胡 甫,马 立,王福荣,李江斌
(洛阳轴承研究所有限公司,河南 洛阳 471039)
目前,有限元大型软件如ANSYS、ABAQUS等已趋于成熟[1],但这些都是通用软件,适用面广,在结构优化设计和分析时,需要反复调用及前后处理,并且需要花费很多时间和精力才能熟练掌握。而适用于专业领域的软件具有很强的针对性,能有效解决实际问题,因此,开发适用于专业领域的软件具有实际意义。
随着有限元理论技术的发展,各种相应的程序也应运而生,大都采用 FORTRAN 语言[2],而不断增强的有限元软件功能,相应的程序也随之变得庞大,用结构化的编程方式实现这样的软件系统,其可重用性、可维护性和可扩充性差。而面向对象程序设计技术具有开发效率高,可靠性高,扩充性强等优点,能够解决结构化程序设计所不能解决的代码重用问题。
本文旨在进行轴承组件在不同工况下动态响应分析研究,为轴承组件结构动力优化设计及故障诊断奠定基础。借鉴过去几十年来有限元技术的发展成果,基于轴承组件有限元模型的构建,利用VC++6.0可视化语言的面向对象技术,开发了一个可以求解轴承组件动态性能分析的专用有限元程序,并进行分析与试验验证。
实现面向对象理论特性的编程语言,如C++、VB等,C++具有明显的优势,由Microsoft Visual C++是微软公司推出的C++开发工具,具有集成开发环境,可进行可视化面向对象软件开发,具有可扩充性、方便调试、运行快速及编辑简洁等显著优点,尤其是适用于复杂计算模型。因此,本文以Window 7为平台,利用VC++6.0可视化语言,开发轴承组件动态性能分析的专用有限元程序。
程序系统总体设计时,实现调用各对象功能操作,达到解答问题的目标。主要包括:
1)数据的存取和处理设计。对象分析涉及大量描述模型的数据,通过数据文件直接读入。计算分析过程完成后,按照一定的数据格式进行储存或者通过图形和数据显示直观表达分析结果。
2)用户接口及相应过程设计。面向对象方法采用消息传递的方式进,在界面发消息,程序按消息调用某个对象的操作,从而完成用户所需的功能操作,而面向对象分析是运用面向对象方法,对系统进行分析,定义这些类和对象的属性和方法,以及它们之间的结构、静态联系和动态联系。
为实现上述功能要求,一方面考虑各个功能模块之间的相对独立性,保证程序易于扩充、便于维护,另一方面着重注意各功能模块之间的接口及数据传输机制,保证程序高效运行,为此,程序系统设计三个功能模块:计算模块、数据文件模块和可视化模块,如图1所示。
图1 有限元程序模型构成框架
有限元程序系统分析前应进行前处理,前处理需要进行结构建模,即对结构各种控制信息进行处理,包括结构的边界条件、载荷工况、本构模型(材料特)及几何尺寸等基本信息。建模方法采用以文本方式输入生成数据文件,生成数据,形成有限元网格并以图形显示。主要数据:①载荷信息数据,包括动力载荷、体力、面力和集中力等;②材料数据,包括密度、泊松比、弹性模量、质量矩阵和刚度矩阵等;③单元数据,包括高斯积分点数据、单元材料数据、单元类型和单元联络性数据等;④节点数据,包括边界条件、节点位移、节点力、节点自由度和节点坐标等;⑤描述有限元分析的整体数据,如材料的种类数、维数、节点总数和单元总数等。轴承组件有限元网格模型如图2所示。
图2 轴承组件有限元网格模型
动态响应的计算结果涉及到计算可视化技术,本文采取了软件实现上比较方便的事后处理方式,就是计算过程与计算结果的可视化分成两个阶段来进行,两者之间不发生交互作用。在静力学分析的基础上编制动力学程序,利用面向对象的继承和封装两大特点,在分析类中增加相应的函数,其类及函数如下:
面向对象有限元的后处理的思想是通过程序语言来形容图形,利用计算机将数字语言转换为图形。VC++中专门设计了串行化来解决在面向对象的程序设计中对象的存储和构造困难的问题。
本文对前处理生成模型、计算程序和后处理流程中,数据文件均采用文本方式,数据的传递是通过对数据文件的打开、读取数据等操作来实现。进行后处理时,利用VC++程序语言,从计算程序输出的数据中获得需要的数据,编制绘图函数,文档串行化功能,通过一个CArchive对象(void CLiLiDoc::Serialize(CArchive&ar))来实现管理数据资料的功能,只要对串行化函数进行重载,就可容易实现图形的储存和读取。本程序在计算的过程中将每步计算的图形储存下来,执行对应的命令后在可视化图窗口中显示相应的模态、动态响应历程以及频谱分析直观图,分别如图3~5所示,在计算结束后,做成了动画再次模拟结构的动力响应过程。
图3 一阶模态振型
图4 动态响应历程
图5 频谱分析
轴承组件动态响应的面向对象有限元分析过程的直观图如图6所示。首先前处理需读入建模数据形成有限元网格模型,通过有限元计算,获得到大量的数据,然后利用程序对这些数据进行后处理,经过分析和整理,使用可视化技术,最终转换为直观的图形。
图6 动态面向对象有限元分析过程可用直观图
程序界面包括有限元应用程序主界面、计算模型界面、自振频率分析界面及动态响应分析界面等,其中动态响应分析界面如图7所示。
图7 动态响应分析界面
轴承组件轴向载荷为40N,转速为3 000r/min工况下,对支承轴顶端内环A点进行动态响应频谱分析,其结构如图8所示。
图8 轴承组件
轴承组件频谱分析计算值与试验[11]值对比,见下表。
表 轴承组件最大峰值频率试验与计算结果
结果表明,轴承组件最大振动峰值处频率的理论值,相对试验值误差为4.67%,吻合较好,验证了开发的轴承组件动态响应分析程序的可行性和正确性。
基于VC++6.0开发平台,运用有限元方法和原理,开发了基于面向对象的轴承组件动态性能分析的专用软件系统,对轴承组件支承轴顶端内环一顶点的动态性能进行了计算分析,与试验结果对比,证明了程序的可行性和正确性,为轴承组件系统的优化设计提供理论支持,具有实际意义,对其他大型有限元软件二次开发具有指导作用。