




已阅读5页,还剩59页未读, 继续免费阅读
(动力机械及工程专业论文)长叶片设计优化的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学硕士学位论文 摘要 国民经济的发展,促进了对电力的需求。生活质量的提高,促进 了人类对能源利用率和环境保护的重视。因而,如何低煤耗、高效发 电成为亟需解决的问题。长叶片的优化设计在提高汽轮机通流效率从 而提高机组热经济性方面作用显著。 本文主要研究长叶片的设计优化,概括了长叶片的历史发展及现 状,综述了长叶片设计的基本概念、存在的特殊问题、优化的目标、 及其具体演变过程和新的设计技术,对用于叶片优化设计的、具有独 创性的、无粘和有粘的两个流场计算程序作了概括性介绍,开发了配 套流场计算程序用的“叶片显示成形系统”软件,并应用该套程序组 合进行了实际的叶片优化设计,同时给出叶片优化效果的试验结论和 作者的进一步分析。最后对论文工作进行了小结,提出了有待继续研 究的问题及未来工作设想。 关键词:长叶片设计优化流场反动度静压m f c i n t r a 3 d o p e n g l a b s t r a c t t h e d e v e l o p m e n t o fn a t i o n a le c o n o m yb o o s t st h en e e d o f e l e c t r i cp o w e ra n dp e o p l ea t t a c hm u c hi m p o r t a n c et oe f f e c t i v e u s eo f e n e r g y a n de n v i r o n m e n tp r o t e c t i o n d u et oi n c e s s a n t p u r s u i n go fi m p r o v e dq u a l i t yo f1 i f e t h e r e f o r e ,i t i s u r g e n t t o g e n e r a t e e l e c t r i c p o w e r w i t hl o wc o a l c o n s u m i n ga n dh i g h e f f i c i e n c y o p t i m i z e dd e s i g n o f l o n g b l a d e c a n i m p r o v e f l o w e f f i c i e n c yo fs t e a mi nt u r b i n e ,s o d o e sh e a te f f i c i e n c y t h i sp a p e ri sf o c u s e do no p t i m i z e dd e s i g no fl o n g b l a d e i t o u t l i n e sl o n g b l a d e sd e v e l o p m e n th i s t o r y a n da c t u a l i t y , s u m m a r i z e sb a s i cc o n c e p t i o n 、s p e c i a lp r o b l e me x i s t e d 、a i m st o a c h i e v eb yo p t i m i z e dd e s i g n 、t e c h n o l o g ye v o l u t i o na n d n e wd e s i g n t e c h n o l o g y o f l o n g b l a d e i t a l s oi n t r o d u c e sg e n e r a l l y t w o p r o m e t h e a n 、w i t hv i s c o s i t ya n dn o n v i s c o s i t yp r o g r a m sf o rf l o w f i e l dc o m p u t i n gw h i c ha r ea p p l i e d t ol o n g b l a d e so p t i m i z e d d e s i g n i td e v e l o p s ap r o g r a mn a m e d “d i s p l a ya n ds h a p i n go f b l a d e ”w h i c ha p p li e da c c o m p a n i e dw i t ht h ef o r e g o i n gt w o ,t h e n u s e st h i ss o f t w a r es u i t et op r a c t i c eo p t i m i z e dd e s i g nf o ro l d l o n g b l a d e s 。a t t h es a m et i m e ,i tg i v e sat e s tc o n c l u s i o na n d a u t h o r sf u r t h e ra n a l y s i s i nt h ee n d ,i tm a k e s as u m m a r y 、 s u r f a c e sp r o b l e m sn e e d e du l t e r i o rs t u d y i n ga n db r i n g sf o r w a r d f u t u r ep r o s p e c t s k e yw o r d s :l o n g b l a d e o p t i m i z e dd e s i g n f l o wf i e l d r e a c t i o nd e g r e es t a t i cp r e s s u r e m f c i n t r a 3 d o p e n g l 学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了文中特别加以标注利致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的唰志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 签名:日期 关于学位沦文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所交的学位论 文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电 子文档的内容和纸质论文的内容一致。除在保密期内的保密论文外,允许论文被 查阅和借阅,可以公布( 包括刊登) 论文的全部内容或部分内容。沦文的公布( 包 括刊登) 授权东南大学研究生院办理。 签名:铷签名卿啸,j f 东南大学硕士学位论文 第一章绪论 1 1 引言 随着社会的发展进步,各行各业对电力的需求不断增长,因而对电力生产主 力设备汽轮机的安全性、经济性要求也不断地提高。现今科学技术日新月异,新 材料、新技术的应用,使得汽轮机能够并且正朝着高参数、大容量方向不断地发 展,目前单机容量己达1 5 0 0 m w ,进汽压力达2 4 1 b a r 。机组容量的增大,无论是 对电网还是机组本身而言,安全是第一位的,尤以机组运行带负荷时的安全为重 中之重。在保证机组安全可靠的前提下,现代汽轮机技术也追求机组的高经济性, 而机组通流部分设计质量的好坏则直接影响机组内效率的高低,最终影响到机组 的经济性。当机组容量增大时,就需要更多的进汽,在低压段,蒸汽容积流量剧 增。要满足这种大通流能力要求,需要增加通流面积,采用长叶片,甚至还可能 采用多缸、多分流的办法。撇开多缸、多分流不谈,长叶片气动性能的优劣是决 定机组通流效率高低的主要因素。长叶片作为汽轮机中的关键部件,其设计成为 电力设备制造及运行部门关注的焦点。 1 2 国内外研究概况 叶片增长使得径高比偏小( 即扇度大) ,d e i c h 曾经指出,这种大扇度环形叶 栅的根部损失约占叶栅总损失的3 0 5 0 ,影响其根部气动性能的主要因素是二 次流损失。其实,在长叶片的顶部,二次流损失也同样明显。而影响二次流的主 要因素是压力梯度,所以如何控制径向压力梯度和横向压力梯度,以达到减小径 向和横向二次流的强度,对于改善大扇度环形叶栅的气动性能,提高通流效率是 十分关键的。 过去的几十年,无论国内还是国外,在长叶片的设计开发上面,概括起来讲 经历了四个历史发展阶段。它的发展是建立在人类对汽轮机内部流动机理逐步深 入认识了解的基础上的,同时也是建立在解决长叶片气动问题、追求高通流效率 的基础上的。最初是基于一元流的直叶片设计,后来发展到二元流( 准三元流) 的扭叶片设计,其中又分简单径向平衡方程的自由涡设计和完全径向平衡方程的 东南大学硕士学位论文 霹控溺设计疆令主委茨雯除羧,最鬈跫全三元滤熬弩疆或瓣握设诗。在滚场方嚣, 直到如今,人们还谯做着或多或少的假设来简化流场的计算求解,主要体现在流 场数学模型的运动方程主,这必将鼯致一臻谟差。警螽,绘流场避行辘对称的祓 设,达到“降维”的目的,从而只浠求解二维流场;对流场进行无粘的假设,忽 略了粘性项,来解三维欧拉流场等等。 1 3 本文主要研究内容 棱据粥年代的统诗,我国税缀发电平均供窀潆耗为4 2 7 9 k w ,h ,丽发达国家 仅为3 0 0 3 2 0g m w h ,差距是很大的,当然这个统计可能还不包括些企业的自 备电站机缀,换句话说,这个数据还是偏傈守的。 在我国发电行她里,中小功率汽轮发嗽机组,大多采用的是从静苏联、捷克 等国引进的5 0 年代前后的技术,机组设计水平低、热经济性差,崽到9 0 年代, 中小功率辍缝设诗毅零上势无重大敬进。大型汽轮发电援级,多数是弓| 迸麓乡 公 司的技术回来消化吸收,然后制造出来的,如果技术消化不好,那就等同于仿制。 歪怒嚣为霹游国内遮行着这样酌一拯低设计水平、 螽羧率豹丈、小塑辊亟,才导 致了与发达国家这么大的煤耗差距,当然这些老的机组效率低下还与运行时间较 长脊关。为了缩小岛发达国家发电煤耗的熬距,进行老梳缀通流部分的改造势在 必行。 目前,伴随国民经济的犬发展,电力需求猛增,全国各地还在不停的上马电 厂磺基。曼终,热入 羹赛贸曩组织之嚣,燹关税壁垒载保护,重内汽轮极剿造厂 将面临国际大公司带来的、前所未有的国内市场竞争。机遇与挑战并存,要想生 存立是、甚至开拓溅努市场,耨生产辊缀懿锯纯设诗,割遗水平懿提亳翱不容缓。 自主开发有自融知识产权的先进长叶片设计程序,解决长叶片的设计难题, 提高机组的道流效率和能源稍餍率,降低环境污染,提手 我国汽轮祝的割造水平 和产品的市场竞争力,可谓经济、社会效懿兼顾,意义深遴。 汽轮机内部流动其实憝非常复杂的三元粘性可压缩不稳定流动。对于这种流 动,傲到天毂设真实渡场鳃完全模缀,裁嚣要求熬三维n a v i e r - - s t o k e s 方程,当 然这里的求解只能是结合边界条件的数值求解。我们创新性开发了求解这种粘性 誊菱场懿诗辣程亭( “攀 时片三维糕牲胃垂浚场诗冀程痔”) ,爱予时片搂滚场的详 2 东南大学硕士学位论文 细计算和叶片气动性能的精细考核。同时,还开发了求解无粘三维流场的计算程 序( “多排叶片三维欧拉可压流场计算程序”) ,用于汽轮机多排叶片或级组的联算, 当然这个程序模型是忽略汽流粘性的,所以叶片的气动性能考核最终是由损失模 型计算出来的。两个程序互相配合,后者的初步计算结果作为前者精确计算的边 界条件。 但这两个计算程序也附带来了一些困难,主要是在上述三元流场计算过程中, 数据文件的前期准备与中间调整比较麻烦。其困难集中体现在以下几个方面:计 算程序所需数据( 特别是叶片流道几何数据) 的准备及整理工作量巨大;开发出 来的叶型不能直观显示和修改;修改后的数据无法便捷地返回到数据文件中。 针对上述困难,本文作者着手开发了“叶片显示成形系统”软件,以期解决 问题。软件主框架采用单文档两视图,这样既能保证数据得到统一处理,同时又 可以一边看到数据,一边看到图形并进行交互操作。软件主要功能模块划分如下: 叶片几何数据的读写和覆盖:叶片平面显示:叶片截面形心计算;叶片局部加厚 和减薄:叶片折转;叶片立体显示:叶片多截面形心连线的显示和拖放修改;叶 片的平移,旋转和缩放:叶片子午流道的成形和截取;叶片排间距的大小调整及 显示等。 本文应用上述三个程序进行了实际的叶片优化设计( 南京汽轮电机集团有限 责任公司联合循环中压1 8 m w 汽轮机的末三级改造) ,介绍了最终的优化方案和优 化前后级的性能分析,同时给出叶片优化效果的试验结论和作者的进一步分析。 东南大学硕士学位论文 第二章长叶片的设计介绍 2 1 基本概念 长叶片,顾名思义就是叶片比较长,严格意义上讲,是指径高比臼比较小( 即 扇度比较大) ,一般隋况下认为径高比口 mb a t a a r r a y ) : c l a s sc a p p d r a w v i e w :p u b l i cs c e n e v i e w p r o t e c t e d : c a p p d r a w v ie w0 : d e c l a r i e _ d y n c r e a t e ( c a p p d r a w v i e w ) p u b l i c : c a p p d o c * g e t d o c u m e n t0 : v i r t u a lv o i di n i t s c e n e ( v o i d ) : v i r t u a lv o i dc o n t r o l a n i m a t e ( v o i d ) : p u b l i c : v i r t u a l “c a p p d r a w v i e w 0 : p u b l i c : a f x _ m s gv o i do n s e t c u r s o r ( c w n d * p w n d ,u i n tn h i t t e s t ,u i n t m e s s a g e ) : a f x _ _ m s gv o i do n a n t i a l i a s i n g ( v o i d ) : a f x _ m s gv o i do n f il e s a v e ( v o i d , ) : a f x m s gv o i do n e d i t c l e a r c o l o r ( v o i d ) : a f x _ m s gv o i do n e d i t m a t e r i a l ( v o i d ) : a f xm s gv o i do n e d i t d i r l i g h t ( v o i d ) : 东南大学硕士学位论文 b o o lc m a i n f r a m e :o n c r e a t e c l i e n t ( l p c r e a t e s t r u c tl p c s c c r e a t e c o n t e x t + p c o n t e x t ) 分裂窗嗣c a p p e d i t v i e w ,c a p p d r a w v i e w v e r i f y ( mw n d s p l i t t e r c r e a t e s t a t i c ( t h i s ,1 ,2 ) ) ; v e r i f y 如j n d s p l i t t e r c r e a t e v i e w ( 0 ,0 , r u 舯i 驸e - c l a s s ( c a p p e d i t v i e w ) ,c s i z e ( 1 0 ,1 0 ) ,p c o n t e x t ) ) : v e r i f y ( mw n d s p l i t t e r 。c r e a t e v i e w ( 0 ,l , r u n t i m 瞪l a s s ( c a p p d r a w v i e w ) ,c s i z e ( 0 ,i 0 ) ,p c o n t e x t ) ) c r e c tr e c t ; g e t w i n d o w r e c t ( & r e c t ) : m ( , ( ) 。:_wndsplitter s e t c o l u m n l n f o0r e c tw i d t hl o ) my n d s p li t t e r 。s e t c o l u m n i n f o ( 1 ,r e c t w i d t h ( ) ,i o ) : mw n d s p lit t e r r e c a l c l a y o u t ( ) : m _ w n d s p l i t t e r s e t a c t i v e p a n e ( 0 ,0 ) : r e t u r nt r u e : 4 。5 。2 嚏片特征数据簸入 本软件所处理的数据是为两个流场计算程序引用的,所以它的格式必须满足 流场计舞程序静读写要求。由予流场许算程序弱身具霄数据需求量大、数据类鍪 复杂的特点,阍时不同的计算案例,叶片排数、每排、凇径向的藏匿个数、网格轴 向站点数等都怒不一样的,因此数据文件里的数据就显得多而艇乱,常规的顺序 和随机读取数掇蛇方法变褥不霹嚣。缀过笔者轻细观察发现,通过输入特征数攥 并将其组合、采用全文搜索定能来读取需要数据,这样既可适废数据文件的弹性 又憩缣涯疆索定位豹漆确注。 在w i n d o w s 程序中,我们已经看到过并很熟悉属性表了。属性表是个很好的 界面元素。它允许我稍将大量的分类倍患归入一个小对话框,翊户通:i 曩攀击它的 选项卡来选中属性页,然后根据需要选择选项或输入数据,实现数据的收集。 本程序在实现叶片特征数稻的输入模块时采用了耩性表,通过单南页面0 ( 代 表叶片摊数) ,根据算例的不尉弹性地选择叶片的排数,按照受露0 的选择来动态 生成或删除后丽的、标号以l 开头、最大为5 的页面。每个页面提供单排叶片的 数据竣入框,蹶赛夏溪菸嗣惑一令塞体资源弱炎,只怒辩象不一# 罢了。 图4 6 是打开对话框时的照示。按钮的初始选择来源于注煅表的数据,同时 还有生成的l 6 号页面编辑禚里的数据。根据此次处理算例的需要,单击页颇0 东南大学硕士学位论文 图4 6 初次打开时的叶片特征数据输入属性表 的按钮,此例中选择了“2 ”,显示如图4 7 的对话框,赋予此图页面1 中的对话 框编辑和验证数据输入合法性的功能,同时恢复了“应用“按钮。在数据输入以 后,点击“确定”或“应用”按钮实现了数据收集而“取消”按钮则意味着放弃。 图4 7 数据输入时的叶片特征数据输入属性表 具体的为页面0 和页面l 6 设计了两个窗体资源,三个自定义消息、一个视 查塑查堂堡主堂垡笙茎 图类全局指针变量、三个类c s h e e t 、c r a d i o 和c d a t a 来实现管理数据,发送消息分 类处理的功能。在视图类里着重定义了各自的对象和消息处理函数,示意如下: c l a s sc a p p e d i t v i e w :p u b l i cc e d i t v i e w p u b l i c : c s h e e tr e _ s h e e t ; c t y p e d p t r a r r a y md a t a a r r a y ; p r o t e c t e d : a f x _ m s gl r e s u l t o n u s e r a p p l y ( w p a r a mw p a r a m ,l p a r a m 1 p a r a m ) ; a f xm s gl r e s u l to n u s e r c a n c e l ( w p a r a mw p a r a m ,l p a r a m 1 p a r a m ) ; a f xm s gl r e s u l to n u s e r n o t i 印( w p a r a mw p a r a m ,l p a r a m i p a r a m ) ; ; l r e s u i jc a p p e d i t v i e w :o n u s e r a p p l y ( w p a r a mw p a r a m ,l p a r a m1 p a r a m ) c s t r i n gs e c t i o n ; c s 缸n ge n t r y ; c s t r i n gv a l u e 0 ; c s t r i n gv a l u e l ; c h a rb u f f e r 2 0 ; i n ti j ,c o u n t ,e d i t ; c h a r + p a g e 6 = ”p a g e l ”,p a g e 2 ”,”p a g e 3 ”,”p a g e 4 “,”p a g e 5 ”,”p a g e 6 ” ; c o u n t = w p a r a m ; s e c t i o n = ”d a t ai n p u t “; e n t r y = ”p a g e 0 ”; v a l u e 0 = i t o a ( c o u n t ,b u f f e r , 10 ) ; a f x g e t a p p 0 - w r i t e p r o f i l e s t r i n g ( s e c t i o n ,e n t r y , v a l u e 0 ) ; f o r ( i = o ;i w r i t e p r o f i l e s t r i n g ( s e c t i o n ,e n t r y , v a l u e l ) ; ) ) f o r ( i :c o u n t - 1 ;= o ;i - ) ( r e _ s h e e t r e m o v e p a g e ( m _ d a t a a r r a y g e t a t ( i ) ) ; d e l e t em _ d a t a a r r a y g e t a t ( i ) ; r n d a t a a r r a y r e m o v e a t ( i ) ; ) 东南大学硕士学位论文 r e t u r n0 : 在1 6 位的w i n d o w s 程序里,无论是操作系统还是应用程序,用的是后缀为i n i 的文件来保存一些“记忆”,而3 2 位的w i n d o w s 程序则使用注册表。注册表是由 w i n d o w s 管理的一系列文件,w i n d o w s 和单独的应用程序可以在这些文件中存储 或访问永久的信息。注册表是作为一种层次式数据库来组织的,在数据库中,字 符串和整型数据通过多部件键值来访问。 m f c 库提供了c w i n a p p 成员函数来操作注册表,常用的有五个函数。集成 开发环境中的应用程序向导a p p w i z a r d 在应用程序的i n i t l n s t a n c e 函数中生成对 c w i n a p p :s e t r e g i s t r y k e y 的调用,如下所示: s e t r e g i s t r y k e y ( _ t ( “l o c a la p p w i z a r d g e n e r a t e da p p l i c a t i o n s ”) ) s e t r e g i s t r y k e y 函数的字符串参数确定了层次的最高层,如果删除这一调用, 则应用程序就不能使用注册表。其余四个函数如下: c w i n a p p :g e t p r o f i l e l m ,c w i n a p p :w r i t e p r o f i l e i n t ,c w i n a p p : g e t p r o f i l e s t r i n g ,c w i r t a p p :w r i t e p r o f i l e s t r i n g 图4 8 为本程序的注册表数据。在命令行敲击r e g e d i t 运行注册表编辑器,我 们可以看到注册表的树状结构,将其导出存储成文本文件打开就如图4 8 所示。 w i n o o w sr e g i s t r ye d i t o ru e r s i o n5 口0 h x e v _ g s e r s s 一1 5 2 1 5 8 3 9 0 7 2 5 2 4 9 2 8 9 4 2 2 8 - 1 9 5 7 9 9 4 4 8 8 - 5 0 0 3 7 7 1 w a r e 、l oa ! 一_c a p p w i z a r dg e n e r a t e dr p p l i c a t i o n s 叶片显示成彤系统i b a t ai n p u t “p a g e f 。= ”6 “ “p a g e l ”= 。8 7 82 27 1 ”p a g e 2 “= ”8 7 88s 7 ” ”p a g e 8 ”= 。8 7 82 27 1 “ “p a g e 4 ”= ”8 7 8b5 7 “ 。p a g e 5 一8 7 82 27 1 。 “p a g e 6 ”= ”8 7 885 7 ” 图4 8 注册表文件结构 本程序中采用后两个函数实现注册表信息的读写,示例语句如下: a f x g e t a p p 0 - w r i t e p r o f i l e s t r i n g ( “d a t ai n p u t ”,“p a g e 0 ”,“6 ”) ;写 v a l u e 2 a f x g e t a p p 0 - g e t p r o f i l e s t r i n g ( “d a t ai n p u t ”,“p a g e l ”) :读,结果 v a l u e 为“87 82 27 1 ” 4 5 3 多线程技术的应用 东南大学硕士学位论文 本程序处理的叶片数据量比较大,所以画图时可能花费时间较长,用户单击 界面元素如菜单、工具按钮时,用户界面就可能处于一种死锁( 长时间不响应状 态) 。使用多线程技术,将用户界面处理放在主线程中,画图的功能模块放在辅助 线程里,就可避免这样的尴尬。因为每个线程被c p u 分配一个时间片,一旦被激 活,它正常运行直到时间片耗尽而被挂起,此时,操作系统选择另一线程进行运 行。通过时间片轮转,又由于各个时间片很小( 2 0 毫秒) ,看起来就像多个线程同 时在工作。 线程可分为工作者线程( w o o e rt h r e a d ) 和用户界面线程( u s e ri n t e r f a c et h r e a d ) 两大类。前者常用于处理后台任务,用户对应用程序的使用无需等待后台任务的 完成。后者常用来独立地处理用户输入和响应用户事件。本程序添加的是工作者 辅助线程。 由于本程序采用两个视图单文档,可能出现在两个视图里对同一数据进行操 作( 因为数据是存储在文档类里面的) 的问题,从而对数据造成破坏或者出现逻 辑上错误,所以线程之间需要同步。m f c 封装了四个同步类c e v e n t 、 c c r i t i c a l s e c t i o n 、c m u t e x 、c s e m a p h o r e ,同时还提供了两个同步存取控制类 c s i n g l e l o c k 和c m u l t i l o c k ,通过它们的组合来解决同步问题。同步类的选择遵循 以下简单原则: 1 ) 应用程序在他能够存取某些资源之前,是否必须等待某个事件的发生? 如果是,则应考虑使用c e v e n t 类构造事件同步对象。 2 ) 应用程序中有个线程要访问同样的资源,但该资源同时只能被有限个线 程访问,则应考虑使用c s e m a p h o r e 类构造信号量对象。 3 ) 多个应用程序中的多个线程是否要排他地访问同一个资源? 如果是,则 应考虑使用c m u t e x 类构造互斥量对象。 4 ) 如果不是上述任一种情况,则应考虑使用c c r i t i c a l s e c t i o n 类构造临界区 对象。 本程序采用的是c c r i t i c a l s e c t i o n 类,我们必须将其作为需要保护的数据类 的成员变量,在对数据进行操作的每个成员函数里对该临界区对象引用其成员 函数l o c k ,这样生成数据安全类。当线程拥有这个类对象时,可以排它地使用 数据。 两种线程的创建有略微的差别,创建工作者线程比较简单,调用 东南大学硕士学位论文 a f x b e g i n t h r e a d 函数就行,其原型如下: c w i n t h r e a d + a f x b e g i n t h r e a d ( a f x _ t h r e a d p r o cp f n t h r e a d p r o c ,控制函数地址 l p v o i d p p a r a m ,控制函数的入口参数 i n t n p r i o r i t y , ,当前线程的优先级,默认时,为正常优先级 u i n tn s t a c k s i z e ,当前线程的栈的大小 d w o r d d w c r e a t e f l a g s ,5 前线程的创建状态 l p s e c u r i t y _ a t t r i b u t e sl p s e c u r i t y a t t r s ) ;当前线程的安全属性 线程函数( 又称控制函数) 是指在此线程中执行、完成目标功能的代码段, 本软件主要用来完成为图形显示所必须的费时计算功能。线程的终止,最好让线 程函数自行返回。 本程序的工作者线程函数t h r e a d p r o c 、线程创建启动函数a f x b e g i n t h r e a d 和 数据安全类c b l a d e 设计如下: u i n tt h r e a d p r o c ( l p v o i dp a r a m ) 调用时,以整型i n t 指针为实参调用 f i n tl i s t : 1 i s t = p a r a m ; g l c a l l l i s t ( m _ i l i s t ) : g l f l u s h 0 : r e t u r n0 : a f x b e g i n t h r e a d ( t h r e a d p r o c ,l i s t ,t h r e a d p r i o r i t y n o r m a l ,0 ,0 , n u l l ) : o l a s sc b l a d e p r i r a t e : i n tm _ i n d e x ,m _ c o u n t ,m _ b e g i n ,m e n d : d o u b l e * m _ x a r r a y ,* m _ y l a r r a y , m y 2 a r r a y ,* m _ z a r r a y : c c r i t i c a l s e c t i o nc r i t i c a l s e c t i o n : p u b l i c : c b l a d e 0 1 : c b l a d e ( i n ti n d e x ,i n tc o u n t ,i n tb e g i n ,i n te n d ) m _ i n d e x = i n d e x ;m _ c o u n t = c o u n t ;m _ b e g i n = b e g i n :m _ e n d = e n d ;) c b l a d e 0 ) : b o o ls e t d a t a ( i n ti n d e x ,i n tc o u n t ,i n t b e g i n ,i n te n d ) m _ i n d e x = i n d e x ;m _ c o u n t = c o u n t :m _ b e g i n = b e g i n :m _ e n d = e n d : v o i ds e t a r r a y0 : 东南大学硕士学位论文 v o i dd r a w ( ) v o i dc b l a d e :s e t a r r a y ( ) i n ti : i = m _ c o u n t * ( me n d m _ b e g i n + 1 ) : d o u b l e * m _ x a r r a y 2 n e wd o u b l e d o u b l e * m _ y l a r r a y = n e wd o u b l e d o u b l e * m _ y 2 a r r a y n e wd o u b l e d o u b l e * m _ z a r r a y 2 n e wd o u b l e c r i t i c a l s e c t i o n l o c k0 : r e a d d a t a 0 : c r i t i c a l s e c t i o n u n l o c k 0 ) 4 5 4 图形的存储 软件功能的完备,图形的存储也是必不可少的。许多场合还是需要叶片图形 文件的,比如在撰写优化报告、作幻灯演示的时候。于此,我们将图形存成通用 的w i n d o w s b m p 格式,以方便交流使用。 文本数据的存储已经由继承的c a p p e d i t v i e w 自动完成,而图形的存储需要自 己将m f c 自定义标准命令i d ( i d f i l e _ s a v e ) 映射到消息处理函数并编写此函数 o n f i l e s a v e o 。后文的图形就是通过存储得来。 v o i dc a p p d r a w v i e w :o n f i l e s a v e 0 c h a rb a s e dc o d ei p s z f i l t e r = ”图像文件( 女b m p ) l b m p l a l lf i l e s ( 丰半) 1 丰半1l ”: c f i l e d i a l o go p e n f i l e ( f a l s e ,n u l l ,n u l l ,0 f n h i d e r e a d o n l y i o f n _ o v e r w r i t e p r o m p t ,l p s z f i l t e r ,n u l l ) : o p e n f i l e m _ o f n 1 p s t r t i t l e = ”保存为b m p 图像”: i f ( o p e n f i l e d o m o d a l0 = = i d o k ) f c s t r i n gf i l e n a m e ,f i l e t i t l e : f i l e t i t l e = o p e n f i l e g e t f i l e t i t l e ( ) : f i l e n a m e = f i l e t i t l e + ”b m p ”: c h a rf i l e 2 5 6 : s t r c p y ( f i l e 。l p c t s t r ( f il e n a m e ) ) : 3 7 东南大学硕士学位论文 c w a i t c u r s o rw a i t : 鼠标显示等待状态 s a v e a s b m p ( f i l e ) :此函数较长,这里就不提供代码了 w a i t r e s t o r e ( ) : ) ) 4 5 5 叶片图形显示模块 图形( 软件里为跟叶片有关的点、曲线和曲面) 的绘制无疑是软件的核心之 一。图形绘制的数据来自于南京汽轮电机集团有限责任公司联合循环中压1 8 m w 汽轮机次末级动叶,沿叶高方向取8 个截面,每个截面背弧、内弧各5 0 个点。 对于点的绘制,利用底层o p e n g l a p i 函数,示例如下: g l b e g i n ( g l p o i n t s ) : f o r ( i = o :i d o t c o u n t :i + + ) d o t c o u n t 代表控制点的个数 g l v e r t e x 3 f ( x i ,y i ,z i ) :x i ,y i 等代表第i 个控制点坐标 g l e n d 0 : 而对于叶型( 即截面) 和叶片来说,问题就显得比较复杂,需要使用非均匀 有理b 样条u r b s ) 曲线和曲面,以下将作具体介绍。 o p e n g l 封装了b e z i e r 和n u r b s 两种曲线曲面的绘制方法。由于b e z i e r 曲线 控制点的个数与方程阶数密切相关,如果控制点个数过多将导致方程阶数太高, 方程求解困难,笔者试过它最大只能到3 1 阶。另外b e z i e r 曲线是个一元方程,刻 划单条曲线,每个控制点对整条线的走势都有影响,牵一发而动全身。n u r b s 是 以低阶b 样条为基函数,分段构成的、具有按需光滑程度的曲线,所以它理论上 不受控制点个数多少的限制,并且每个控制点只影响局部区域,显示出一定的灵 活性。曲面是在两个方向上都进行生成的,因此以上分析结果同样适用。这些是 我们最终选择了n u r b s 的原因。 n u r b s 曲线或曲面是按照顺序依次调用一系列函数生成的。通过正确的参数 赋值,就能实现叶型和叶片的初步显示。 g l u n u r b s o b j g l u n e w n u r b s r e n d e r e r ( v o i d ) ;定义n u r b s 对象指针 v o i dg l u n u r b s p r o p e r t y ( g l u n u r b s o b j + n o b j ,g l e n u m p r o p e r t y ,g l f l o a t v a l u e ) ;设定渲染属性,比如显示模式,采样公差等。 v o i dg l u n u r b s c a l l b a c k ( g l u n u r b s o b j + n o b j ,g l e n u mw h i c h ,v o i d ( + f n ) o ) ; 设定返回出错信息。( 错误检查将使性能略有降低) 。 东南大学硕士学位论文 v o i dg l u b e g i n s u r f a c e ( g l u n u r b s o b j + n o b j ) ;开始曲面的绘制。或调用 v o i dg l u b e g i n c u r v e ( g l u n u r b s o b j + n o b j ) ;开始曲线的绘制。 v o i dg l u n u r b s s u r f a c e ( g l u n u r b s o b j + n o b j ,g l i n ts k n o c c o u n t , g l f l o a t + s k n o t ,g l i n tt k n o t _ c o u n t ,g l f l o a t + t k n o t ,g l i n ts s t r i d e ,g l i n t t s t r i d e ,g l f l o a t + c t l a r r a y ,g l i n ts o r d e r ,g l i n tt o r d e r ,g l e n u mt y p e ) ; 定义并产生曲面。调用g l u n u r b s c u r v e ( ) ;产生曲线。 v o i dg l u e n d s u r f a c e ( g l u n u r b s o b j + n o b j ) ;结束曲面的绘制。调用 g l u e n d c u r v e ( ) ;结束曲线的绘制。 函数g l u n u r b s s u r f a c e ( ) 的参数设置是个难点,其正确设置与否将关系到曲线 和曲面最终能否画出。* n o b j 是第一步中产生的n u r b s 对象指针。s o r d e r 和t o r d e r 代表两个方向样条基的阶数。* s k n o t 和* t k n o t 存放节点数组首地址。* c t l a r r a y 存放 控制点数组首地址,曲面控制点的数量等于每个参数方向上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现场处置方案编制课件
- 2025年能源行业CCS项目经济性研究报告:市场前景与投资建议
- 2025年物流行业物流园区智能化改造对物流行业行业政策法规的适应报告
- 山西省晋中市左权县2022-2023五年级上学期期中科学试题(含答案)
- 2026届贵州省贵阳市清镇北大培文学校贵州校区化学高一上期末考试试题含解析
- 2025年导游资格证专项训练试卷:导游业务与法规冲刺押题
- 2025年Python大数据处理培训试卷:实战演练与冲刺押题
- 2025年秋季初级经济师职业资格考试 经济基础知识模拟试卷及答案
- 2025年注册会计师(CPA)考试 会计科目历2025年真题解析与模拟试卷
- 江西省白鹭洲中学2026届高二化学第一学期期中学业水平测试试题含解析
- 企业信息化项目建设进度和成果汇报课件
- 高等数学期末试卷及答案
- 从0开始跨境电商-第三章-阿里巴巴国际站入门-OK
- 新能源电站远程监控系统建设方案
- 《紫藤萝瀑布》《丁香结》《好一朵木槿花》
- 2023柔性棚洞防护结构技术规程
- 河流地貌的发育 - 侵蚀地貌
- 离网光伏发电系统详解
- 广告文案写作(第二版)全套教学课件
- 《国家电网公司电力安全工作规程(配电部分)》
- 金融学黄达ppt课件9.金融市场
评论
0/150
提交评论