




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基丁二v t k 的冶金流动过程仿真研究 皇鼍量舅目曩暑量e 皇皇置曼鼍置曼吕舅曼皇鼍皇皇舅量皇吕i bi i 目岛曼罾毫曼曼寰鼍量曼冀曼重量曩 摘要 近年来,随着计算机以及相关技术的迅速发展,特别是一些 c f d ( c o m p u t a t i o n a lf l u i dd y n a m i c s ) 商业软件的出现,c f d 技术已不再是停留在 “象牙塔”中的高深学问,它在工业领域中的应用范围越来越广,大到飞机,火 箭、船舶、建筑物、汽车等e j ,l 部流场和化学反应器、发动机、锅炉等内部反应 过程的仿真模拟,小到喷墨打印机喷墨、人体微血管内血液流动过程的仿真模拟。 本文主要论述了一种针对冶金流动过程的c f d 仿真系统的设计与实现,并且以六 流中问包模型为侧给出了具体应用的例予。 本文通过分析冶金工业的需求,制定了系统的设计与实现原则因为v t k 类 库具有结构性好、易扩展、开放源代码等特性,符合c f d 软件的设计要求,本文 采用v t k 类库做为主要开发工具。 本丈的c f d 仿真系统包括三个模块:靠处理模块求解模块以及后处理模块。 前处理模块建立描述问题的几何模型,输入各种必需的参数,最后由软件自动生 成网络。本文针对s t l 格式的模型数据设计了一种简单的网格划分算法,并且用 点射线法判斯网格节点是否在模型内部。求解模块是根据前处理过程所生成的模 型的网格、所选的数值算法、边界条件等进行迭代求解,在计算的同时显示残差 曲线图用于跟踪计算过程。后处理模块是对结果( 如温度场、速度场、浓度场等) 进行可视他处理以及动画处理,本丈烈甩v t k ( t b e 、,i s 、l a l i z 觚6 崎t s 、类库实 现了三维环境下云图、矢量图、等值线图以及动画等的可视化的算法。 根据宝钢的生产实际证明,该c f d 仿真系统在实际应用中显示了较强的功 能,为企业节省了大量的人力物力,同时设计和开发理念对开发同类软件有很好 的启发、参考作用。 关键字:c f d ,冶金,可视化,v t k 类库,网格划分 基于v t k 的冶金流动过程仿真研究 w i t ht h ev i g o r o u sd e v e l o p m e n to f c o m p u t e ra n do t h e rt e c h n o l o g i e si nt h ec f d ( c o m p u t a t i o n a l f l u i d d y n a m i c s ) f i e l d ,e s p e c i a l l ys o m ec f db u s i n e s s s o f t w a r e a p p e a r e d ,c f dt e c h n o l o g yb e c o m e sr e a l i t y i tp l a y sa l li m p o r t a n t r o l ei nt h ei n d u s t r y f i e l da n da p p l i e sf r o mt h es i m u l a t i o no fo u t s i d ef l u i df i e l do f p l a r i e s ,r o c k e t s ,s h i p , b u i l d i n g s ,c a ra n d s oo na n di n s i d er e a c t o ro fc h e m i c a lr e a c t o r s ,e n g i n e s ,b o i l e r sa n d s oo nt op r o c e s so f p r i n t ss p r a y i n ka n dh u m a n b l o o df l o w i n gi nb o d y i nt h i sp a p e r , w ed e s c r i b et h ed e s i g na n d a p p l i c a t i o no fc f d s o g w a r e w h i c hi se s p e c i a l l ya d a p t e d t of l o w i n gp r o c e s so f m e t a l l u r g i c a lf l u i da n dp r o v i d ea ne x a m p l eo f s i xf l o w i n gs t e e l c o n t i n u o u sc a s t i n gt u n d i s h t h r o u g ha n a l y z i n go f t h ed e m a n do f m e t a l l u r g i c a li n d u s t r y , w eo b t a i nt h ed e s i g n a n d a p p l yr u l e so f c f d s y s t e m w ec h o o s et h ev t k ( t h ev i s u a l i z a t i o nt o o l k i t s ) a s t h em a i nt o o l ,w h i c hh a sm a n ym e r i t s ,s u c ha sg o o ds t r u c t u r e ,e a s ye x p a n d ,o p e n s o u r c ec o d e ,a n dc a nm e e tt h ed e m a n do fc f d s y s t e m i nt h i sp a p e r , w ed i s c u s st h ep r e p r o c e s s i n g ,s o l v e ra n d p o s t - p r o c e s s i n g m o d u l e s i n p r e p r o c e s s i n gm o d u l ,w e e s t a b l i s ht h e g e o m e t r i c a l m o d e l so fp r o b l e ma n d m e s h i n g w i t hs o m ep a r a m e t e r s w ed e s i g na ne a s ym e s h i n g a l g o r i t h m w i t l ls t ld a t a a n du s i n gp o i n tr a d i a lm e t h o dt od e c i d ew h e t h e rt h ep o i n ti si nt h em o d e l i ns o l v e r m o d u l e ,w ec a l c u l a t ew i t hs p e c i a lp a r a m e t e r sa n du s ep a r a m e t e r s c u r v et ot r a c kt h e c a l c u l a t i o n a lp r o c e s s i np o s t - p r o c e s s i n gm o d u l ,w ei m p l e m e n t3 d sn e p h o g r a m , v e c t o rf i e l d ,c o n t o u r s ,a sw e l la sa n i m a t i o n sv i s u a l i z a t i o n a l g o r i t h mu s i n gv t k a c c o r d i n g t ot h e a p p l i c a t i o n o f s h a n g h a i b a o s h a ns t e e l i n c ,t h ec f d e m u l a t i o n a ls y s t e mi sf e a t u r e 5p o w e r f u la n ds a v e sr e s o u r c ef o rt h ec o m p a n y a tl a s t t h em e t h o dc a nb es u g g e s t e da n dc o n s u l t e dd u r i n gt h ec o u r s eo f d e v e l o p i n gt h i sk i n d o fs o f t w a r e k e y - w o r d s :c o m p u t a t i o n a l f l u i d d y n a m i c s ,m e t a l l u r g y , v i s u a l i z a t i o n ,t h e v i s u a l i z a t i o nt o o l k i t s ,m e s h i n g u 基于v t k 的冶金流动过程仿真研究 第一章绪论 1 1 引言 计算流体动力学( c o m p u t a t i o n a lf l u i dd y n a m i c s ,c f d ) 是利用相应的数值 计算方法求解数学方程,预测动量传递、热量传递、质量传递、化学反应以及相 应的物理现象的- - 1 3 科学。原则上,c f d 方法适用于化工过程的每一领域,如流 体流动及传热、反应工程、分离工程、燃烧过程等。现在已经有很多的c f d 商业 化软件,它们提供有大量的物理模型、高效的数值解法和友好的用户界面,大部 分还提供有程序接口,用户可以根据需要添加自己的模型,而且随着计算机硬件 技术的飞速发展,c f d 方法已逐渐作为一种新手段而日益受到重视并得以广泛应 用。 相对于传统方法,c f d 技术的优势主要体现在以下几个方面: 1 c f d 可以提供用实验方法很难得到的、更加全面的数据。现实中实验数 据的取得总是受到测量工具、实验环境等因素的制约。 2 c f d 模拟是基于基本物理定律的,当缺乏经验关联式和实验数据时可以 利用c f d 进行设计和解决工程问题。 3 在工程放大方面,c f d 也有很大的优势,由于c f d 技术采用机理模型, 原则上不限制结构形式、结构尺寸、工艺参数、操作参数,因此通过c f d 模拟技 术可以直接跳过“实验室一小试一中试一工业”传统放大过程的某些环节,因此可 以节省大量资金和时间,而且由于掌握了大量数据,放大的可靠性也较高。 4 c f d 技术不仅可获得对过程机理的深入理解,而且可判断过程的故障根 本原因、关键部分以及扩产能力,进一步可验证各种改造方案的效能。 5 在传统开发环境中,大量的创新思路或设想难以验证,而在c f d 技术辅 助开发环境中,新设想的验证变得容易,设计者和工程师们直接利用c f d 技术分 析验证他们的新想法,因此有助于进行技术创新。此外,由于极低的重复成本, c f d 技术使包含大量设计循环的优化设计成为可能。 基于v t k 的冶金流动过程仿真研究 1 2c f d 技术在现代工业中的应用m s 目前,c f d 技术在工业中的应用方式基本上分为三种,一是利用c f d 的程序 设计思想,结合具体实际问题由用户自己编程、分析。其优点是成本较低,程序 专业性强,规模较小;缺点是要求企业具有相应的专门人才,有较多的重复劳动, 软件通用性较差,工作完成的周期长,一般适合有较强研究开发能力的行业科研 院所。另一种是企业根据自身行业特点,选择购买商业流体分析软件。优点是行 业针对性强,软件通用性好,把网格划分、建模、解算及后处理与全部的物理模 型和算法结合在一个软件包中,使用较为方便,可以解算任意复杂的几何形体; 缺点是要求企业具有较强的经济实力和技术力量,一般适合需经常利用c f d 技术 解决问题的大型、特大型企业。第三种方式是企业委托c f d 专业单位( 高校、科 研院所、软件分析公司) ,利用专门人才和专业或通用商业软件完成特定的任务。 这种方式既灵活又专业。社会分工明确,企业的人力物力投入小。 c f d 技术可以帮助人们完成与流动相关的全部的设计计算过程,从最初的基 本设计到最后的参数优化选择,它使人们能洞察设备的复杂流动情况。 1 2 1 用于产品原型设计 产品结构设计如牵涉到复杂流动过程,就需要对相关流动情况详细的了解。 在初始设计阶段使用c f d 技术模拟复杂过程的流动行为,为在产品制造之前就了 解其性能提供了一条高效、低成本途径。利用c a d 数据和自动划分网格技术及并 行运算技术可以用更短的时间来评价各种可能的设计方案。例如: 大字发动机公司认为“使用c f d 软件,现在新设计可以很快建模,从而使设 计循环更快、更便宜”。 l i p sj e t sb v 公司选用c f d 软件来模拟喷水船的进口流动。从实验与计算 结果良好的相关性可知,该方法可以用来指导设计工作。 奔驰公司广泛使用s t a r c d 与并行版的s t a r h p c 来计算汽车的外部空气动 力学,帮助其减少阻力,提高性能与降低燃油消耗。传统方式是用风洞实验来确 定汽车层流中的分离、再附与层流速度,既困难又耗时,同时耗资巨大。s t a r c d 能够为气动专家们提供数据,帮助其设计出良好的汽车外形。奔驰公司认为“计 基于v t k 的冶金流动过程仿真研究 曼鲁e ! 曼曩目堂皇墨舅皇皇曼皇,一i t 曼曼舅置| 皇皇曼量量童鼍曼曼量皇曼曩舅e 蔓 算精度与风洞实验完全一致,对我们来说真是一个惊喜”。 1 2 2 用于产品参数化设计与虚拟实验 使用实物实验进行大规模的参数调试是极为昂贵的。工业界正在越来越多地 用更迅速而又廉价的计算分析来取代实验。c f d 技术是预测几何与工况变化导致 性能变化趋势的强有力的工具。 g s r i a 利用c f d 技术预测大型商场进口及停车场附近主流风速与方向对当地 风速与压力分布的影响。他们认为“该技术具有能迅速变换计算模型的优点,因 此可以很经济地进行参数选择研究”。 实验中接近或进入处理设备或生物系统的内部常常是困难的甚至不可能。 c f d 模拟提供了决定最佳优化途径的方法。例如:c f d 技术可以应用到工厂的比 例放大、电子系统过热及泵内流动的空化现象等问题。分析可以表明流动问题发 生的地方,工程师可以对设计进行必要的修改,并对修改结果再次进行分析来确 认改进流场,从而达到问题的快速求解。s u l z e r 公司已经使用s t a r c d 计算简 化的人工心脏瓣膜的动态流动,来确定导致产生过度剪切和流动分离( 这可能导 致血管破裂或形成血栓) 的物理机制,计算结果帮助s u l z e r 改进了产品设计。 1 2 3 用于产品设计优化 在设计过程的各个阶段,许多国外企业都在使用c f d 技术对已有系统、部件 中的传热与流动进行模拟,从而提高性能与效率。优化设计的例子包括从减少燃 烧器与内燃机n o x 、c o x 污染物的排放到最大可能地提高离心压气机的效率,范 围极其广泛。例如: a d a m 欧宝公司除了用s t a r - c d 进行外流与发动机模拟,还广泛地用s t a r c d 模拟与优化乘员舱的加热、通风及空调( h v a c ) 系统。他们认为“与最初的设计相 比,由于使用s t a r c d ,我们成功地使几种h v a c 系统减少了几乎7 5 的压损和 2 5 分贝的流动噪音。在与供应商合作发展这些系统的过程中,s t a r - c d 的任意 交界面技术使得所有的开发小组很容易地共享计算子模型”。 i c 流体力学研究部使用s t a r c d 优化与设计化学反应装置,来提高效率、 基于v t k 的冶金流动过程仿真研究 可行性,保证一致而连续的产品质量。 1 3 目前国内外c f d 软件的状况和特色 在当今商用流体动力学软件市场上,虽然软件总数有5 0 多个,但占据垄断 地位的只有四、五家,即f l u e n t ,s t a r c d ,p h o e n i c s ,c f x ,f i d a p 等。从算法 上看,它们大都是基于有限容积法的,能够计算可压流、不可压流,甚至还能够 计算非牛顿流体流动。主要区别在于软件的前后处理功能和友好程度及开发公司 的实力。 f l u e n t 公司是目前全球最大的c f d 软件供应商和技术服务商。1 9 8 3 年,美 国的流体技术服务公司c r e a r ei n c 的c f d 软件部推出了其第一个商用c f d 软件 包f l u e n t 。自f l u e n t 软件上市以来,由于其丰富的物理模型、先进的数值方法 及高质量的技术支持和服务,f l u e n t 很快成为c f d 市场的领先者。1 9 8 8 年f l u e n t i n c 成为一个独立的公司,其总部设在美国n e wh a m p s h i r e 州的l e b a n o n 。1 9 9 5 年,f l u e n t 公司并入了a a v i dt h e r m a l t e c h n 0 1 0 9 i e si n c 后者在数字和能源电 子领域的热管理市场具有领先地位,并于1 9 9 6 年成为一个上市公司。1 9 9 6 年, f l u e n ti n c 收购了其最大的竞争对手f 1 u i dd y n a m i c si n t e r n a t i o n a l i n c ( f d i ) ,f d i 旗下有著名的c e d 软件f i d a p 和热控分析软件i c e p a k 。1 9 9 7 年, 在粘弹性和聚合物流动模拟方面占领先地位的p o l y f l o ws a 公司成为了f l u e n t i n c 的一个子公司。上述兼并联合使f l u e n ti n c 成为享誉世界的最大计算流体 力学( c f d ) 软件的供应商,目前f l u e n t 拥有全球c f d 领域5 0 以上的市场份额, 1 9 9 7 年的营业额达3 5 0 0 万美元。最新版f l u e n t 5 5 每套售价约2 5 万美元。 c d 公司是英国一家专门从事c f d 软件开发的专业公司。它成立于1 9 8 7 年, 有3 0 0 余名工程师从事研发、服务等工作,其中8 0 有博士学位。s t a r c d 是其 主要软件产品,目前在全球有4 0 0 0 多合法用户。s t a r - c d 以良好的工程应用能 力见长,其功能强大的非结构性网格系统( u n s t r u c t u r e dm e s h ) ,可以接受 h e x a h e d r o n ,t e t r a h e d r o n ,t r i a n g u l a rp r i s m ,p y r a m i d ,p o l y h e d r o n 等形状 的网格元素,配合s t a r c d 优异的数值稳定性及收敛速度,可以解决格点数量、 收敛速度、存储空间和精度之间取舍的难题。s t a r c d 和其它c a d c a m 、结构强 度分析软件有完美的连接性,有完善的后处理功能,因此。s t a r c d 是最实用的 4 基于v t k 的冶金流动过程仿真研究 c f d 分析工具。特别值得一提的是,s t a r c d 有专门的气动声学分析模块。最新 单用户版s t a r - c d 每套售价约l t2 万美元。 p h o e n i c s 软件是英国c h a m 公司开发的产品,它是全球第一个商业c f d 软件, 在全球有上万合法用户。c h a m 公司总裁d b s p a l d i n g 教授是英国皇家学会的会 员,计算流体力学的鼻祖。p h d e n i c s 软件于8 0 年代末进入中国,目前各主要高 校基本上都有。其特点是历史最长,开放性较好,价格便宜,但该软件同其公司 一样,似乎发展不够,有点老化。最新版p h o e n i c s 每套售价约4 5 万人民币。 c f x 主要用于仿真和分析各种流体设备过程中的单相和多相流动、传热问题, 以及流动与化学反应、燃烧等现象的耦台。c f x 对于工业界的意义在于,可以部 分甚至全部取代试验。c f x 在计算机上模拟流体设备的性能,相当于“虚拟试验 室”,与真实试验所不同的是,c f x 免除了物理制造和测量,因此产品开发的费 用和时间周期都大幅减少。不仅如此,通过c f x 还可获得流场的三维详细图像和 数据,在此基础上分析流场存在的问题( 如效率、损失、噪声等) ,并进步改进 和优化设计,而这一点通过试验手段往往很难实现,甚至不可能实现。c f x 对于 工业界的另一个意义是,第一次在真正意义上实现了设计和分析的结合。一个新 产品的开发不再是等样机制造出来以后才去分析和改进,而是在设计的同时进行 分析、改进、优化,这样到样机制造和试验阶段的设计已是相对成熟和完善的设 计,对于新产品的开发来说,这不仅大大减少了设计的反复,而且保证了产品开 发的一次成功率,这种设计方法在a e at e c h n o l o g y 称之为“设计分折一体化”。 截止到1 9 9 8 年底,c f x 的全球用户己达4 0 0 0 余家,并仍以每年3 0 速度在递增。 该软件目前我国的主要用户在航空航天领域,价格较贵。 1 4 研究背景分析和主要内容 t 4 1 研究背景 随着计算机技术的日新月异,c f d 在冶金工业中正发展成为改进生产工艺和 产品质量的有力工具。其作用主要表现在:详细分析过程机理和由实验无法获得 的诸方面信息,减少实验和消耗,放大装置和灵活估测新工艺过程,优化工艺和 操作。因此,c f d 作为一种研究手段具有较大的灵活性和发展前景,但可以想象 基于v t k 的冶金流动过程仿真研究 随着应用研究问题的不同,c f d 也应作相应的改变。在冶金生产中,反应器内的 流体主要是铁水、钢水和用于搅拌精炼的气体。它主要关注的内容为:( 1 ) 本体 的传输行为( 2 ) 界面的化学反应( 3 ) 边界层内的传输现象( 4 ) 复杂的耦合现象 ( 流动、传热、气泡流等) u - i o l 。因此,为了能更好地认识发生在冶金过程中各类 现象及内在相互联系,有必要设计开发专门的c f d 软件以模拟实际现象,对计算 结果进行检验,对所采用的方法进行评估和对应用的知识进行积累| l “4 i 。 在这种情况下,我们与上海宝山钢铁公司合作开发了一套具有自主版权的 c f d 仿真系统软件。系统的开发以宝钢的生产需求为依据,直接服务于生产科研。 从实际应用要求出发,该系统应具有易安装、扩展性良好、人机界面友好、功能 操作简单等特点。 1 4 2 论文的主要研究内容 c f d 软件通常包括三个模块:前处理模块、求解模块以及后处理模块,本文 主要针对这些模块中的算法实现进行研究,并且以六流中间包模型 1 5 - 1 6 1 为例给 出了具体应用的例子。 ( 1 ) 前处理模块的设计和实现 前处理模块通常是指建立描述问题的几何模型( 或者从外部导入) ,输入各种 必需的参数,最后由软件自动生成网络。 这里的主要问题是如何针对钢水包,根据它的特征( 如进水口、吹气口等) 按照给定的原则进行网格划分。 ( 2 ) 求解模块设计和实现 求解模块是根据前处理过程所生成的模型的网格、所选的数值算法、边界条 件等进行迭代求解,并输出计算结果。 这里的主要问题是,在计算的同时显示一系列计算参数的残差曲线图,可以 使用户随时监视计算情况,因为迭代计算往往需要一到二个星期。 ( 3 ) 后处理模块设计和实现 6 基于v t k 的冶金流动过程仿真研究 后处理过程通常是对结果( 如温度场、速度场、浓度场等) 进行可视化处理。 这里主要关注的问题是如何使用v t k 类库实现云图、等值线图、矢量图、流线 图以及动画的制作。 1 5 论文的组织结构 本文第一章介绍了c f d 技术及其在现代工业中的应用,国内外c f d 软件现 状,并分析了本文研究的背景和主要内容。 在接下来的章节中,本文将结合系统进行具体阐述。 第二章主要介绍作为主要开发工具的v t k 的背景知识,它的主要特点。 第三章介绍了系统的设计思路,为什么使用v ,r k 类库以及系统的功能模块 图。 第四章详细阐述了前处理模块的设计及其实现,重点研究网格划分的相关问 题。 第五章详细阐述了求解模块的设计及其实现以及残差曲线图的制作。 第六章详细阐述了后处理模块的设计及其实现,重点是v t k 环境下可视化 的实现,这是本文的重点。 第七章对全文做了总结,并对将来进行了展望。 基于v t k 的冶金流动过程仿真研究 第二章v t k 类库设计及其功能 2 1v t k 类库产生及其功能 2 1 1v t k 类库的产生 随着计算机技术的不断发展,计算机的处理能力也越来越强。现在我们用普 通的计算机就可以完成那些以前只有在高级u n i x 图形工作站才具有的复杂的图 形、图像处理功能。医学成像技术、卫星探测技术、地质勘探技术的进一步发展, 为我们提供了庞大的复杂的数据,怎样将这些复杂的数据以图像的方式,直观的 利用计算机显示在人们面前成为大家一个研究的热点。科学计算可视化这一研究 学科也因此兴起。同时,计算机多媒体技术的发展,特别是计算机游戏产业的发 展,使得对怎样有效的利用计算机处理三维图形也日益为大家所关注。为了方便 有效的利用图形卡的硬件加速功能,现在已经有几种通用的三维图形库供大家使 用。其中,0 p e n g l i ”1 作为由s g i 公司提出的语法简练、功能强大的三维图形库, 为各大图形处理芯片设计制造商所支持,也被s u n ,m i c r o s o f t ,h p 等硬件制造 商、操作系统开发商所支持,加上众多图形图像处理软件开发商纷纷以它为基础 开发复杂的图形图像处理软件,使它成为事实上的工业标准。同时,微软的 d i r e c t x 由于与w i n d o w s 系列操作系统紧密地集成在一起,也获得了越来越多的 支持。上述几种图形、图像处理库虽然有容易调用的接口,良好的硬件支持性, 但是他们大多仅仅具有基本图形图像的显示功能,对一些常用的科学计算可视化 算法【”1 ,如等值面抽取、m a r c h i n gc u b e s 、数字图像处理算法等,则需开发人 员自己实现。软件复用技术,特别是面向对象技术的发展和成熟,使大家认识到, 我们可以利用面向对象的技术,将这些通用的算法进行封装和实现,方便大家的 调用和扩展。现在有许多研究者正在设计和实现基于面向对象技术的三维图形和 科学计算可视化算法处理库。其中,v t k 类库是其中一个设计良好的、使用广泛 的类库。1 9 9 3 年,w “1 j a mj ,s c h r o e d e r ,k e n n e t hm ,m a r t i n ,w i l lj a me , l o r e n s e n 三人在l ”1 的基础上,利用以前设计和开发的科学计算可视化图形库的 经验,利用面向对象的设计技术,重新设计和开发了用于三维计算机图形、科学 基于v t k 的冶金流动过程仿真研究 计算可视化、图像处理的c + + 类库v t k ( t h ev i s u a l i z a t i o nt o o l k i t s ) 。v t k 是一个源 代码开放的、跨平台的用于科学计算可视化处理的类库。由于它的开放特性,v t k 被世界上很多的研究机构、图形图像处理软件开发商做为研究计算机图形、图像 处理、科学计算可视化的工具,并在此基础上开发相应的应用软件。在广大研究 人员的支持和帮助下,v t k 获得越来越快的发展,其功能越来越完善,性能也越 来越强。 2 1 2v t k 基本功能介绍 v t k 是一个基于c + + 语言设计和开发的、跨平台的( w i n t e l u n i x ) ,用于进 行三维计算机图形操作、图像处理、可视化系统开发的类库1 2 0 。v t k 的核心用 c + + 语言开发,同时它也支持t c l 、p y t h o n 、j a v a 等解释型语言对它的调用,便 于迅速有效的开发复杂的应用。v t k 可以被集成于w i n d o w s 窗口界面,或t k 、 x m o t i f 等窗口组件,以开发基于窗口的应用。 v t k 提供对多种数据格式的支持,包括无结构的点集( u n o r g a n i z e dp o i n t s e t s ,p o l y g o n a ld a t a ) 、多边形数据( p o l y g o n a ld a t a ) 、图像数据( i m a g e s ) 、 体元数据( v o l u m e s ) 、结构化的网格数据( s t r u c t u r e d ,r e c t i l i n e a r ,a n d u n s t r u c t u r e dg r i d s ) 等的支持。v t k 提供的文件读写功能,能够读写多种格式 的图形、图像文件,使它可以方便地与其它的应用共享数据。对v t k 读入的数据, v t k 提供几十种操作,如图像滤波、图像卷积、图像的缩放、d e l a u n a y 三角化算 法、常用的可视化法等。v t k 的绘制模型( r e n d e r i n gm o d e l ) 可以支持二维计算 机图形、多边形、体数据、纹理等基本图形元素的混合绘制。 2 2v t k 类库结构 2 2 1v t k 类库层次结构 v t k 主要有两大部分组成】,利用c + + 语言编写的编译后的核心层( 口+ c l a s sl i b r a r y ) 和按照一定规则生成的支持脚本语言的解释层( t c l t k ,j a v a e t cj n t e r p r e t e di n t e r f a c e ) 。当前v t k 的解释层支持t c l ,j a v a ,p y t h o n 等语 9 基于v t k 的冶金流动过程仿真研究 曼奠皇曼曼置舅| 置量曼皇曼罾曼量! 鼍曼曼! 曼芭舅舅鼍曼量舅i 蔓曼曼量e 曼曼舅量曼蔓蔓曼 言。如图2 1 所示:在v t k 的编译层中,有关图形图像处理相关的数据结构、算 法、时间关键性的功能等被封装成c + + 对象,为v t k 其它的类,或其它程序所调 用。在该层中,将公共的功能抽象成一系列基类,利用这些基类中定义的虚方法 ( v i r t u a lf u n c t i 0 1 3 8 ) 确保v t k 的移植性和该类库的可扩展性。 图2 1v t k 类库的层次结构。 计算机语言有两种类型,编译型和解释型。用编译型语言所写的程序通常能 够获得比解释型语言更高的性能,但这往往需要牺牲编写程序的效率和跨平台功 能。编译后的v t k 动态连接库,在与相应脚本语言绑定以后,形成这些解释型语 言的接口,成为解释层部分。利用解释层的接口,我们可以很方便的用t c l t k , p y t h o n t k ,j a v aa w t 等解释型语言进行快速开发或试验v t k 的新功能,极大的 提高了效率。与编译型的语言相比,解释型的语言在灵活性、可扩展性有较大的 优势。例如,利用脚本性的g u i 原型的解释语言t c l t k ,p y t h o n t k ,o rj a v aa w t 能够非常容易、快速地开发专业的基于窗口的应用。但由于我们的系统是用 r e + + 6 0 开发的,因而我们主要是对v t k 的核心c + + 类库进行扩展,实现我们所 需的功能。 2 2 2 y t k 类库功能分类 从v t k 4 0 版本开始,它新增加了常用的图像处理算法,如图像滤波、缩放、 各种格式图像的存取等。v t k 类库从功能上来分,可以分为三部分:计算机图形 显示部分( g r a p h i c sm o d e l ) 、可视化处理部分( t h ev i s u a li z a t i o nm o d e l ) 、图 i o 基于v t k 的冶金流动过程仿真研究 像处理部分( i m a g ep r o c e s s i n g ) 。从”k 类库中的对象类型来分,可以分为两种: 一种是数据对象( d a t ao b j e c t ) ,该类对象用来表示常用的图形或图像数据,在 数据对象中,以数组的方式保存数据,数据集对象( d a t as e t so b j e c t ) 是一类特 殊的数据对象,该类对象除保存数据外,还附带数据对象的属性,如几何拓扑结 构、法向量等等,例如表示一个点的对象则需保存该点的三维坐标而表示三角 形的对象则须有该三角形的每个顶点的坐标,每个顶点的法向量等等,图2 2 显 示了几种典型的数据对象,该图包含了四种对象,分别是图像对象、基本图元对 象、结构化点集对象、非结构化点集对象等:另一种对象可称作操作对象 ( p r o c e s s i n go b j e c t ) ,该类对象对数据对象进行处理后获得所需数据,将图形、 图像数据处理算法封装后形成的类,一般都属于操作对象。v t k 类库包含上百个 这样的对象,使用v t k 类库的关键就是怎样正确的是使用各种操作对象,对数据 对象进行处理,得到我们需要的结果,最后在窗口中把它绘制出来。v t k 中的操 作对象可分为三种类型,包括s o u r c e s ,f i1 t e r ,m a p p e r ,s o u r c e s 类型对象的 输出为数据对象,各种图像的读写类,象v r k b m p r e a d e r ,v t k t i f r e a d e r , v t k b m p w r i t e r 等都在该部分内。f i l t e r 对象以一种数据对象作为输入,然后输 出相同或不同的数据对象。各种实现图像处理算法,图形数据处理的类都属于该 类型。m a p p e r 类对象则是图形、图像处理的最后一步,它将各种处理结果合在 一起,控制其在窗口中的显示或将处理结果数据存到硬盘上【2 ”。 基于v t k 的冶金流动过程仿真研究 图像体对象基本图元对象 结构化点集对象非结构化点集对象 图2 2v t k 常用的几种数据集对象 为了有效的管理v t k 类库,在该类库中,按照该类在类库中的作用,将其分 为以下几部分:公共部分( c o m m o n ) 、图形处理部分( g r a p h i c s ) 、图像处理部分 ( i m a g i n g ) 、文件读写部分( i o ) 、绘制部分( r e n d e r i n g ) 、数据转换部( f i l t e r i n g ) 等,每部分被编译成相应的动态连接库。各部分在类库中的层次如下图2 3 所示: 图2 3 各部分类库中的层次 田 甸 基于v t k 的冶金流动过程仿真研究 c o m m o n 是该类库的公共基类部分,其中v t k o b j e c t 是所有类的基类。v t k 中的绝大 数类都是直接的或间接的继承自v t k o b j e c t 。数据对象、窗口对象、操作对象等 对象的基类都位于该部分内。例如v t k d a t a o b j e c t ,v t k d a t a s e t s ,v t k w i n d o w , v t k p r o c e s s o b e c t 等类。此外,该部分还包括公用的保存数据的数组类,表示多 边形、矢量、张量、坐标系及其变换、显示图形、图像所需类的基类。在i m a g i n g 部分中,主要是实现各种数字图像处理算法的类,像图像的缩放、滤波、图像增 强、图像分割等。1 0 部分负责多种图形、图像格式文件的输入输出处理。r e n d e r i n g 用于图形、图像、可视化数据在窗口中的显示。g r a p h i c s 和f i l t e r i n g 分别用于 图形操作、数据格式的转化等。各部分的类都由c o m m o n 中的类继承而来,这种结 构非常有利于在v t k 类库的各部分中,根据需要对c o m m o n 中的基类进行扩展或继 承,实现相应的功能,这也是采用面向对象设计方法所带来的优势。 2 3 利用v t k 类库进行绘制 2 3 1 利用v t k 类库进行绘制过程 v t k 类库的设计目标之一是将复杂的图形、图像处理和显示过程分割成尽量 简单的对象,每个对象都必须定义明确,实现上述处理过程的部分功能。在图形、 图像的显示方面,共有许多种类控制他们的属性和操作。一是窗口类,该种类型 的类都是从v t k w i n d o w 继承而来,要显示计算机图形或图像到计算机屏幕上,必 须首先打开一个计算机屏幕上的窗口,窗口类负责打开一个窗口,管理打开的窗 口资源以及该窗口在屏幕上的位鼍,使用底层的图形图像显示函数库,将图形、 图像显示到该窗口,v t k r e n d e r w i n d o w 就是我们进行绘制时主要使用的窗口类, 为了使用工业标准的图形库,我们还可以使用v t k r e n d e r w i n d o w 扩展类 v t k o p e n g l r e n d e r w i n d o w ,实现对o p e n g l 图形库的支持另一种重要的类是绘制 类( r e n d e r i n g ) ,基类为v t k r e n d e r e r ,该类包含所要显示的数据对象,控制该 图形或图像数据的空间坐标系,控制它们在窗口中的显示区域,该类还可以设置 相机坐标,控制显示图形图像的平移、旋转、缩放等操作,可以通过该类设置显 示背景、光照等参数,因而绘制类是控制图形和图像等显示的最重要的个类。 一个绘制窗口类可以包含多个绘制类。这样在一个窗口中就可以同时显示几个不 基于v t k 的冶金流动过程仿真研究 同的场景,这样的设计对于在一个窗口中比较可视化的效果是非常有效的。通常 所用的绘制类为v t k o p e n g l r e n d e r e r ,它继承自v t k r e n d e r e r ,增加了对o p e n g l 图形库的支持。下图为在一个窗口中包含两个绘制类,显示图形的效果如下图 24 : 图2 4 在一个窗口中显示两个场景示意图 v t k o p e n g l r e n d e r w i n s o w 和v k o p e n g l r e n d e r e r 在类库中的继承关系如下图 2 5 所示: 图2 5v t k o p e n g l r e n d e r w i n d o w 和v t k o p e n g l r e n d e r e r 在类库中的继承关系 v t k r e n d e r w i n d o w 类管理绘制进程,它通过调用r e n d e r 0 函数,促使 v t k r e n d e r e r 类刷新窗口中显示的内容,完成绘制过程,一般的绘制过程如下: v t k r e n d e r w i n d o w * r e n w i n = v t k r e n d e r w i n d o w :n e w ( ) : 1 4 基于v t k 的冶金流动过程仿真研究 r e n w i n 一 s e t s i z e ( 6 0 0 ,3 0 0 ) r e n l 一 s e t v i e w p o r t ( 0 0 ,0 0 ,0 5 ,1 0 ) r e n l 一 s e t b a c k g r o u d ( o 8 ,o 4 ,0 2 ) r e n w i t l - a d d r e n d e r e r ( r e n l ) : 设置显示窗口在计算 机屏幕上的位置 在这里需设置绘制类所 包含的图形、图像数据 及其属性 设置第一个绘制类所 控制的图形图像的窗口 坐标系 设置背景 将它包含到绘制窗口 类中 v t k r e n d e r e r 丰r e n 2 = v t k r e n d e r :n e w 0 :在这里需设置绘制类所 包含的图形、图像数据 及其属性 r e n 2 一 s e t v i e w p o r t ( 0 5 ,0 0 ,1 0 ,1 0 ) r e n 2 一 s e t b a c k g r o u d ( 0 1 ,0 2 ,0 4 ) : r e n w i n 一 a d d r e n d e r e r ( r e n 2 ) : r e n w in - r e n d e r ( ) 将它包含到绘制窗口 类中 开始执行绘制命令, 完成绘制操作 上面所介绍的是普通的绘制,没有设计到图形图像数据的装载、处理等内容, 在v t k 类库中,控制具体的图形、图像数据,还有它们的属性的类,主要是p r o p s , m a p p e r s 、p r o p e r t i e s 三种类型的类,p r o p s 类型的类表示所要显示的二维、三 维实体,它包含该实体的可见性信息、方向、大小以及该实体的位置等。v t k p r o p 是所有这些类的基类,在v t k p r o p 中引入m a p p e r 类型和p r o p e r t y 类型的对象, m a p p e r 类型的对象引用数据对象,并知道怎样绘制该数据对象,p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿衰考试试题及答案
- 南县辅警考试试题及答案
- 2025年中学数学考试试卷及答案
- 2025年环境科学与保护考试试题及答案
- 2025年生态农业与农产品市场化考试试题及答案
- 2025年科技与社会发展课程考试试题及答案
- 铁路运输管理专业考试试卷及答案2025年
- 2025年公共关系与传播技巧考试试卷及答案
- 2025年初中生物知识竞赛试卷及答案
- 电脑帮助设计
- 2024年四川公安厅招聘警务辅助人员笔试真题
- 网站联盟广告专题报告
- 广东入团考试试题及答案
- 从实践中学习医疗人文关怀的案例分享
- 2025年上半年重庆合川区招考事业单位工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 平安人寿代理合同协议
- 2025年上海市松江区中考数学二模试卷(含解析)
- 贵州烟草专卖局招聘笔试题库2025
- 2025年高考语文考前复习诵读材料-13晨读材料
- 书画素养测试题及答案
- 钢琴艺术培训管理制度
评论
0/150
提交评论