(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf_第1页
(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf_第2页
(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf_第3页
(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf_第4页
(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(工程热物理专业论文)加力燃烧室三维流场可视化系统设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

茸缸航空斌凡人。? + 唾土沦辽x3 2 17 7s摘要虚用w i n d o w s 编程恩想,设汁了句力燃烧室数值计算可视化系统。系统r f 两酃分组成:流场计算和可视化接口。前部分采用曲线坐标系下的s i i p l e 算法,对带溺热砰的航空发动机自u 力燃烧室的二维热态流场进行了数值计算。贴体网格采用微分方程法分区生成。后部分采用动态链接库、数掇库和d i r e c t x 技术混编vi s u a lg a s i c和v i s u a lf o r t r a n 语言,实现了真l e 的3 2 位的流场计算系统;采用v js u a lb a s c 可视化编程语言实现美观统一的用户界面。编主题词:航空发动机,加力燃烧窀,数值计算,可视化系统,动态链接库,滗硎力燃烧审三礁流场”r 强化系统垃a b s t r a c tt h evi s u a ls y sl e mo fn i l e r b u r n e rn u m e r ic a le l i l c u i al i o nwasd e v e i o t ) e dh yp r o g r a m m i n gm e 2 t h o do f 肖i n d o w s h es y s t e l l lism a d eu do fl np a rl s :c a ic u l ac i i ) l a n dv i s u n i jz ac i o n f h ec a i c u l a t i ( ) ni st h alt h er e a cc i n g o wi nt h ea f l t e r b u r n e rw i t ht 1 1 eh e a ts h ie l da n dt h econl r a c t i n gn o z z l esd e s c f i b e db yt h es 【m p ,ea l g o t i t h i nw i t han o n s t a g g e r e dc a r v i l i n e a rg o o f d h a t es y s t e m t h ec o m p u t a e i o n a lg r i d sareg e n e r a t e db yt h en u r a e r i e a ls o tl lc i o no fp a r t i a ld if f e r e n t i a ie q u a t i o i l s h ec a l c u i a t i o ni st h a tt h er e a cl 【n gf l o wc na na f t e r b u r n e rwasc a l c u l a t e db vt h es i h p l em e t h o du n d e rt h ec u r t n i n e a rw i t hz o n eg r i d t h ev i s u a iiz a l ;i 0 ii st h a lt h et r u e3 2b y e ec a i c u 【u t i 0 1s y s t e r ni sd e v e l o p e db ym i x e d h ev is l l a b a s i ca n dv i s u a f o r t r a nl a n g u a g e :t h eb e a u t i f u la n du n i f o r mi n t e r r a c ei sd e v e l o p e db yv i s u & lb a s i c ,t h ed y n a m f el i n kli b r a r ya n dd i f e e t xi su s e di nv is u a l i z a t i o np a r t k e yw o r d s :a ir c r a te n g if i e ,a f t e r b u r n e r ,n u m e r i c a ic a l c u 】e l l i o n ,v is u n s y s t e m ,l i x e dl a n g u a g e南京航宅航天大学硕士论文aa符号说明任意标量任意矢量ap ,ae ,a w ,a n ,a s ,a t ,a8离散方程系数a 。( i ,j = 1 , 2 ,3 )cc i ,c 2 ,c d ,c 。degg ”( 1 ,j = 1 , 2 ,3 )窘。( i = 1 , 2 ,3 )礁可比行列式的代数余子式对流强度紊流模型经验常数扩散强度圆柱坐标系的协变慕向景圆柱坐标系的逆变基同量壁面函数中的常数紊流动能产生率任意坐标系下的协变度量张最任意坐标系下的逆变度量张量任意坐标系下的协变艇向鞋任意坐标系下的逆变基i j 茕加力燃烧室= 推流场可m 化系统醴计ki ,( i = 1 , 2 ,3 )pp ,( i - 1 , 2 ,3 )q 。( 1 ,j = 1 , 2 ,3 )x ( i :t ,0 ,3 )紊流动能笛专尔直角坐标系下的基向韪压力;捌格生成方程的控制函数坐标变换系数位置向量离散方程中的源项圆柱坐标下的速度分量任意曲线坐标系下的速度分量速度矢量笛乍i 儿直角坐标系的坐标圆柱坐标系的坐标圆柱坐标的一般表示y ( 待1 ,2 ,3 )笛每儿直角坐标的一般表示空间曲面的坐标y o nk a r m a n 常数紊流动能耗散率通用变量密度南州唧妒啪&uvkkp旺ze牵p南京航空航天大学硕士论文毛,1 1 ,1 1 ( i = 1 0 ,3 )下标e f tt ,jt上标l ,jn通用扩散系数粘性系数粘性应力任意曲线坐标系的坐标任意曲线坐标的一般表示有效的协变坐标的方向紊流逆变坐标的方向曲面法向曲面切向南京航空航天大学硕士论文第一章绪论作荐漫汁如力燃烧室流场数值计算可视化系统( 以下简称加力燃烧室可视化系统) 的基本出发点是为r 充分利用w i n d o w s 操作系统3 2 位字长、虚拟内存、d i r e c t x技术和与设备无关的图形接口等优点,通过采用w i n d o w s 操作系统实现现有大型流场计算程序的升级换代。作者设汁加力燃烧室可视化系统时力陶遵循软件工程学规范,以生命周期法为主要设计方法分析没计加力燃烧室二维流场计算可视化系统。软件工程学是一门为了摆脱软件危机,研究软件开发与维护的普遍原理与技术的工程学科。严格遵循软件工程方法论可以大大提高软件开发成功率,能够显著减少软件开发和维护的问题。软件工程强调的是使用软件生存周期法和使用成熟的技术和方法来开发软件。软件生存周期的基本思想是:任何一个软件都是提出开始、通过开发交付使用、到最终被淘汰为止,有一个生存周期。软件生存周期的概念并不是说软件同硬件一样,存在“被用坏”和“老化”闯题,而是指其无存在的价值。1 2 1 生命周期法的基本思想是系统地有条不紊地从抽象的逻辑概念发展到具体的物理实现,这是生命周期法的关键。1 1 本文的研究方法生命周期法是奉文研究问题的基本方法,这种方法其基本特点是发展时间较长,技术也比较成熟,适用于问题定义比较明确,管理比较规范的场合。目前,软件生存周期的划分有多种方式,其中一种典型划分方式为汁划、分祈、设计、编程、测试和运行的六个阶段。但是这种软件生存周期的划分只适合于早期“理想的”软件工程项目,在实际中较难操作。作者在实际开发过程中从加力燃烧室可视化系统系统的需要出发将其简化为分析、设计和测试三阶段。分析阶段是最重要的部分。它主要包括系统分析,主要是问题的定义及问题的分解。加力燃烧空可视化系统的主要问题是:一方面要实现三维流场的数值计算;另一方而又要实现可视化系统。实现可视化系统最快捷的方法是应用可视化编程语言建、,j # 于w i n d o w s 系统的应厢程序,但足原有计算稃序基于do s 系统,因此必须在一:裘之| h j 建立一种联系。所以作者选j f j 了v i s a u lb a s i c 和v i s a u lf o r t r a n 语言来建立可视化系统,作首应用v i s u a lf o r t r a n 语言编制动态链接库程序来实现计算和数掘! e 成功能,i 耳通过v i s u a lb a s i c 语言可视化窗1 2 :1 程序,窗口窗口程序通过硬盘公享方式获取动态链接库程序,扛成的数据。作者通过动态链接库程序建立窗口程一1 一加力燃烧室三维流场可视亿系统设汁序与网格f ! 成程序和流场计算程序之间的联系,实现原程序的升级换代。表1 1 叠加力燃烧室可视化系统的问题定义报告。表1 1加力燃烧室可视化系统的问题定义报告用户单位:沈阳6 0 6 研究所用户负责人:分析员单位:南航2 0 5 教研室 分析员:程萃莘 项目:加力燃烧室三维流场计算可视化系统 问题:计算程序升级 项目目标:生成窗1 3 程序,建立动态链接库【程序,实现计算程序升级设计阶段包括程序设汁和结构设计。结构设汁包括控制结构设计和数据结构设计。本软件数据结构设计的变量命名完全遵循m e t as o l u t i o n 公司命名规则。控制结构设计主要表现在菜单树、工具栏的设计( 52 ) 。程序设汁即编码实现。程序设计与数据结构设计在实际工作中可以交叉进行,但每一步都要先有结构设计,再进行程序设计。系统功能设计必须最先进行。表12 是加力燃烧室可税化系统系统功能分析报告表l2 分析了加力燃浇室可视化系统的主要功能,实际开发中作名附加f 加力燃烧室可视化系巯的功能并未列出。附加功能包括:t e c h p l o t 绘图,计算器,数据压缩,用户维护。维护阶段主要是进行d e b u g 查错,排除程序中的错误,保证数值计算的结果正确可信,使得计算结果能够指导加力燃烧室优化设计。1 2 加力燃烧室可视化系统问题提出的背景本课题是来自于6 0 6 所的一个科研项日。由于加力燃烧室内燃气温度高,气体流速高,接通加力时问短等苛刻工作条件而给加力燃烧室试验带来了一系列的困难:一方面测量仪器受到测量精度的影响;另一方面工作环境恶劣,对人体和环境污染影响很大,而且开加力时间不能够太长,否则会影响发动机的寿命,也有可能把隔热屏烧穿。因此,本课题的研究将采用数值计算方法模拟加力燃烧室的流场,一2 一南京航空航天大学硕士论文进行数值研究。表12 加力燃烧室可视化系统系统分析报告系统功能窗口程序动态链接库程序窗口程窗口程序通网格生成程流场序框架用特征序计算程序陲启飞登询菜曲立网网初流动溅。录问望面 体 格 格 始量引窗窗窗设程 程数图化修擎体 体 体计序序据形程正显 显 序 程不不序目前,关于燃烧室流场计算口4 l 方面的文献很多,但是关于加力燃烧室流场的数值计算和数值分析方面文献却并不多。文献 6 1 作了加力燃烧室流场带隔热屏带化学反应的数值计算,但是其主要进行的是二维流场计算,采用的是台阶法生成的网格。文献1 7 1 计算了加力燃烧室的带化学反应三维流场,但其主要采用的是笛卡尔坐标系,对曲线型的几何结构作了台阶近似,并且加力燃烧室内没有隔热屏。文献【g j采用贴体坐标,进行了三维流场带化学反应的数值计算,但是其的研究对象是短环形燃烧室。鉴于三维贴体网格能够很好地模拟加力燃烧室的复杂形面,使网格结点正确地反应物体的表面,减少由于物面边界条件不准确而产生的误差,从而精确地计算流场内各点参数值,因此本文采用了微分方程法生成带隔热屏加力燃烧室三维贴体网格,并在曲线坐标体系下对加力燃烧室进行流场计算,得到较为精确的数值解。随着计算机软硬件的飞速发展,为3 2 位操作系统丈行其道铺平了道路。w i n d o w s 操作平台就是3 2 位操作系统,它具有相当多的优点,例如:多任务;高效的虚拟内存管理;多种多样的数据菸享方式;丰富的第三方编程接口,支持c o m ,d c o m d i r e c t x5 :与设备无关的图形接口等等。近年来,出现丁许多大型计算机分析程序。这些软件有一个共同的特点就是他们部是基于w i n d o w s 操作系统的,具有良好的可操作性。如m a t h s o f t 公司的m a t l a b一3加力燃烧室三维流场可视化系统设汁系统,w o l f r a m 的m a t h m a t i c s 、o r i g i n 、m a t h c a d 、w a v e l a b 程序,还有f l u e n t 软件等等。这些软件大都是耗上千个人年才完成的,因此功能都很强大。尤其m a t l a b ,它可以适用于建筑、控制、航空等领域,与早期版本相比,目前的版本m a r l a b 5 3在建立向量、数组和矩阵方面,使用方便,界面友好,输出结果可视化。m a t l a b53具有数值分析功能,但是如果采用m a t l a b 进行计算分析,一方面,计算程序庞大,而且计算程序不能脱离m a t l a b 环境;另一方面,我们已有的大型计算程序不能适应m a t l a b 环境,必须重新编制,这一点显然不利于我们的计算程序的继承与发展,完全放弃我们现有的程序显然是一笔巨大财富的浪费。自从8 0 年代以来,很多入都采用了接口技术”1 ,利用混编技术对已有程序进行继承和发展,使得已有的程序能够适应新时代的技术的发展显然是一种明智的选择。但大都是介绍c 与f o r t r a n 或v c 与f o r t a n 混编,介绍v b 与v i s u a lf o r t r a n混编的文献目前还没有见到。文献【9 】采用是c 与f o r t r a n 程序的接口,这种方法,一是,仍旧没有脱离d o s 平台;二是,应用c 语言实现图形界面非常复杂,所以这种方法将延长开发周期。假如作者采用这种方法,那么本系统肯定还在开发过程中。王福文、陈严采用的方法是在w i n d o w s 系统下利用通过a p i 函数调用f o r t r a n程序,但他们仅仅是使原来的程序具有了w i n d o w s 外形,仅仅调用而以继承代码,并不真正改变系统所基于的平台,因此这种方法仍旧没有脱离d o s 系统。丽对于工程计算方面最常用的基于d o s 平台的f o r t a n 程序,由于时代的发展,迫切地需要改变为真正的基于w i d n o w s 平台的程序,以便于充分利用w i d n o w s 平台的各种优点。目前的工程计算领域的大型程序大都面临着升级换代的问题,我们的计算程亭也不例外。尽管我们的大型计算程序已经发展到可以计算燃烧室三维流场的热态各种物理参量,但是它仍旧是基于1 6 位的d o s 平台,即使操作员使用的是w i n d o w s 9 x系列的操作系统,它仍旧运行在w i n d o w s 的伪d o s 模式下。因此本人将在汁算加力燃烧室三维流场的速度场、温度场的基础上,采用w i n d o w s 动态链接库技术并将其封装在a c t i v e x 中,把基于d o s 的程序转变为真正基于w i n d o w s 的小型系统,使之具备w i n d o w s 程序的共有特点:操作简单方便,界面统一友好,输出结果可视化,并f l 由于使用了封装a e t i v e x 技术,加力燃烧室可视化系统可以进一步发展成为网络计算系统1 3 加力燃烧室可视化系统加力燃烧室可视化系统包括i 方面内容。南京航卒航天大? ? 硕士论文第一:系统要对航空发动机带隔热屏的加力燃烧室进行流场分析。由于加力燃烧室被隔热屏分为内外两个烈通道,在轴向上前有扩张段,后有收敛斜壁,并且隔热屏上开有小孔和缝隙用于小孔冷却和缝隙冷却,隔热屏周向是化瓣形;加力燃烧室实际尺寸大,+ 4 l 数目多。,因此,作者必须采用三维贴体网格,三维贴体网格由微分方程法生成,并在此基础上进行三维熟态流场的数值计算。第二:为了能应用近年来出现的新型操作系统的优点,本系统将应用w i n d o w s编程的概念和建立动态链接库、封装a c t i v e x 技术,实现图形用户接口( g u i ) ,建立真正的w i n d o w s 计算程序,通过对大型计算通用程序继承与发展,把基于d o s系统的程序转变为w i n d o w s 系统下的程序,实现程序的升级换代。第三:在以卜两步的基础上调试维护该软件,建立安装程序,初步形成加力燃烧室可视化系统系统。1 4 本文的主要内容内核部分( k e r n e l ) :采用椭圆型偏微分方程生成三维贴体网格,编制w i n d o w s平台下的动态链接库程序,并在生成三维贴体坐标的基础上进行加力燃烧室的三维热态流场计算:由于带隔热屏的加力燃烧室的形状复杂,因此三维贴体网格专成是本文的一个难点。所以,作者将24 9 米长的加力燃烧室分作七个部分,每一部分又分作上f两块分别生成贴体网格。七个部分中最困难的是加力燃烧室的收敛斜壁部分,该部分不仅隔热屏是花瓣形,而且外通道流通面积逐渐由大到小,通道最大间距为2 0 m m ,最小间距为6 r a m ;不仅轴向卜曲率不为零,而且周向上曲率也不为零。因此,作者通过推导得至i j z 维曲面法线向量公式,井编制动态链接库程序,由系统调羽从而得出三维贴体网格。计算部分通过在坂有二维曲线坐标系统f 计算机程序加以修改,使其符合带隔热旰的i l 力燃烧室的条件以便进行流场计弹。接口部分( i n t e r f a c e ) :应用可视化编程语言,采用动态链接库技术和封装a c t i v e x 技术,琏专基于w i n d o w s 9 8 乎台的窗u 应用程序。在建立基于w i n d o w s 9 8平台的裔口应用程序后采用d i r e c t x 投术实现网格图形的显示。j 逦 h 可视化编程语言+ 编制图形1 ;: 作为j j 户友好界面:飞溅屏简体( 图11 ) ,t - 简体( 图12 ) ,登录窗体( 图l3 ) “问简体( 图j4 ) :功念链接j 车技术和封装a c t i v e x 技术屉水文最基小的技术。动态链接库的编制:先一定要何非常精确的调用语句,程序中的调j l j 语句决定着程序如何调用例程,一j 一j j 口力燃烧室维流场u r 税亿系统设i 决定着参数如何传递,决定着例程如何命名。在单语言程序中或者是由于c 中的头文件或者是巾于f o r t r a n 中的带接口块的模块文件强制调用程序与被调用程序保持致,因此,调用语句几乎总是正确的。由于本文采用v i s u a lf o r t r a n 语言建立通过动态链接库,应用v i s u a lb a s i c 语言与v i s u a lf o r t r a n 语言进行混合编程,所以必须调整调用语句,保汪调用语句十分精确,并且要保证动态链接库内没有任何错误( 这是必须的、繁重的和烦琐的) ,否则,系统会在无任何前兆的情况下突然崩溃。d i r e c t x 技术 i t i 应用于嘲格显示。d i r e c t x 技术是快速地显示图形和绘制高质量图形都是计算机图形技术必不可少的能力。利用d i r e c t x 技术,程序员可以轻而易举地锄建包括高性能的平面和三维图形。d i r e c l x 提供了一组完全的3 d 图形系统接口。高级的保留模式接口,让应用程序能简单地实现一个完全3 d 图形系统。低级的立即模式接口,使应用程序可以完全控制着色管道加速3 d 图形。然而令人遗憾的是:目前所见地d i r e c t x 应用都限于在v i s u a lc 十+ 中,在v i s u a lb a s i c 中并无d i r e c t x 支持,所以,本文作考网不停上,鼠不停点“,终于在 h t t p :e w w w m i c r os o f c o m d i r e c t x 下载到d i r e c t x 5 t t b 库文件,使得v b 能够应用微软的最新图形显示技术。应用封装a c t i v e x 和d i r e c t x 技术可以使模块具有相对独立性,图形显示更快、更漂亮,并且为实现网络计算打下基础。数据库技术应用于登录窗体的用户名,用户身份,口令的存储,为保证非法用户登录计算程序,采用加密数据库,使得用户不能直接在加力燃烧室可视化系统系统环境外打开,而是在加力燃烧室可视化系统系统内通过用户维护才能修改用户名和口令。通过登录窗体保证加力燃烧室可视化系统系统的每一个用户都是台法用户,保证数值计算分析不受非法用户的干扰。加力燃烧寅可视化系统系统通过详细的系统分析确保后续开发者理觯本系统的设计思想,以便于后续开发工作顺利进行,不断地充实加j 燃烧室可视化系统系统使之成为可以计算各种燃烧室和各种流场的通用的基于w i n d o w s 的系统下的应用f 旱序。6 一舟康航中舰人人、 顺 j 沦艾罔1l 溅饼窗体加力燃烧室i 维流场町视化系统设i p图12 主窗体一8南京航空航天大学硕士论文用户名瞧) :密鹂( p ) :圈 剑图13 登录窗体圈14 询问窗体9加力燃烧室三维流场可视化系统设计第二章w i n d o w s 平台及w i n d o w s 程序编程的基本概念m i c r o s o f t 开始推出的是d o s 系统,但它的界面足非表格化的,而且极为不方便,用户面对的屏幕是一片黑暗此时,g a t e s 说让我们使用w i n d o w s 吧。”从而,阻前黑暗的屏幕被图标和窗口点亮了:然后,g a t e s 说:“让用户冲出办公室和家去购买w i n d o w s ,让第三方软件开发者和硬件商共享丰富的接口。”1 1 2 1 事实果真如此。2 1w i n d o w s 程序特点1 1 3 - 1 7 1w i n d o w s 是m i c r o s o f t 公司开发的一个图形窗口环境软件。最初时在1 9 8 3 年1 月宣布的。1 9 8 5 年1 1 月推出了第一个公开版本。此后,w i n d o w s 经过不断的修改与更新,先后推出了w i n d o w s 9 x 和w i n d o w sn t 。w i n d o w s 的推出,立即引起了用户的强烈反响,使得操作计算机的方法和软件开发方式发生了根本性变化。w i n d o w s 运行于m s d o s 之上,是m s - d o s 的扩展,它与m s 。d o s 共同管理计算机的硬件资源m s - d o s 继续管理文件系统,而w i n d o w s 管理其他一切,包括显示器、键盘、鼠标器和串行口,并负责内存管理和程序的执行、调度。w i n d o w s 丰富多彩的界面改变了存储管理能力;能同时运行多任务,可以通过多种方式进行程序问的数据交换,实现信息公享;能支持网络系统;在多媒体技术方面更是大显身手。与d o s 环境相比,w i n d o w s 无论是面对用户还是面对应用程序开发人员都提供例更加强大的功能,特别是其先进的程序设计思想和方法。而这些先进的程序设计方法更是程序设计人员必须熟悉和掌握的。2 1 1 美观、统一的用户界面用户界面友好是衡量应用程序质量的一个重要方面,在d o s 环境下,若程序员采用c 语言,为了设计出友好的用户界面,往往要花费很多的精力和时间,而且设计出的界面还是因入而异,没有统一的风格,这给用户使用和掌握应用程序带来了困难。w i n d o w s 为设计美观、统一和友好的用,。界面提供了种全新的方法。w i n d o w s是一个图形用户界面( g u i ) ,各种操作对象都足以图形形式显示在屏幕i 二。通过一l n南京航空航天大学硕士论文鼠标器或键盘,用户就可咀在屏幕上直接操作这些对象。这样用,、与程序之间的交互就不再足单一的用键盘输入信息到屏幕上显示,而足直接f j 屏幕上的对象进行交互操作。所有w i n d o w s 应用程序的基本外观均差不多,每个程睁j 叶据一个窗口。窗口是屏幕上的一个矩形区域,它足由标题栏来标识的。程序t p 绝大多数功能均可通过菜单来执行。某些菜单会触发对话框,通过对话框,用户可以输入较多的附加的信息。2 1 2 面向对象的程序设计w i n d o w s 程序设计方法实际是面向对象的程序设计,这是目前最先进的程序设计方法之一。w i n d o w s 编程所涉及的对象很多,主要窗口、菜单、对话框。如前所述,窗口是屏幕上的一个矩形区域,窗口通过键盘或鼠标器接收用户的输入,并将图形输出到显示屏幕上。菜单是w i n d o w s 应用程序接收用户输入韵主要手段。一个菜单是一组可供用户选择和查看的命令列表,用户只要选择菜单项就可以执行相应的功能。对话框是一种特殊的窗口,它为用户显示更多的有关命令的信息,并能接收用户的输入信息。一个对话框可以包含一个或多个控制窗口。控制窗口也是一种特殊的窗口,又称予窗口控制。控制窗口的形式包括各种按钮、文本编辑框、列表框、组合框和滚动条,可以供用户作出选择和输入。用户在屏幕上看到这些对象,可以直接与它们进行交互。交互的方法足按一下按钮、滚动个滚动条或选择一个菜单项等。其实,用户所执行的这些操作是通过发送消息来告诉应用程序的,消息是应用程序执行命令的信号。在面向对象( o o p ) 的程序设计中,对象表示代码和数搌的集合,以窗l j 为例,窗口是一个对象,其代码是窗口函数( 该函数处理窗口的各种消息) ,而数据就是弓窗口相关的消息。2 1 3 消息驱动的程序结构w i n d o w s 消息提供r 应用程序与应用程序之间和应用程序弓w i n d o w s 系统之间进行通讯的手段。儿乎每个w i n d o w s 程序所作的事情郁是为了孝u 应发送到窗口函数的某条信息。在大多数虑用程序中,很大一部分代码内容是用束处理这些消息的。一l l加力燃烧室三维流场r - 视化系统设计w i n d o w s 的消扈、l 扫三部分组成:消息号、亨参数和长参数。消息号由事先定义的消息名称标识;字参数和长参数包含7 j 消息号相关的值。例如,当光标柱窗u用户区时按下鼠标器的左按钮,w i n d o w s 就向该窗口发送一条w ml b u t 丁0 n d o w n 消息( 宏定义是在w i n d o w sh 中定义的) ,其长参数含有光标的x 和y 举标( 分别在其低位字和高位字中) ,而其字参数则包含指示各种嘘拟键盘是否跛按下的值。窗口函数接l 改到此消息后,就可以作出相应的处理。w i n d o w s应用程序创建的每一个窗口部有一个窗口函数,瑚以处理发送到该窗口的消息。窗口函数由w i n d o w s 采用消息驱动的形式直接调用,而不是由应用程序显式调用的。窗口函数处理完消息后又将控制权返回给w i n d o w s 。w i n d o w s 中有一个系统消息队列,简称系统队列。当开始执行一个w i n d o w s应用程序时,w i n d o w s 为该程序建立一个”消息队列”,称为应用程序消息队列。这个队列存放该程序可能创建的各种窗口的所有消息。程序中含有一段“消息循环”代码,用柬从消息队列中检索这些消息并把它们分发到相应的窗口函数中。有些消息不必放到消息队列中,而直接送给脔口函数。系统队列、应用程序队列、消息循环、窗口函数。2 2w i n d o w s 平台的特点- ,一2 2 1 多任务在w i n d o w s 系统中,每个应用程序都被称做一个任务。所谓“多任务”t 作方式,实际上是指w i n d o w s 用户可以在同一时间运行多个应用程j 芋。作为一个支持多任务的操作系统,w i n d o w s 系统比其d o s 的单任务系统,不但给日常操作带来方便,而l 提高了工作效率。w i n d o w s 系统对多任务的处理是通过虚拟机( v i r t u a lm a c h i n e ) 技术来实现的。所谓虚拟机,足指南w i n d o w s 系统卉:内存巾创建的逻辑微机,并由创建的逻辑微机来运行多个应用程序。此时,一旦w i n d o w s 系统接受到由键盘、鼠标器、定时器或者某些l :o 操作产隹的“事件”扁,移即为任务分再己相应的c p u 时间,使得每个任务轮流使j _ jf hw i n d o w s 系统分配的短暂的时闻片( t i m es l i c e ) 。由于c p u对每个时mj l 的处理速度极快,因此看起来虢象这些任务同时执行。w i n d o w s9x 作为一个3 2 位操作系统,采用的足“抢先式多任务”丁作方式,这样在多任务t 作方式时,该系统内存中的每一台虚拟机都翻1 当十一台完整的微一l ,南京航空航天大学硕士论文机,将每个3 1 位应用程序及d o s 应用程序分别放在备自的虚拟机中运行,并由虚拟机管理器( v i r t u a lm a c h i n em a n a g e r ) 负责分配给每个虚拟机相应的c p u 控制权,w i n d o w s9 x 系统能够根据需要将控制权苴接收回并转给其他的应用程序。也就是说,如果w i n d o w s 9 x 系统要抢先j e 在执行的某个应用程序时( 无论该应用程亭是否释放c p u 控制) ,首先挂起处理该程序的虚拟机而使起在后台运行然后把系统控制救交给其他应用程序的虚拟机,从而使得这个应用程序能够被优先处理。2 2 2 高效的内存管理w i n d o w s 为了保证多任务的运行,采取了一系列措施来提高内存的利用率,从而保证能以较少的内存资源运行较大的程序。w i n d o w s 内存管理的特点是:( 1 ) 当w i n d o w s 运行同一应用程序的多个拷贝( 每个拷贝称为一个实例) 时,每个实例使用相同的代码段和相同的资源;( 2 ) 在w i n d o w s 环境中分配的内存块多数是可移动的,从而便于w i n d o w s 对内存块的管理和提高内存资源利用率:3 ) 代码段和程序资源通常都是视需要而被装入内存的,而且在多数情况下分配位可丢弃的内存块。在内存资源紧张时,这种内存块可以被丢弃而释放所占的内存空间。当再需要时,w i n d o w s 能自动的从磁盘上复制相应的内容到内存中。w i n d o w s 突破了m s d o s 对内存6 4 0 k b 的限制,提供了实模式、标准模式和3 8 6 增强模式等运行模式。标准模式和3 8 6 增强模式统称为保护模式。在基于8 0 4 8 6 c p u ,内存至少8 m b 的机器上w i n d o w s 9 x 将以3 8 6 增强模式运行。这种模式的主要特点足使用c p u 的内存页寄存器实现虚拟内存管理。c p u的内存面长度规定为4 k bw i n d o w s 可将内存而交换到磁盘l :,需要是再从磁盘l :重新装入内存。页交换和重新装入的过程均由w i n d o w s 自动进行。在编写应用程序时,不必再芍瞧页交换的过程。w i n d o w s 9 x 可以管理4 g b 的虚拟内存。 盘拟内存( v i n u a lm e m o e ) ,一神作业系统( o s ) 管拜内存 m e m o r y ) 的方法,作业系统使用一种查表的方式将应刖程式使用的内存位址转换为真。炙的记忆体衄址,并可暂时将某些现存不用的内存块搬到硬盘i :钎仔,使可用内存数黄比实际物辟内存数最多缁多移动内存的动作是以页( p a g e ) 为数节来完成,所以被称为p a g i n g ,- 何些舱l k 系统称为s w a p p g ,、系统要使用的内存块不在真实的内存中,【面需要从硬髓将浚页搬回,则硝;为p a g ef a u l t 若是系统经常处于p a g ef a u 旺你会发觉硬盛不降的在读写。j j u j 燃烧盘i 维流场可视亿系统设j2 2 3 数据交换与共享w i n d o w s 提供丁多种手段束实现应用程序之间的数据交换与共享,包括剪贴板c l i p b o a r d ) ,动态数据交换( d d e ) 和动态连接库( d l l ) 。剪贴板是其享内存块的管殚器,应_ l j 程序既可以向其中写入数据,也可以从中读出数据。利用剪贴扳能实现应用程序内部或应用程序之间的数据交换。动态数据交换是一种更高级的数据交换手段,他是一种交换消息协议。通过建立应用程序之间的数据交换链接,使得应用程序之问可以进行自动的数据传送,而不需要用户干预。这种功能对于开发需要链接实时数据的应用程序具用十分重要的意义。动态连接库是应用程序之间实现代码与资源共享的一种手段。在w i n d o w s 环境下,由于可以同时执行多个任务,使用d l l 比使用静态链接库具用更多的优点。如果两个应用程序同时运行,日它们使用了某一静态库中的同一函数,那么系统中就会出现该函数的两个副本;而d l l 却能允许若干应用程序共享某个函数的单个副本,从而节省了内存空间。此外,d l l 还可以用来实现其他资源的共享,如数据和硬件资源的共享。w i n d o w s 所有的运行摩均是d l l ,如g d i ,e x e ,u s e r e x e 等,它们是w i n d o w s的主要构成部分之一。标准的w i n d o w s 设备驱动程序也是用d l l 来实现的。程序员也可咀根据需要( 例如需要继承代码) ,开发a 己的d l l 。2 2 4 与设备无关的图形接口w i n d o w s 提供了丰富的与设备无关的图形处理功能。应用程序能很方便地画h 3 各种图形,而4 i 需要直接与具体地输m 地设备打交道。由于w i n d o w s 提供设备无关性,嘲此舡程序中可以同一函数在打印机上或显示器卜输出同一图形。w i n d o w s 应用程序并不直接访问图形显示,而是通过其图形程序设计语言( 例形设备接口,即g d l ) 来实现图形输出。w i n d o w s 应用释序地输出可以适用任佃显示或打印设备,只要在w i n d o w s 环境安装栩应的殴备驱动程序即可。由谈备驱动程序将g d i 圈彤输出请求转换为显示器、打印机等输出设备l :的图形输出。2 2 5 支持c o m 、d c o m 并支持d i r e c t x5南京航空航天大学硕士论文c o m ( c o m p o n e n to b j e c tm o d e l ) 是一种软件规格,遵循这种规格所制出的软件元件具有徽高的重复使用性,侧如v i s u a lb a s i c 中所使用的o c x 控制项就是一种c o m 元件。d c o m ( d i s t r i b u t ec o m ) 熙j 是根据c o m 所制定的软件规格,和c o m不同的是d c o m 元件特别适合在网络环境下使用。运用d c o m 技术便可以将应用程序的各部分元件分散在网络的不同电脑上,分担工作量。w i n 9 8 内含d i r e c t x5 多媒体支持。愈来愈多的多媒体程序和商业软件都通过的d i r e c t x5 来处理图象、声音、输入等工作。d i r e c t x5 适合运用在高速处理图象的程序上,例如大型网格的快速显示。除此之外,d i r e c t x5 还支持m m x c p u ,3 d音效加速、3 d 图形处理、多荧幕显示、摇杆控制等等。2 3w i n d o w s 编程基本概念旧w i n d o w s 应用程序设计不同于一般程序设计,程序员不仅要把设计思想转到面向对象、消息驱动上来,而且还必须领会和掌握以下基本概念:2 3 1 旬柄( h a n d l e )句柄是w i n d o w s 来标识被应用程序建立或使用对象的唯一整数。w i n d o w s 要使用各种各样的句柄来标识诸如应用程序实例、窗口、菜单、控制、分配的内存空间、输出设备、光标、位图、文件、g d i 画笔及刷子等对象。w i n d o w s 中的句柄有点象f o r t r a n 语言中的文件句柄。应用程序几乎总是通过调用一个w i n d o w s 函数来获得一个旬柄,其他的w i n d o w s 函数可以使用该句柄,以引用相应的对象。旬柄的实际值对应用程序并不重要,但向应用程序提供句柄的w i n d o w s 模块知道如何使用该旬柄去引用相应的对象。在w i n d o w s 中会大量地使用句柄,w i n d o w s 中各类句柄都可以阁h a n d l e ( 通过句柄) 米表示。2 3 2 实例( i n s t a n c e )同一个应用程序地多个拷贝,每份拷贝叫做一个“实例”许日由不同地实例句柄。也就是说,一个实例句柄是应用程序地一个单独可执行的副本,是唯一标识一1 5加力燃烧室= 维流场可视化系统陵汁此实例的整数。与启动应用程序的一个新实例时,只是该应用程序的数据被加坡。w i n d o w s 对应用程芋的所有实例都使用棚同代码,这可以为其垃腑用程序和数掘尽可能地 了省时间。2 3 3 面向对象程序设计( o b j e c t o r i e n t e dp r o g r a m m i n g )面向对象程序设汁( o o p ) ,使用面向对象程序语言( o o p l ) 与面向对象( o o )的概念来写作程序o o p 使用几个传统程序方法所没有的重要特性:1 封装e n c a p s u l a t i o n ) :将对象( o b j e c t ) 的数据与执行的程序隐藏,只提供3 属性( p r o p e r t y ) 与方法( m e t h o d ) 供外界参考4 继承( i n h e r i t ) 可以由一个对象产生一个新对象,使用大部分原来的定义,而重新定义或加入新的属性与方法来符合新对象的特性5 多态( p o l y m o r p h i s m ) 对不同的数据类型使用同一名称不同程序代码的方法6 过载( o v e r l o a d l n g ) 可重新定义运算元( o p e r a t o r ) 的功能7 面向对象( o b j e c t - o r i e n t e d )面向对象( o o ) ,使用对象( o b j e c t ) 及对象的属性( p r o p e r t y ) ,方法( m e t h o d ) 来没计与应用的概念,相对于传统以程序( p r o c e d u r e ) 与数据结构( d a t as t r u c t u r e ) 来考量的方式8 类模块( c l a s s )包含类定义( 其属性和方法的定义) 的模块。9 属性( p r o p e r t y )有一定名称的对象的特性。属性定义了对象特t i f ( 如,大小、颜色及在屏幕上的逝置) 或对象状态( 删如启用或禁用) 。i o 变量的匈牙利标记惯例在w i n d o w s 程序嫂汁巾,习惯于绚牙利标记惯例术定义变碴名或其他的标识名。其爱思想时利用变豪名开头的一个或几个字母俩表示这个变甚的数据类型,变量乞剩余部分将描述该娈嘬的功能。该法已j “泛应用于樱序开发下作中,使程序易于阕凄。这种方式最早由m i c r o s o f t高级程宁堤计师c h a r i e ss i m o n y i 提出并钮m i c r o s o f t 推广,由于c h a r l e ss i m o n y i 是匈牙利国籍,所以、破称为“匈牙利”命名惯例。本文,曼茕定义采用匈牙利惯例的变种“m e t as o l u t l o n ”e 数据库开发公司) 惯例。表2 1 是一些前导。j 数扔;类型的对照表。表2 2 示控件前缀。表2 - 1 变量前缀i 前缀数据类犁前缀数据类型aa r r a vd bd a t a b a s ed y nd y n a s e tli n t e g e rcc h a r a c t e r s t r i n gt b lt a b l ess i n g l es n ps n a p s h o tdd o u b l ef l df i e l d1l o n gr e lr e l a t i o nc t ! rc l i i t e n c vi d xi n d e xv n tv a r i a n tt d ft a b l e d e fq d fq u r r y d e fb t nb u t t o no b j e c to l eo l e b _ j e c tl r n gi m a g e l i s to b j e c t衄um e n ui t e mn o dn o d e0 b i e c t表2 _ 2 控件前缀前缀控件类型j 发行者t x t文本框c r e s e n tq u i c k p a k【p b按钮c r e s e n tq u i c k p a k【l b i标签c r e s e n tq u i c k p a k1c b o组合框f a r p o i n tt e c h n o l o g i e sl i s t p m1 s t列表框f a r p o i n tt e c h n o k ) g i e sl i s t p r oc h k检查框 c r e s e n tq u i c k p a kr b单选框c r e s e n tq u i c k p a kp g b进程条m i c r o s o f tv i s u a lb a s i cf r a框架m i c r o s o f lv i s u a lb a s i ch s b水、f 滚动条m i c r o s o f tv i s i i a lb a s i cv s b垂直滚动条m i c r o s o f tv i s u a lb a s i ct r v树形视图m i c r o s o f tv i s u a lb a s i cf i b工具棒m i c r o s o f tv i s u a ib a s i c 一定时器m i c r o s o f tv i s u a ib a s i c公f h 对话框m i c r o s o f tv i s u a lb a s i cl 一扫+ e j 摔件v i d e o s o f t加力燃烧室三维流场可说化系统设计第三章贴体网格本章介绍t 1 m 法生成二维和三维贴体网格公式的推导过程及处理方法。3 1 贴体网格及其要求过去,在计算流体力学中,流场网格的设计通常采用简单的矩彤网格,对复杂形面采用台阶法进行近

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论