APP下载

烟囱在地震作用下可视化仿真系统开发

2012-09-27詹君宇王子茹

水利与建筑工程学报 2012年2期
关键词:烟囱云图绘制

詹君宇,王子茹

(大连理工大学建设工程学部,辽宁大连116024)

烟囱属于特种结构的一种,是工业建筑尤其是火电厂建筑中的重要构筑物[1]。目前国内外主要通过结构动力试验[2]、借助大型专业结构计算分析软件进行模拟分析[3]等手段对烟囱地震作用反应问题进行研究,而对烟囱结构的地震反应及其破坏机理、复杂的动态过程用可视化仿真的方法表达目前尚不多见。

本文针对不同烟囱结构模型,在ANSYS中产生的大量抽象数据,应用可视化仿真技术,利用ANSYS软件中编写的命令流,参数化主要命令流指令,并在程序中映射相应的菜单编辑框数据,生成互动的地震分析命令流文件,嵌入OpenGL图形库,完成操作快捷的可视化程序系统[4-5]。通过读取不同工况下ANSYS计算结果文件,实时模拟生成各种工况下的三维动态的图形图像,给研究人员提供在地震作用下引起的烟囱结构的破坏形式、破坏机理和结构的易断裂部位等直观信息;同时,避免了传统的模型试验缺乏直观性,专业性过强,操作费时费力等问题,这对研究烟囱结构的抗震设计、预防震害、后期运营管理具有重要意义。

1 系统设计

1.1 开发工具

本系统基于Windows操作平台,采用VC++的MFC程序框架,融合OpenGL技术,通过定义颜色模型、光照模型、材质、纹理贴图,完成三维烟囱变形前的造型显示;结合ANSYS数据文件,通过数据读取和处理,结合OpenGL函数,在VC环境下进行程序的编制,实现烟囱在地震作用下多项特征的可视化仿真。

1.2 系统结构

烟囱地震作用可视化仿真系统结构如图1所示。系统的总体功能是:对不同烟囱结构进行参数化建模,完成其在不同工况下的地震作用结构动力特性的可视化仿真。该系统主要由模型输入模块、计算及数据采集处理模块、可视化显示模块组成,且每一模块均有子模块。其中可视化显示模块中结构变形仿真能清晰观察到结构物整体变形趋势及变形最大位置;应力云图则直观显示结构物动应力最大处的位置,便于对烟囱易断裂部位做出准确判断;动画仿真模块则更加具体和直观的显示了结构变形的过程,可以据此进一步对结构物在不同震害作用下变化趋势情况做出对比分析及归纳总结。

图1 可视化仿真系统结构图

2 基于OpenGL的可视化仿真

2.1 模型输入

模型输入模块主要由框架建立、特征值建立、模型的绘制三个模块组成。模型的绘制通过调用OpenGL图形库函数来实现。逐一构造外表面、内表面、顶面圆环和底面圆环,最终完成参数化建模,图2为底面尺寸参数对话框视图(其它参数对话框类似)。

图2 底面尺寸对话框

本文模型的绘制方法:首先采用读取ANSYS节点数据文件,对数据文件进行编程处理,得到建模所需格式的标准文件[6];其次在VC环境下,读取标准格式文件,结合OpenGL图形库,由点及面,由面形成体来进行三维模型参数化绘制。最后,对实体材质、光照、颜色等进行设置和处理,实现真实感造型显示。

2.2 模型计算

根据《烟囱设计规范》[7],参照在大连理工大学抗震实验室进行的高大烟囱结构动力试验模型,结合对独立烟囱高度、筒壁厚度和坡度的构造要求,确定了两组典型烟囱的结构计算模型,分别为混凝土烟囱和砖烟囱。

模型的计算是在结构计算软件ANSYS中进行,烟囱筒壁采用45号单元建模,地震作用的分析采用时程分析法,选取美国Elcentro1940地震波和按设计反应谱拟合人工地震波,用有限单元法进行结构动力分析。弹性结构振动方程的基本形式为:

式中:[M]、[C]、[K]分别代表结构的质量阵、阻尼阵和刚度阵;{u}为结构位移量;{F}为外部激励,本文即为地震激励作用。得出计算结果,根据各工况第一主应力灰度图可以绘制在各工况下烟囱在地震动应力随高度变化曲线图。图3为钢筋混凝土烟囱在Elcentro1940地震波作用下结构应力随高度变化应力图。由图3可知,ANSYS计算结果曲线和实验结果曲线基本吻合,说明数值分析结果和试验结果具有一致性。

