当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于OpenGL的三维有限元模型云图显示方法技术

技术编号:21800941 阅读:18 留言:0更新日期:2019-08-07 10:58
本发明专利技术提出了一种基于OpenGL的三维有限元模型云图显示方法,针对目前有限元软件后处理可视化的空白、后处理可视化相关程序严重依赖软件平台或者系统平台、无法针对后处理显示程序进行二次开发、无法实现超大型模型的有限元模型和相关结果文件的快速显示等问题,考虑了新的大模型大数据的数据处理方式,编写了大模型数据处理和显示方式。该方法能够很有效的降低数据处理数量,能够将模型信息在显示前端降低数十倍,极大地优化了显示程序,提高了程序的稳定性、缩短了程序运行时间。

A Cloud Image Display Method for Three-dimensional Finite Element Model Based on OpenGL

【技术实现步骤摘要】
一种基于OpenGL的三维有限元模型云图显示方法
本专利技术属于计算机图形学领域,尤其涉及一种基于OpenGL的三维有限元模型云图显示方法。
技术介绍
随着航空航天技术的不断发展,各类飞行器的性能在不同领域取得突破进展。大国之间的博弈现在不仅仅是硬实力之间的博弈。强度校核对于复合材料结构设计甚至整个飞行器的设计都是至关重要的。合适、便捷、准确的有限元处理软件可以大大缩短设计历程,提高设计精度,降低设计成本。为满足其在服役过程中对速度的要求并配合它的各项军事战略优势技能,其外部结构要满足比一般民用飞行器更高的力学性能。会面临许多严酷复杂的工况,受到气动载荷、声/热载荷等环境载荷的联合作用,严重威胁着结构的完整性、可靠性和使用寿命。但是,现在国内各大高校和科研院所使用的有限元软件大多为国外进口的有限元软件,这不仅仅会对我国信息安全带来一定的风险,同时也因为很少有有限元软件会对用户开放程序使用户可以进行软件二次开发。索引,这在一定程度上也限制国内机械工程动力学的发展。但是,现有的极少数的基于OpenGL的显示方法大多是针对单一单元或者少量的多单元。现在很少有人涉及到大数据多单元的有限元后处理显示内容。但是,当传统的方法遇到大数据时,不仅仅会提高程序的不稳定性,也会提高程序的运行时间,严重影响客户端的使用性能。同时,也会因为方法不高级到来计算机硬件升级的成本。
技术实现思路
专利技术目的:针对以上问题,本专利技术提供一种基于OpenGL的三维有限元模型云图显示方法,解决了目前在有限元软件二次开发后处理中处理大数据时的效率和程序稳定性等问题。降低了程序的运行和维护成本。技术方案:为实现本专利技术的目的,本专利技术所采用的技术方案是:一种基于OpenGL的三维有限元模型云图显示方法,该包括以下步骤:(1)针对hypermesh有限元软件输出的有限元模型文件、有限元模型对应工况计算完成的计算结果文件进行模型信息快速读取:检查模型文件、运算结果文件的格式和信息完整性。调用位置检测函数实现对于文件位置进行检测,如果选定文件目录下没有模型以及计算结果文件,将会返回错误信息。遍历模型文件,得到六面体单元、三棱柱单元、四面体单元、三角形单元、RBE2单元、梁单元、杆单元的个数信息、节点个数信息。对有限元文件中的节点编号按照从小到大排列,按照遍历得到的单元个数信息以及节点个数信息进行相关数组的建立。分别建立功能单元数组、节点数组,节点数组用来存放组成单元的节点对应的节点编号、节点位置信息和颜色信息,单元数组存放单元的编号和组成单元的节点编号。遍历文件,根据关键词(GRID、CHEXA、CPENTA、CQUAD4、CTRIA3、CBAR、CBEAM、RBE2、CTETRA)完成对于组成单元的节点的编号和节点位置信息的读取,并且进行存储。使用循环函数完成对组成模型的所有的单元的节点的编号和节点位置信息进行读取并存储,上述关键词所代表的含义指的是不同的单元类型。并将不同单元对应的节点数组直接存入缓冲区同时得到模型坐标信息的极值,这里极值指的是节点位置信息的X、Y、Z三个方向的最大值和最小值,对模型节点的位置信息和颜色信息进行归一化处理,便于后续的显示。(2)针对hypermesh有限元软件输出的有限元模型文件、有限元模型对应工况计算完成的计算结果文件进行数据优化显示:传统显示方法需要对模型文件和结果文件进行数据扩存,这样不仅仅是影响显示效率,还对增加对计算机硬件的要求。本专利技术将针对六面体单元、四面体单元、三棱柱单元等三种单元进行数据优化显示。数据优化的核心是建立数据索引数组。节点数组主要有两维:节点的空间位置信息(X、Y、Z)、节点的颜色信息,该颜色信息与计算结果的物理场相对应的值有关。索引数组建立的前提为:有限元模型文件中的节点编号是按照从小到大顺序排列的。这是索引数组中的节点编号和缓冲区中的节点能够对应的基础。并且,可以根据有限元软件模型的命令直接对文件中的节点编号是按照从小到大顺序排列。数据优化的流程是:首先,在节点编号连续的有限元模型文件中根据关键词(GRID、CHEXA、CPENTA、CQUAD4、CTRIA3、CBAR、CBEAM、RBE2、CTETRA)完成对于组成单元的节点的编号和节点位置信息的读取。而且,节点信息是根据节点编号按照从小到大顺序读取的。其中,节点编号按照从小到大排列可以在有限元软件中通过命令实现;其次,判断当前模型显示要求,显示要求有两个:云图显示模式和模型显示模式。在模型显示的模式下,基本图元是线段。显示目的是显示模型的几何结构信息。索引,显示信息统一赋值为{0,0,1},也就是标准蓝色。在云图显示模式下,显示的要求是完成对于相关应力场数值的可视化。颜色信息为节点上对应场的数值,经过归一化之后成为颜色信息。将节点数组存入缓冲区,此时不进行节点重排,也不进行数据扩存,存入缓冲区的数组即为有限元模型文件中所提取的节点数组数据。在模型显示模式下,绘图的基本图元是线段,需要识别出需要显示构建诸如六面体单元、四面体单元、三棱柱单元等单元所需要的最少线段序列,将组成线段的两个节点代替线段序列中的线段,即可得到节点重排序列。将上述节点序列对应的节点编号存入索引数组,即可完成索引数组的建立。此时索引数组中存入的是按照绘图单元重新排列的节点编号,由于节点编号是从小到大连续排列,因此索引数组中的节点标号即为该节点在缓冲区中的位置,可以实现调用缓冲区数组的功能,因此不用进行数据扩存。在云图显示的模式下,绘图的基本图元是三角形。在建立索引数组之前,需要识别出诸如六面体单元、四面体单元、三棱柱单元等的组成面序列。在有限元模型中,单元的组成面有两种情况:三角形、矩形。对于三角形组成面而言,组成面的三个节点刚好满足三角形图元的绘图需求。对于矩形组成面而言,需要对其按照对角线进行划分,划分成两个三角形,即一个矩形有两个三角形图元组成。因此,将单元的面序列中的面使用三角形图元替代后,得到三角形基本图元序列,再将三角形基本图元序列中的三角形图元用其组成的节点代替,即可得到节点重排序列,将此节点序列对应的节点编号存入索引数组,即可完成索引数组的建立。此时索引数组中存入的是按照绘图单元重新排列的节点编号,由于节点编号是从小到大连续排列,因此索引数组中的节点标号即为该节点在缓冲区中的位置,可以实现调用缓冲区数组的功能,因此不用进行数据扩存。在绘图时,通过调用建立好的索引数组,读取索引数组中节点编号,从缓冲区中读取节点信息即可完成索引绘图。六面体单元的优化显示方法:图1为六面体单元示意图,常见的组成模式为G1-G8等8个节点组成的有限元模型。在模型文件中可以读到六面体单元、三棱柱单元、四面体单元、三角形单元、RBE2单元、梁单元、杆单元的个数信息、节点个数信息、单元的节点组成、节点的坐标信息。模型显示状态下:在传统方法中,在显示模型前需要对节点数组进行扩存。数据处理前坐标信息为G1-G8,其中排列顺序为:G1、G2、G3、G4、G5、G6、G7、G8。其中,每一个点包含二维数据,分别是模型节点坐标信息、节点颜色信息,颜色信息统一赋值为{0,0,1},也就是标准蓝色。六面图单元的轮廓线段序列一共有12条,将轮廓线段序列使用其端点节点代替之后得到扩存之后的本文档来自技高网...

