三维实体有限元可视化前处理系统开发

时间:2022-08-15 10:46:52

三维实体有限元可视化前处理系统开发

摘 要:可视化前处理系统是有限元软件的重要组成部分。文章介绍了利用Visual C++和OpenGL图形库开发简易实用的三维实体有限元前处理系统的方法,实现了快速建立三维几何模型并划分网格的功能。另外,该系统具备视图操作功能,用户可方便地查看几何模型和有限元模型。

关键词:前处理;可视化;有限元;Visual C++;OpenGL

中图分类号:TP311.51 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.04.021

Develop 3D FEM Visualized Pre-Processing System

DoNG Xin-yu, CHeN wei-zhen

(Department of Bridge Engineering, Tongji University, Shanghai 20092, China)

【Abstract】the visualized pre-processing system constitutes an important part of feM software. the way to develop a user-friendly and practical 3D feM pre-processing system with Visual C++ and openGL is introduced in the paper. Users can construct 3D geometry models and divide grids with that pre-processing system. Besides, this system has a view operation function with which users can observe geometry models and element models conveniently.

【Key words】pre-processing; Visualization; finite element; Visual C++; openGL

0 引言

对于受力复杂的结构(如预应力砼箱梁)采用三维实体单元分析计算更能真实反应结构的实际受力状态。随着计算机计算速度的不断提高,运用三维实体单元进行空间分析已经成为可能。目前,国际上流行的大型通用有限元软件,如Ansys,SUPER SUP等,都具有三维实体单元分析计算的功能。但是采用这些通用有限元软件对某些结构(如变截面预应力砼箱梁)进行三维实体单元分析,其建模过程十分繁琐,网格划分也较难控制。另外,这些通用有限元软件运用起来比较复杂,不易被一般工程技术人员所掌握。国内有限元软件起步较晚,目前还没有广泛被大家接受的能够进行三维实体单元分析的有限元软件。不过国内的高校和科研院所积累了很多有限元核心计算程序,只是这些程序(尤其是三维实体单元有限元程序)大多没有可视化的前、后处理系统,因此无法广泛推广应用。

本文提出了以Visual C++作为开发工具,利用OpenGL图形库,开发简易实用的三维实体有限元前处理系统(命名为3D-Pre)的方法。Visual C++包括了综合的微软基本类库(MFC Library),这使得开发Widows应用程序变得简单高效;提供有复杂的资源编辑器,可以编辑对话框、菜单、工具栏、图像和其他许多Windows应用程序的组成元素。OpenGL是 SGI公司开发的一套高性能计算机图形处理系统,是图形硬件的软件接口。OpenGL由数百条预封装的函数组成,用于访问和操作图形硬件所提供的各种功能。目前OpenGL已经成为开发可移植、可交互的2D和3D图形应用程序的首选环境,也是目前最广泛采用的计算机图形标准。

1 3D-Pre可视化前处理系统的内容和功能

3D-Pre是为单一截面形式结构快速生成三维实体有限元模型的可视化前处理系统,其主要内容和功能如下:

(1)拥有丰富的截面类型库,可以通过鼠标点击选择结构截面形式。

(2)根据用户输入的截面控制参数和节段节点坐标自动生成三维几何模型。

(3)通过输入横向、竖向、纵向网格划分段数自动进行网格划分。

(4)具备方便的图形操作功能,提供了10个典型的观察视图,并且可以对图形进行平移、缩放和旋转操作。

(5)可以显示单元和节点的编号。

2 3D-Pre可视化前处理系统的原理和实现技术

3D-Pre可视化前处理系统采用了一种简单实用的建立三

centerz,GLdouble upx,GLdouble upy, GLdouble upz)。其中:eyex,eyey,eyez指定视点位置;centerx,centerx,centerx指定希望视线上的任意一点,与视点一起确定视线的方向;upx,upy,upz:指定向上矢量的x、y和z坐标。

另外,通过模型变换可以实现图形平移、旋转和缩放功能。OpenGL中有三个用于模型变换的函数,glTranslate*()、glRotate*()和glScale*(),他们分别通过平移、旋转和缩放来操作一个指定的对象。利用模型变换函数并结合鼠标事件,可以实现以下功能:

当按下鼠标左键时图形跟随鼠标平移;

当按下鼠标右键是图形跟随鼠标旋转;

当转动滚轮时图形产生缩放。

3 结 论

本文以Visual C++作为开发工具,利用OpenGL图形库,开发出了简易实用的三维实体有限元可视化前处理系统,该前处理系统在建立几何模型时方便快捷,更加面向用户,在划分网格时实现了横向、竖向、纵向网格划分的可控性,并且该前处理系统具备良好的三维图形显示功能,使用户可以直观地观察到所建的模型。

上一篇:技术研讨落下帷幕 精彩影片持续征集 下一篇:教养经验的分享