图3 钢筋混凝土烟囱在Elcentro1940地震波作用下应力随高度变化曲线图

2.3 数据采集及整理

数据采集整理模块主要由两部分组成:数据读取和数据分类整理。

数据读取来源是ANSYS地震时程分析后的三维散乱点。首先定义全局变量数组用于读入三维点数据,extern float node[5972][4];然后由函数fopen(“NLIST.txt”,“r”)读取ANSYS输出文件“NLIST.txt”的点数据信息。

数据分类整理是将原始的数据划分为外表面、内表面、顶面、底面四类。通过分别读取各类数据,进行不同类表面网格的构建,最终形成面,再由面绘制体模型[8-9]。以下是生成烟囱外表面数据点集合的程序,其它集合的形成同理。

2.4 可视化仿真实现

2.4.1 基本模视变换的实现

通过矩阵运算实现模型转换和视口转换:当发出一个转换命令时,程序会自动生成一个4×4阶转换矩阵,用该矩阵和当前矩阵相乘,生成一个新的当前矩阵,从而完成转换。

平移、旋转和缩放通过以下函数进行转换[10]:

void glTranslate{fd}(Type x,Type y,Type z);

void glRotate{fd}(Type angle,Type x,Type y,Type z);

void glScale{fd}(Type x,Type y,Type z);

2.4.2 应力云图的生成

彩色云图是可视化环节中至关重要的部分,是后处理系统功能的关键所在。本文在扫描线算法[11]的基础上,利用OpenGL自动插值功能,形成了四边形快速填充算法,其产生的云图具有较高的精度。具体实现由以下三个环节组成:

(1)四边形网格单元的形成。先设置OpenGL为光滑着色处理方式,然后绘制各个结构表面多边形。

(2)建立应力值与颜色的对应关系。首先建立一张基于线性变化的颜色查找表,再建立颜色与物理量(标量)之间线性的一一对应关系。算法使用OpenGL的多边形填充模式进行单元区域填充,单元内部则采用拉格朗日(Lagrange)线性插值,这样能更好地反映云图的分布情况。

(3)应力云图显示。单元内部各个空间点上的值,运用OpenGL相关函数,自动使用Lagrange线性插值填充模式,遍历所有的网格单元,完成云图的绘制。为了加速图形显示,采用双缓冲区方法,即一幅图形在显示的同时,下一幅将要显示的图形在内存中开始画。这样交替地进行就不会产生闪烁感,满足动画演示的要求。

2.4.3 动画仿真的实现

采用定时器方法[12]完成动画程序的编制。

(1)用SetTimer()函数创建一个定时器,每隔一段时间(以ms为单位)向窗口发送WMTIMER消息;

(3)在需要停止动画时,使用KillTimer()函数删除定时器。具体实施如下:

void CStepinGl3View::OnPlayPause()

{

//TODO:Add your command handler code here

{

SetTimer(1,100,NULL);

}

else

{

KillTimer(1);

}

}

void CStepinGl3View::OnUpdatePlayPause(CCmdUI*pCmdUI)

{

//TODO:Add your command update UI handler code here

}

3 实 例

工况一所示高为180 m的钢筋混凝土烟囱(见图4),上截面外径3 330 mm,上截面内径3 170mm,下截面外径9 355 mm,下截面内径8 935 mm,容重2.4 t/m3,泊松比0.17,弹模28 392 MPa,在美国Elcentro1940地震波作用下(激振为水平方向,水平加速度幅值为197.1 gal),对其结构变形及动画,结构表面应力云图,剖切面应力云图,横截面应力云图等后处理功能进行仿真模拟。

图4 烟囱模型二维图

3.1 地震作用下的烟囱图形仿真

通过结构参数菜单,打开如图2的结构尺寸对话框,通过结构参数设置及参数化编程,生成烟囱模型二维图(图4),直观显示烟囱的几何尺寸,为三维建模提供可靠的依据。

进一步的参数化编程即可得到结构三维模型。打开变形模拟菜单下拉菜单工况选择,可输入任何十九种系统已嵌入工况数据文件的工况号,得到相应工况下烟囱地震作用下的结构动力特征。此处以工况一为例,故输入“1”即可。