【技术保护点】
1.一种基于OpenGL的三维有限元模型云图显示方法,其特征在于,该方法包括以下步骤:(1)根据有限元模型文件、有限元模型对应工况计算完成的计算结果文件进行模型信息读取;(2)选择不同的显示模式,对有限元模型的单元节点进行重新排列,并将重新排列的节点存入索引数组中;(3)根据不同的显示模式,从索引数组中选择节点信息绘制有限元模型图。

【技术特征摘要】
1.一种基于OpenGL的三维有限元模型云图显示方法,其特征在于,该方法包括以下步骤:(1)根据有限元模型文件、有限元模型对应工况计算完成的计算结果文件进行模型信息读取;(2)选择不同的显示模式,对有限元模型的单元节点进行重新排列,并将重新排列的节点存入索引数组中;(3)根据不同的显示模式,从索引数组中选择节点信息绘制有限元模型图。2.根据权利要求1所述的一种基于OpenGL的三维有限元模型云图显示方法,其特征在于,所述显示模式包括模型显示模式和云图显示模式。3.根据权利要求1或2所述的一种基于OpenGL的三维有限元模型云图显示方法,其特征在于,步骤(1)中模型信息读取的方法如下:(1.1)检查有限元模型文件、运算结果文件的格式和信息是否完整;(1.2)调用位置检测函数实现对于文件位置进行检测,如果选定文件目录下没有模型以及计算结果文件,将会返回错误信息;(1.3)对有限元文件中的节点编号按照从小到大排列,按照遍历得到的单元个数信息以及节点个数信息并存储在单元数组和节点数组中,并将节点数组数据存储在缓冲区中;(1.4)选择节点位置信息的X、Y、Z三个方向的最大值和最小值作为模型坐标信息的极值,其极大值与极小值的差即为坐标信息的幅值;节点对应物理场的最大值和最小值作为颜色信息的极值,其极大值与极小值的差即为颜色信息的幅值,节点对应的位置信息和颜色信息分别除以其位置信息和颜色信息的幅值,即可完成模型节点的位置信息和颜色信息进行归一化处理。4.根据权利要求3所述的一种基于OpenGL的三维有限元模型云图显示方法,其...

【专利技术属性】
技术研发人员:刘子昂何东泽李彦斌费庆国廖涛
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1