以下是在工况一(美国Elcentro1940地震波)作用下烟囱地震动力特征图形显示结果:

图5为烟囱的结构变形仿真显示,图6为烟囱的结构应力云图仿真显示,图7、图8分别为烟囱1号剖切面、横截面应力云图仿真显示,图9为横截面(y=1000时)壁厚查询结果显示。为分析对比研究,图10显示了ANSYS绘制的第一主应力云图。

图5 结构变形仿真

图6 结构应力云图仿真

3.2 结果显示及对比分析

在水平地震作用下,图4反映的是烟囱的变形情况,其结构顶部的位移最大。图6反映了钢筋混凝土烟囱动应力在距烟囱底部1/3处最大,往上和往下逐渐减小,而且在接近底部又略有增大,这是受烟囱底部弯矩最大的影响,说明水平地震作用能引起烟囱结构物的上部破坏。

图7 剖切面应力云图仿真

图8 横截面应力云图仿真

图9 横截面(y=1000时)壁厚查询结果显示

图7、图8反映了烟囱特定位置的形状及受力情况。为深入分析烟囱在结构易断裂面的变形及受力情况,该系统创建单截面显示模块及壁厚查询模块。通过输入截面号,程序自动将对应截面数据信息调入,显示截面云图,给出壁厚值(图9)。

图10 ANSYS生成的烟囱第一主应力彩色云图

将本系统云图显示结果(图6)与ANSYS软件显示结果(图10)进行比较,可以看出图10中有明显的不光滑痕迹,且边界出现了锯齿状,而图6不论是云图的质量还是边界的光滑度,较ANSYS绘制的云图都有很明显的提高。

4 结 语

本文将ANSYS与OpenGL有机结合,通过在ANSYS中建模,利用产生的数据文件,融合OpenGL图形技术,建立了烟囱在地震作用下可视化仿真系统,实现了在工况一(美国Elcentro1940地震波)作用下烟囱地震动力特征图形三维可视化仿真,并且与ANSYS软件显示结果进行了比较与分析。此项研究成果为烟囱减震设计、保证结构抗震性能、优化烟囱运营提供直观形象的信息支持。同时,使用VC调用OpenGL的方法研制的系统易于操作,具有很强的开放性,可以进行任何预期的动画显示及任意位置结构动力特性的可视化显示。

[1]范高杰,王子茹.套筒式烟囱CAD系统地开发[J].中国图学学报,2010,(2):18-25.

[2]朱 彤,周 晶,林 皋,等.烟囱模型动力试验研究[J].世界地震工程,2007,23(3):113-119.

[3]孙 波.烟囱在地震力作用下的动应力反应分析[D].大连:大连理工大学,2002:20-25.

[4]Donald Hearn,Pauline Baker M著.计算机图形学(第三版)[M].蔡士杰,等译.北京:电子工业出版社,2006.

[5]和平鸽工作室.OpenGL三维图形系统开发与使用技术[M].北京:清华大学出版社,2003.

[6]贾艾晨,陈 军,梁玉红.拱坝应力计算可视化研究[J].水利与建筑工程学报,2008,6(2):83-85.

[7]中华人民共和国建设部.GB50051-2002.烟囱设计规范[S].北京:中国计划出版社,2003.

[8]李冰鑫.基于OpenGL的结构微振仿真系统研究[D].大连:大连理工大学,2009:38-43.

[9]陈俊涛,肖 明,郑永兰.用OpenGL开发地下结构工程三维有限元图形系统[J].岩石力学与工程学报,2006,25(5):1015-1020.

[10]高 颖,黄罗军,许志国,等.基于OpenGL的某导弹视景仿真技术研究[J].兵工学报,2007,28(1):125-128.

[11]王德清.基于OpenGL的有限元分析数据可视化系统开发[D].武汉:武汉理工大学,2008:35-37.

[12]乔 立,苏鸿根.对MFC下使用OpenGL实现动画的两种方法特点分析[J].计算机应用与软件,2004,21(5):102-104.

猜你喜欢

烟囱云图绘制
看不见的“烟囱”
成都云图控股股份有限公司
超萌小鹿课程表
放学后
烟囱里的客房
黄强先生作品《雨后松云图》
基于TV-L1分解的红外云图超分辨率算法
为什么工厂的烟囱都很高?
云图青石板
在转变中绘制新蓝图