(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf_第1页
(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf_第2页
(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf_第3页
(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf_第4页
(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(力学专业论文)基于模块推进的非结构网格生成方法研究.pdf.pdf 免费下载

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

文档简介

南京虢窄航天大学舸卜学位论文 接要 本文提出了一种基于模块推进的非结构网格生成方法。模块是 由多个预制的网格单元构成,可以是任意的多边行。文中以三角形 模块为例,介绍了模块预制的具体实施方法。本文的新方法与传统 波阵面推进法不同之处在于阵面推进用预制的模块代替了单元推 进。具体地说,根据空间步长的背景信息,从预存的网格模块中选 取当地合适的模块,直接复制或变形到计算区域实现的。这样做从 方法上确保了计算区域的离散速度优于传统方法。论文先以二维情 形为例,详细介绍了方法实施的各个环节,研制了对应的网捂生成 程序,生成了单段和多段翼型的非结构网格。并用二维e u l e r 方程有 限体积法求解器进行了绕流实例的验算,数值结果显示模块方法生 戊的 珂格能用于流场计算。在此成功的基础上,本文进一步把陔方 法摊j 一应用到三维物体的表面三角化。结合三维曲面的特点,先根 据多点择优的原则引入一个平面模块,再将该平面模块逼近到附近 的曲面上。为了确保网格的质量,论文对曲面网格进行了l a p l a c e 格 电松弛光顺。论文给出了三维表面三角化的实例。无论二维情形还 是三维情形,数值结果都显示出:用模块推进代替单元推进能有效 加速网格生成过程。表明该方法具有推广应用前景。 关键词 网格生成,非结构网格,模块推进,网格模块,有限体积 法,表面三角化 砖十模块推进的非结构网格生成方法研宄 a b s tr a c t i n t h is a r t i c l e an e wm e t h o di s p r es e n t e d f or g e n e r a t i n g u n s t r u c t u r e d g r i d si n t h ef r a m eo fa d v a n c i n gf r o n t t e c h n i q u e sb y u s i n gas e to fp r es c r i b e dm e s hm o d u l es e a c hm e s hm o d u l ei t s e l f c o n t a i n sas e to fm e s he l e m e n t sd u r i n gt h em e s hg e n e r a t i o n ,t h e s p e c i f i cm o d u l eisp i c k e df r o mt h ep o o lo fm e s hm o d u l esb a s e do i l s p a c ia gp a r a m e t e r so ft h eb a c k g r o u n dg r i d sa tt h el o c a la d v a n c i n g f r o n t i no t h e rw o r d s ,t h en e wm e t h o do fg r i d g e n e r a t i o ni sr e a l i z e d b yc o p y i n go rm o d i f y i n gp r e s c r i b e dm o d u l e si n t oc o m p u t a t i o n a d o m a i n t h ef a s t e rt r i a n g u l a t i o no ft h ec o m p u t a t i o n a ld o m a i nc a nb e e x p e ct e dd u et oi n t r o d u c i n gm e s hm o d u l e si n s t e a do fo n et r i a n g l ea s u s e di nt r a d i t i o n a lm e t h o do ne a c h s t e po fm e s hg e n e r a t i o n t h e i m p l e m e n t a t i o n0 ft h em e t h o di n2 - di sd e s c f i b e di nd e t a i l sa n di s s u c c es s f u l l yu s e df o rt h eg e n e r a t i o no fa i r f o i lm e s h e s :w h i c hcanb e u s e df o rf l o ws o l u t i o n so fe u l e re q u a t i o nb yf i n i t e v o l u m em e t h o d b e s i d e st h ee x t e n s i o ni sm a d ef o r3 - ds u r f a c em e s h i n g :t h ea l g o r i t h m d e v e l o p e dc a nb eu s e df o rp r o v i d i n gh i g h l yq u a l i f i e di n i t i a lf r o n tf o r 3 - du r l s t r u c t u r e dg r i dg e n e r a t i o n t h es u c c e s s f u lt es tc a s e so fm es h g e n e r a t i o n o b t a i n e d b yu s i n gt h ep r e 5 e i l t e dm e t h o ds h o wt h e p r o c e d u r eo f f a s t t r i a n g u l a t i o na n dt h ep o t e n t i a l i t yo fw i d e a d p l i c a t i o n s k e yw o r d s :m e s hg e n e r a t i o n ,u n s t r u c t u r e dg r i d ,m o d u l em e t h o d , m e s hm o d u l e ,f i n i t e v o l u m em e t h o d ,s u r f a c et r i a n g u l a t i o n 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立 进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本 论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明 确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数 据库迸行检索,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后适用本承诺书) 作者签名: 日期: 谢强 2 p 嗒j 【) 南京航空航天大学硕士学位论立 1 1 研究背景 第一章绪论 上世纪六十年发展起来的计算流体力学( c o m p u t a t i o n a lf l u i d d y n a m i cs ) 就是用计算机来模拟解决复杂的流动问题。随着计算机的 飞速发展及各种算法的出现改进,计算流体力学( c f d ) 已经成为一门 独立的学科,在解决流动的理论和工程问题中发挥着巨大作用。在 短短的几十年里,跨音速小扰动方程、全位势方程、e l u e r 方程、 n a v i e r s t o k e s 方程的求解已经取得了显著的进展,有的已经发展得 相当成熟。它与实验方法相互补充、相互完善,共同解决复杂的流 动现象及工程设计问题。 计算机技术的迅猛发展使得用几百万甚至上千万网格点离散流 场成为可能。但是航空航天等诸多应用领域实际问题的复杂性对网 格生成提出了严峻的挑战。网格生成大致占整个计算周期的6 0 一 7 0 的时间,而复杂外形的表面描述及表面网格生成一般要占网格生 成时间的7 0 一8 0 。由此可见,复杂外形的表面及空间网格生成 是阻碍c f d 走向实际应用的“瓶颈”问题之一。如何建立一套针对 任意复杂外形,并为c f d 服务的通用的网格生成方法,就显得尤其 重要。 长期以来,结构网格因其简单和直接而在c f d 的发展历程中扮 演着重要的角色,并取得了较大的成功。但结构化网格对离散三维 复杂物形存在一定的困难。近年来,非结构网格打破结构化的习惯 思维,以全新的面目受到c f d 工作者的普遍关注。非结构性带来的 是优越的几何灵活性,它不仅可以对复杂外形进行有效的描述与离 散,而且对任意外形具有良好的普适性;不仅如此,其随机的数据结 构非常利于进行网格自适应,因而可以更好地提高网格的计算效率。 在求解e l u e r 方程和n s 方程的过程中,除了需要巨大的计算 资源外,制约e 1 u e r n s 模拟进入工业日常应用的另一个瓶颈是计 算准备阶段的人力成本。目前,在c f d 模拟中,需要最多劳动量的 工作是生成复杂外形适合于c f d 计算的数值网格,而在这中间,8 0 基于模块推进的非结构网格生成方法研究 9 0 的工作量又花在几何建模和表面网格的生成上。 网格质量的好坏将决定c f d 模拟的成败,考核指标包括:计算 区域的大小,网格的拓扑结构,网格规模,疏密的安排与过渡,光 滑性,正交性,均匀性,网格长宽比大小等等,多为定性指标,c f d 工作者的经验有很大影响。常见的结构网格可用代数方法、椭圆或 双趋型方程求解得到,对复杂外形可分块独自生成,然后在交接面 上对接或重叠组合成多块结构网格,这是过去二十年对三维复杂外 形用得最多的网格。因为是贴体网格,所以能以最精确的方式指定 边界条件,而且能方便地加密边界层中的网格。存在的问题主要是 自动化困难,复杂外形费时,对完整飞机,生成用于n s 方程的多 块结构网格,可能要3 4 周的时间,对简单的三维外形如机翼也要 2 3 小时。近年来非结构网格获得了越来越广泛地承认,常用基于 八叉树一四叉树( o c t r e e q u a d t r e e b a s e d ) 的细分算法、d e l a u n a y 三角化及阵面推进法。数据结构在其中扮演了很重要的角色。与结 构网格相比,具有巨大的几何灵活性,能迅速准确地描述像翼身结 合部、机翼挂架吊舱组合结构等外形,自动化和网格自适应能力强, 足以抵消方法本身的复杂性以及给流场计算增加的成本。但非结构 网格在模拟粘性流动进而湍流时存在困难,这导致了物面附近具有 结构网格特征的混合网格的使用。具有类似困难的可能还有笛卡儿 网格,尽管它有非常高的自动化能力,空问网格基本与外形无关, 但物面附近的格子被切割成并不统的形状,给方程离散及边界条 件的实旌带来麻烦。非结构网格和笛卡儿网格的准备时间都比较短, 对完整飞机,生成e u l e r 方程用的网格,前者需要2 3 天,后者只 要几个小时。所以对e u l e r 方程的模拟,应该说非结构网格最能够满 足工业界生成网格在几何灵活性、精度、效率、经济上的要求,事 实这方面的应用也越来越普遍。 如今的c f d 中数值计算方法主要又有限差分方法、有限元方法 和边界元方法等等,其中用得最多的是有限差分方法和有限元方法。 在数值模拟计算时,对于一个给定得求解区域,先将其划分为若干 个网格单元,然后将需要求解的流动方程在划分好得网格上进行离 散。这种方法在c f d 技术几十年发展历史中取得了巨大的成功。 基于模块推进的非结构网格生成方法研究 1 2 国内外研究进展 网格可分为结构网格 2 1 【3 i 4 m 1 和非结构网格 6 1 7 1 【8 1 9 j 0 1 。对于 结构网格,它的生成方法有:用代数方法来生成结构网格( 如双边 界法 2 1 、多表面法、超限插值法【3 1 等) :采用求解椭圆方程来生成流 场的空间网格分布的t t m 方法【4 l :求解双曲型方程或抛物型方程1 5 j 来生成空间网格分布的方法。对于非结构网格,它的生成方法有: d e l a u n a y 生成方法 9 l o 】1 1 1 l :阵面推进法 1 2 l ;四叉数网格生成方法【6 等。 对于结构网格但一般只适合处理计算区域相对简单的流动情 形,而对于复杂外形的绕流问题,需要用到块结构nj 等特殊处理技术, 目前改用非结构网格技术。非结构网格因具有处理复杂外形的能力, 而受到工程界的广泛关注。但对于变形、活动边界及不连续等复杂 情形,要生成合适的网格还比较难,而且耗费计算机时间较多 7 】。 近二、三十年中,非结构网格生成法不仅在理论上发展迅速,而 且己经被广泛用于航空、航天及民用工程中实际工程问题大多具有 非常复杂的几何外形,对计算网格的生成提出了很高的要求。而复 杂外形的表面网格生成是计算流体力学应用于实际工程问题首先需 解决的问题。在生成复杂外形的表面网格时需要耗费大量时间。因 此生成高质量,高效的网格至关重要。 用非结构网格处理复杂外形是人们公认的比较实用的方法。用 非结构网格和e u l e r 和n a v i e r s t o k e s 方程求解复杂外形的绕流已经 发展得比较成熟。菲结构网格的生成有以下几种方法: ( 1 ) d e l a u n a y 方法【9 1 1 1 。】【1 1 早在1 9 3 4 年,数学家d e l a u n a y 证明了对任意的点集,有唯一的 一组三角形网格,它能最大化三角形网格单元中的最小内角,即对 分布在一定区域的点。用d e l a u n a y 方法连接起来能尽可能地满足等 边三角形。对三维情况,三角形推广成四面体。用该方法生成非结 构网格,生成效率高,生成过程稳定,在工程设计中得到了广泛地 运用。该方法的优点是方便,速度快,生成过程稳定,但其也有缺 点:需要在网格生成过程中进行判断,以保证物面的完整性。 ( 2 ) 阵面推进法【1 2 t3 】【14 1 【15 】【6 】【17 】【18 】 该方法在目前较为流行。这种方法的步骤大致如下:l 、背景信 息的给出:2 、初始阵面的生成;3 、阵面向前推进生成网格;4 、网 基于模块推进的非结构网格生成方法研究 格光顺。背景信息可用背景网格或背景控制函数给出。在形成初始 阵面时,要保证阵面向前推进时法向向量始螫指向流场,这使得对 物体离散时有了很大的限制,增加工作量,尤其是对三维而言,表 面网格的生成要占整个工作量的很大一部分。初始阵面在向前推进 时,主要考虑点的生成及最优点的选择以及判断线与线、面与面之 间的交叉,当阵面数为零时,则生成完毕。该方法的优点是不需要 进行额外处理以保证物面的完整性,同时网格的质量也较好,但也 有其缺点:生成效率低( 每次只能生成一个网格单元) ,生成过程不 稳定。 ( 3 ) 0 c t r e e 方法f 6 这种方法是在流场内分布四边形单元或八面体单元,然后根据 有关准则使单元分成若干个单元,其形式如同一棵树干,派生出许 多树枝,重复这个工作使每个单元都满足准j 则为止,该方法的生成 过程简单,因而已受到人们的重视。这种方法的缺点是很难保证边 界形状,而且最终的网格需要加入很多逻辑关系来确保生成单元的 质量和边界形状。 在国内外,已经成功地用上述方法构造了外形复杂的非结构网 格。采用非结构网格开展复杂流场的数值模拟,近些年取得了很大 的进展,并且仍是目前计算流体力学学科中十分活跃的一个研究方 向。非结构网格的优点在于对复杂外形的适应性,并能方便地把自 适应方法应用到流场解中。非结构网格的生成方法中阵面推进法的 思路简单明了,具有质量好的增加节点办法,可以根据要求在任意 的位置进行加密和保持计算边界完整性等优点。 近年来,随着对流场研究的深入,网格使用的要求也越来越高。 要求网格生成的时间越来越快,在求解非定常问题中出现了重叠网 格 19 1 1 2 0 儿2 1 】和重叠区的网格重构 2 2 c 23 1 。 1 3 本文的主要工作 本文的目的是加快非结构网格生成的速度。在熟悉和掌握现有 的网格生成技术的基础上,本文提出了基于模块推进的网格生成方 法。针对平面和曲面问题,较详细地阐述了这一方法的创立过程, 并提出了具体的实施方法,给出了成功的算例。主要工作具体体现 在以下几个方面:u 4 南京航空航天大学颁十学位论文 ( 1 ) 提出了模块构造的方法 模块构造的好坏直接影响到模块推进方法的效率。文中分析研 究了模块的预制原理,并根据这一原理提出了模块的构造一般方法。 模块的形状可以是任意的,本文以三角形模块为例,展示了模块的 预制过程。由于其它形状的模块可以由三角形模块组合而成,因此 本文的方法具有一般的意义。 ( 2 ) 具体建立了模块推进的二维非结构网格生成方法 阵面推进法是常用的网格生成方法。本文基于阵面推进法生成 非结构网格,用模块推进代替原来单一网格推进,形成了基于模块 推进的二维非结构网格生成方法。本文详细介绍了该方法实施的各 个环节,研制了对应的网格生成程序,成功地生成了单段和多段翼 型的非结构网格。并通过算例展示出新方法的加速效果。 ( 3 ) 将模块方法用于三维物体的表面三角化 为了简化推广过程,本文用平面模块代替局部的曲面模块。但 如果在物体表面三角化的过程中,完全用平面模块代替曲面模块, 会造成物体失真过大。为了避免这种情况的出现,我们采用离散点 近似物体表面。在三角化的过程中,先引入平面模块,后将平面模 块逼近到物面上,成功地把模块方法推广用于三维物体的表面三角 化。此外,本文还用l a p l a ce 格点松弛光顺和边交换等技术对网格 做优化,确保了网格生成的质量。 ( 4 ) 通过用有限体积法求解二维欧拉方程,验证了网格的实用性 为了验证模块方法生成的网格能否用于流场计算,本文用有限 体积法编制了二维欧拉方程的求解器。对于定常问题,采用四步 r u n g e k u t t a 时间推进法,并采用当地时间步长加速收敛。数值结果 显示出本文生成的网格能用于流场计算。 基f 模块推进的非结构同措生成方法研究 2 1 引言 第二章两格模块及其预制 数值计算首先遇到的问题是计算域的离散,通常这一问题即是网 格生成问题。般来说,按生成的网格划分,大致可分为结构网格 和非结构网格。由于结构网格结点定义在每一层的网格交线上,生 成的网格受拓扑结构的限制。因此对复杂外形如飞机带外挂等几何 外形,要求生成整体结构化网格而保持网搐质量手拓扑有一定难 度需要用到块结构等特殊处理技术“。 非结构网格因打破了结构化的习惯思维,适合处理复杂外形,在 工程计算中已得到了广泛的应用f 1 8 i l 、 25 1 。d e l a u n a y 方法和阵面推进 法是目前公认比较成功的非结构网格生成方法。d e l a u n a y 方法的优 点是生成的网格有质量,其效率较高;但存在流场边界的穿透问题, 解决穿透问题需要用到边界点的特殊布点 25 1 。阵面推进法构成的初 始阵面可以包含流场边界,因而能确保计算边界的完整性。无论阵 面推进法,还是d e l a u n a y 方法,网格的生成过程都是按三角形单元 的引入进行的伴随着大量韵基于角度和长度的计算。如果网格的 生成过程每次引入前不是一个单元,而是由多个单元构成的筷块结 构有望大大加速网格的生成过程。本文发展一类基于模块的快速 生成方法,在介绍方法之前本章将讨论模块的提出与预制问题。 2 2 模块加速思想的提出 现在所需要求解的流场越来越复杂,而在流场计算中,网格生成 耍耗费大量的时间,这就造成整个计算周期长。为了缩短网格生成 的时间,在进行非定常计算时已使用了重叠网格的方法。 在重叠网格使用时出现了重叠区的内部网格边界确定方法和重 叠区网格挖空后局部重构的方法。前一萃孛方法需要特殊的流场计算 程序处理网格重叠部分。后一种方法需要在网格的空白区重新生成 网格。 南京航空航天大学硕十学位论文 内部网格边界确定方法是先分别生成多个计算域的网格,如图 2 1 。各个计算域之间存在网格的重叠,为了减少计算我们将重叠区 的部分网格删除,为了网格能够用于计算,需要做一些特殊的网格 统计, 内部网格边界确定方法的步骤如下: 1 、在每一个计算域生成非结构网格: 2 、按相邻查找创建网格单元的连接信息; 3 、在网格中,对每个结点计算到固定边或具体边的最小壁面距离。 4 、循环每个网格,获得各个区域的网格及边界信息; 5 、建立插值信息。 幽2 ,】重叠网格图图2 2 挖空后的大圆网格图 剧2 3 小圆网格图 该方法的优点是网格生成快, 图2 4 重叠后的网格图 可以直接利用已有的网格,各个物 体之间的网格是相互独立。但是缺点是要额外处理重叠部分的边界 网格查找和数值插值,需要一套特殊的解算方法。 网格挖空局部重构的方法步骤如下: 基于模块推进的非结构网格生成方法研究 1 、最初的各个物体网格生成: 2 、挖出合理空白区域,使两个区域的网格不重叠,边界之间的距离 合理: 3 、确定空白区域的边界阵面; 4 、对空白区用阵面推进的方法生成网格( 推进时做推进尺度的处 理) : 5 、网格光顺。 图2 5 整体重叠网格图 图26 挖空相应区域后网格图 图2 7 挖空区域的网格生成图图2 8 最终网格图 该方法的优点是网格生成快,可以直接利用已有的网格,各个物 体之间的网格是相对独立的。可用已有的解算器迸行流场计算。缺 点是在利用已有的网格时网格之间的连接不好。 这两种方法的共同之处是利用了已有的网格结构,通过某种具体 的方法处理,快速得到满足流场计算的网格。如果我们在网格的生 成阶段也引入一些已有的网格结构单元,这样就可以大大加快网格 生成的过程。受到这样的思想启发,我们考虑在网格生成的过程中 南京航空航天人学顺【。学位论文 引入一个已经三角化的结构,这样就加大了网格生成的区域,可以 快速的生成初始网格。我们将这个已经三角化的结构定义为一个模 块,在不同的引入区域引入不同的模块。这样我们可以用模块充满 整个离散区域。 2 3 模块遵循原则 上一节提到了用一个已经三角化的结构定义为模块。这样的模块 如何得到呢? 合理的模块应该遵循什么样的原则? 我们有必要分析 这些问题。 如果在网格生成的过程中引入的模块的方式不当,会造成网格生 成的时间增长,达不到缩短网格生成时间的目的。如果引入的模块 与已有的网格边界搭接不当,会影响网格生成的速度。如引入下图 形式的模块。 图2 9 一种模块引入方式图 引入图示的模块后,会造成阵面不断加大,阵面的增加必然会增 加阵面查找的时间,使得网格生成的时间增长。同时模块与已生成 的网格之间的间距不易控制,而且引入模块的区域确定困难,增加 模块引入的难度。如果模块和已三角化的区域能够自然的连接在 起,这样就可以避免上述问题。我们把模块的边界标准化,就可以 解决上述问题。这一标准化的过程归纳一下可以总结为:1 、在网格 的生成过程中,模块的引入以不增加更多的计算量为前提;2 、同一 模块可以反复引入;3 、构成模块的内部单元质量上有保证。遵循上 述原则的模块一般可考虑由规则的多边形构成,本文下面以三角形 模块为例给出模块的具体预制过程。 基于模块摊进的非结构刚搭生成方法研究 2 4 模块的预制 基于模块的网格生成方法称为模块方法。该方法与传统的阵面推 进法不同之处在于每次引入的是一个模块而不是单个的三角形单 元。而模块是由多个三角形单元构成的群体。那么模块从何而来呢? 模块是在给定的区域中由多个三角形单元组成。为了使模块在 调用的时候方便,我们将模块的边界约定为规则的多边形( 可以保 证模块之间连接方便) 。本文采用了三角形模块( 其它的多边形模块 可以由三角形模块组合出来) ,同时给出了三角形模块预制的方法。 预制好的模块在网格生成过程中可灵活调用,而且模块可以重复使 用。并在引入调用时简单方便,计算量小。 在计算域内,只要我们能够保证引入的三角形接近正三角形, 就能够满足计算的要求。模块预制应遵循模块中的三角形单元接近 正三角形。我们定义模块的一条边界为一个阵元,每条边界上的一 个线段为一个微元。考虑模块边界变化的灵活性,根据模块边界上 不同的微元数预制不同的模块。- 我们预制边界微元数在2 7 之间变 化的模块( 如有需要可以增加模块边界的微元范围) ;预制模块的边 界由等长的微元构成,并简化一些重复的模块,最终做出了6 5 个模 块。单个模块生成由现有的网格生成软件得到,图2 1 0 中展示了部 分模块的变化情况。为了使预制模块能方便地引入到计算域中,则 要建立一种简单、有效的查找方式和模块使用信息。 觚众 ( a ) 第3 7 种模块( b ) 第5 2 种模块 南京航空航天大学硕士学位论文 ( c ) 第5 6 种模块( d ) 第5 9 种模块 图21 0部分模块示图 当我们构建好原始模块后,需要解决如何使生成的模块能够灵 活的在网格生成过程中应用。在原始模块中,知道了各个模块的节 点数、三角形单元数、该模块的每个节点的坐标及各个节点间的拓 扑关系。首先要解决在引入模块的过程中模块边界的搭接问题,我 们让模块的边界点信息按一个统一的标准给出( 这里是按逆时针给 出的) ,这样就可以保证模块在搭接时不会出现衔接的错误。在模块 引入的过程中,先要确定引入模块的区域。当确定了模块区域,我 们可知道一些模块的信息,如模块的定点坐标( 也就知道了模块的 边界) 。这样我们就可以确定模块没条边界上的节点数。 为了有效地引入模块,模块信息最好能通过边界的节点数及模块 的顶点坐标获取。由于每个模块的边界节点组合是唯一的,因而可 以通过边界节点组合查找到与之对应的模块。那么我们可以以边界 节点组合为模块查找的索引。当知道模块后,还需模块中节点间的 拓扑关系和各节点坐标。节点间的拓扑关系是可以直接给出( 在使 用时没有影响) ,如直接给出生成的模块的各个点的坐标,则在原模 块的坐标与模块引入当地的坐标有一个转换,这必然增加运算;我 们用有限元计算中插值函数【z6 j 得到各个节点的坐标。用插值函数来 计算节点坐标具有很大的灵活性,数学表达式如下: 矿j + i + :,= 1 一 ( 2 1 ) 才= 弃宰矽? + 雹术;+ 芽术武 ( 2 2 ) 基于模块推进的非结构h 备生成方法研究 痧影卢j 扎2 3 ( 2 3 ) 其中彳,彭,是节点i 的插值系数:亏是三角形的节点i 的坐标矢量: 芹,。r 2 ,葛是模块的顶点坐标矢量。s ;是节点i 与模块顶点,所对的 边构成的三角形面积,s 为该模块的总面积。通过( 2 3 ) 式计算出 每个模块的节点插值系数。按边界的节点组合存储各个模块的单元 数、节点数、内部各个节点插值系数及各节点间的拓扑关系。 模块的节点数 模块的节点单元数 模块中的三角形单元数 对1 顶点对2 顶点对3 顶点 的插值的插值的插值 各节点的插值信息( n 个) 屯嘎 吗 该单元的该单元的该单元的 各个三角形单元的拓 1 节点的 2 节点的 3 节点的 序号序号序号 扑关系 n n 2n 3 图2 1 i 模块信息存储表 我们有了上述模块,还可以组合出其它形状的模块( 可以增大模 块的种类) ,在新的模块出现时应该考虑该模块在引入时的灵活性。 尽量减少的汁算量和模块区域的确定方便、快捷。 2 5 小结 本章描述了模块方法来源,以及采用模块方法带来加速网格生成 的优越性,并以三角形单元模块为例,介绍了模块构建的预制问题。 为了方便、快捷的调用模块结构,本章还介绍了一种模块特征信息 的提取和整理方法。最后给出一种模块特征信息可行的查找方法。 至于其它结构的模块( 如四边形等) 的预制以及有关模块信息的 提取与快速查找问题有待进一步研究。 南泉航卒航天犬学硕士学位论文 第三章基于模块的二维非结构网格生成 3 1引 言 流场的数值模拟与网格密切相关。非结构网格因打破了结构化 的习惯思维,适合处理复杂外形,在工程计算中已得到了广泛的应 用。d e l a u n a y 三角化方法和阵面推进法是目前公认比较成功的非结 构网格生成方法。无论是阵面推进法【”j ,还是d e l a u n a y 方法【9 j ,网 格的生成过程都是按单个单元的引入进行的,伴随着大量的基于角 度和氏度的计算。如果网格的生成过程每次都能多个单元群体引入, 有望大大加速网格的生成过程。 本章基于这一思想,在二维域中实现这种利用模块在平面域内生 成非结构网格的快速生成方法。该方法将以阵面推进法( 见文献1 8 , 本文就不详细介绍) 为基础,以三角形模块为例,用一次生成一个 三角形的模块区域推进实现。先预制一些网格模块,每个模块是由 多个三角形构成。然后将大小合适的模块引- 入到当地计算域中。模 块的大小确定沿用非结构背景网格技术控制。由于网格生成是基于 模块直接引入的,且模块是预先给定的,因而减少了选点、查找和 构造三角形单元的时间,因此能大大提高网格的生成速度。本章通 过网格生成实例结合网格优化方法,具体介绍了新方法的实施过程。 3 2 非结构背景网格及控制参数 阵面推进法首先需要有合适的背景信息。本文采用非结构背景网 格与可调节背景控制函数相结合的办法给出背景信息。背景网格可 由覆盖计算区域的三角形单元人工构造形成,三角形单元的大小及 数量可预先根据经验,如当地的物形几何或流场变化率确定。背景 网格的每个节点对应一组网格生成所需的空间步长等控制参数。推 进过程中任意点的控制参数由背景网格上的节点信息线形插值获 得。为了减少人工干预,本文利用不可压位流解来给定流场中的控 制参数分布。以翼型网格生成为例,本文简单地把计算区域分为两 攮于模块推进的非结构网格生成方i 去研究 部分在翼型附近2 倍弦长范围内,背景信息按如下形式的函数确 定 l ( x ,y ) = c ( 2 :l :刀木( x 2 + y 2 ) ) ( 3 1 ) x = x o 一言,y 2 y o + 7 7( 3 2 ) 其中l ( x ,y ) 是点( ,y 。) 的空i n 步长量:控制常数c i ) 是单个模块阵面的子线段数。在该曲线段上均匀分稚奸i 条子 线段。 罐十模块摊i | :的非结构同情生成方法研究 t3 ) 检查每个模块阵面上的各点到该模块阵面端点直线的距离 是否小于a tz 。( f 。是模块阵面上子线段的最小长度) ,如果大于a4 ,。 ;城少子线段数h 如果小于d t ,。增加子线段数n 。( 这里取盘= 0 , 5 ) 重复( 2 ) ( 3 ) 步,直到取得最大的月为止。 对每条曲线段重复( 1 ) ( 3 ) 步。图3 3 中的曲线段表示一个 模块阵面,用直线的长度代表模块阵面的长度。记录每个模块阵面 的端点,每个模块阵面将是模块的一条边。为了保证边界的完整性, 用一个索引表联系模块阵面和模块阵面上的节点。 为了避免在后面引用阵面单元的描述不便,用阵元表示模块阵 面单元,用微元表示模块阵面单元上的子线段。下图中直线段是一 个微元曲线段是由5 个微元够成。 图33 阵元和微元关系示意图 ( a ) 微元点图 ( b )阵元点图 图3 4n a c a 0 0 12 翼型的物面离散点图 3 4基于模块推进的非结构网格生成方法 用推进的思想将预制好的模块引入到计算域中,这与传统方法 有很大的不同,而且保证相邻模块之1 1 ;i j 边界的匹配。图3 ,5 显示了某 时刻的模块引入步骤。在模块的初始阵面生成后开始模块推进,模 块推进的步骤如下: ( 1 ) 在所有的阵元中找寻最短的阵元a b 。从最短的阵元开始 推进可以生成质量较高的模块区域,并减少出现推进失败的可能性。 ( 2 ) 确定一最佳点咒作为候选点。r 的位置为= 艺“。+ n 。, 其中艺为阵元a b 的中点坐标矢量,f 。为阵元a b 两端点豹船,( 阵元 上的微元数) 倍步长均值,m 。为阵元a b 指向流场的单位法向量。 在只周围以口* z 。范围内( 般取口= 0 6 ) ,查寻阵元上的邻近点( 不 南京航空航天犬学顺卜学位论芷 包括点a 和b ) ,以备下一步筛选。因为r 与阵元a b 构成的新阵元 有可能与原有阵元相交,或者尽管模块a b p o 的质量很好,但在继续 推进时可能导致生成质量很差的模块区域。在候选点和阵元上的邻 近点中选出最佳点p 。 ( 3 ) 判定边a p ,b p 是否与其它邻近阵元相交。如果相交,则 选另外一个点继续判定:如果不相交,则引入由p 点与阵元a b 构成 模块a b p 。 ( 4 ) 如果引入的模块区域边界都是阵元,则直接到第( 5 ) 步。 雷则在新阵元上布点,以阵元b p 为例。从点b 到点p 以f ,为间距依 次布点,的计算如下: f ,= l b 丰f ( 1 ) + ( 1 一f ( 1 ) ) 宰f p ( 3 5 ) 式中,。是b 点的步长,“是p 点的步长,f ( 1 ) ( 在0 1 之间) 是阵 元b p 上某处的插值。,是点,的步长( i = o ,竹,”7 ) ,点o 是点b , 点n 。是阵元b p 上沿历距点n ,为,的点,是点n ,到点b 的距离,引 入点。令i = + 1 ,继续引入新的点h 。直到点。在阵元b p 外, 则计算点。到点p 的距离f 。如果,。,大于卢+ ,则令点n ,为点p ; 如果,、。,小于一,则令点n 。为点p ( 文中= 0 4 ) 。按以上方法在新 阵元上布点。 ( 5 ) 通过各边界节点组合选取对应的模块类型,引入模块节点 系数和点的拓扑关系( 如在模块库中没有,则调用单个三角形单元 生成程序,对陔模块区域三角形化) ,通过模块的顶点坐标计算出内 部各节点坐标,添加新的节点和三角形单元。内部节点坐标的计算 方法如下: x i = x a 半矽且+ x b 木矽b + x p 木矽p ( 3 6 ) y j = y 爿木矽a + y 占半矽b + y 尸木矽p ( 3 7 ) i = + 1 ,n ,n 。是模块边界的节点数,n :是模块的总节点数。 0 。,y ) 、 。,y 。) 、 ,y ,) 是a 、b 、p 点的坐标,九,九,p 是各节点的 插值函数。 更改阵元的索引表,使他们满足逆时针包围流场区域。 ( 6 ) 重复进行( 1 ) ( 5 ) 的过程,直至没有阵元存在,初始 化网格生成结束。 堪于模块推进的非结构嘲洛生成方法研究 fa ) 选取模块顶点 ( b ) 模块边界布点 3 5 网格优化 ( c ) 模块的引入 图3 5 某时刻模块推进示意图 网格光顺是非结构网格生成中不可缺少的一个环节。通常的网 格光顺技术是基于弹簧原理的节点松弛法,即将节点坐标移至与之 关联的节点组成的多边形的中心,数学表述为: 匕= z ( 3 8 ) 其中n 为与点( x ,0 ) 相关联的节点总数。 一般情况,经过上述的节点松弛己能得到较好的网格,但对于 x 浏 = p z 南京航卒航天夫学倾七学位论丈 某些特殊情,仅实施节点松弛是不够的。比如,某个节点仅与周围 三个节点相关联,此时无论如何移动节点位置,都会出现个顶角 大于或等于1 2 0 。的三角形,其网格质量显然不能满意。因而采用一些 传统的光顺方法。如在平面域中常采用最大最小三角形内角法则, 以增大三角形的最小内角。在本文的实际网格光顺过程中,节点松 弛与对角线交换操作交替迭代进行。节点松弛与对角线交换操作交 替迭代进行。一般迭代三至五次即可得到满意的网格。 f 仁d l c 图3 6 光顺使只点移到p 点示意图 所谓的最大最小三角形内角法则,就是使构成四边形a c b d 的 两种组合方法的三角形的最小丙角最大。这样可以提高网格中的最 小内角,从而达到提高网格质量的目的。 d d c ( a ) 优化前的网格 b c 图3 7 边交换示意图 b ( b ) 优化后的网格 基于模块摊进的非结构网格生成方法研究 ( a ) 网格优化前的网格图( b ) 网格优化后的网格幽 图3 8 网格优化效果图 上图中可以看出,原有的网格优化方法对模块方法生成的初始网格 是同样有效的。在优化时不需要做特殊的处理。 3 6 网格生成实倒 当采用引入三角形模块推进的方法时,使得一次网格引入离散 的计算域增大,进而使得网格生成的速度大大加快。图3 9 和图3 10 清楚地显示了本方法与传统方法在相同的引入步数时对同一计算域 离散区域的差异。在相同的引入次数时,传统方法只离散了较小的 区域,新方法已经离散完了计算域。这新方法与传统方法相比较, 所具有的优点。 ( a ) 引入一个三角形单元 ( b ) 引入2 0 个三角形单元 南京航卒航天( 学顺十学位论文 ( c ) 引入3 2 个三角形单元 图3 9 传统的三角形单元引入推进方法 ( a ) 引入一个三角形模块( b ) 引入2 0 个三角形角形模块 ( c ) 引入3 2 个三角形模块 图310 三角形模块引入推进方法 我们在前面提到模块方法能够提高网格生成的速度,并在引入 的步数上表现出来。我们还在相同的程序运行环境下,对模块方法 2 基于模块推进的非结构网格生成方法研究 和传统的单个三角形单元生成方法所用的时间进行对比( 这里给出 n a c a 0 0 1 2 翼型网格和某多段翼型网格) 。模块方法与传统的方法主 要的差异在于生成初始网格时方法不同,而在网格光顺时耗费的时 间相当。两种方法采用了相同的查找方法,主要的区别是传统方法 每次引入一个三角形单元,模块方法每次引入一个三角形模块。在 生成完初始网格后,模块方法与传统方法所用机时之比小于l :4 0 。 我们在图3 1 1 和图3 1 2 中分别看到用两种生成的n a c a 0 0 1 2 翼型网 格和某多段翼型网格所用的时间对比曲线。模块方法生成网格的时 间曲线比较平缓,很快就生成完初始网格:而传统方法生成网格的 时间曲线较陡,花费很长的时间才生成完初始网格。这说明用块结 构的方法加速网格生成是有效的。 图3 1 1n a c a 0 0 1 2 翼型两种方法生成的时间对比图 图3 1 2某三段翼型两种方法生成的时间对比图 南京航个航天大学顺l 学位论文 我们用改进后的方法生成了n a c a 0 0 1 2 翼型和某多段翼型网格。 我们给出了绕n a c a 0 0 l2 翼型和多段翼型网格的网格算例。计算域 的圆点为弦中心,半径为5 倍弦长的大圆。图3 13 3 1 4 展示了 n a c a 0 0 12 翼型的网格生成过程中两个时刻的图形。图3 ,1 5 为光顺 以后n a c a 0 0 1 2 翼型的最终网格图。由图3 15 可以看出,n a c a 0 0 12 翼型网格从边界均匀过渡到远场。在翼型附近给的空间步长的较小, 因而网格分布相对较密。这样保留了网格均匀过渡优点,并且网格 的疏密可以控制。 非结构网格在离散复杂外形时有着结构网格不可比拟的优越 性。该方法能够处理复杂外形,并能够保证物面的完整性。图3 1 6 3 17 显示了n a c a 0 0 1 2 翼型附近的网格。图3 18 3 2 0 显示了某 _ 段翼型附近的网格。图3 16 为前缘附近的网格放大图,图317 为 二缘咐近的网格放大图。图3 16 317 和图3 18 3 2 0 表明在狭小 的区域采用该方法也能够取得非常好的效果。而且边界的形状良 好。随明本方法对保证边界完整具有同样的优越性。 图3 1 3 第2 5 0 步n a c a 0 0 1 2 翼型初始两格 基十模块推进的非结构同格生成方法耐f 究 图3 1 4第1 15 0 步n a c a 0 0 i2 翼型初始网格图 图3 【5 绕n a c a 0 0 【2 鬓型的网格 南京航至航天穴掌坝士字位诧义 图3 16n a c a 0 0 1 2 翼型头部的放大网格图 图3 17n a c a 0 0 l2 翼型尾缘的放大网格图 基于模块推进的非结构网格生成方法研究 图3 1 8 某三段粪型的翼型附近网格放大国 图3 1 9 某三段翼型的前缘襟翼附近网格放大图 南京航空航天大学硕士学位论文 图3 2 0某二段翼型的后缘副翼附近网格放大图 3 7 小结 本章以阵面推进法为基础,提出了一种新的非结构网格快速生 成方法。解决了上一章提出的问题,并运用模块生成网格,取得了 成功。网格生成的实例表明,本方法较传统的阵面推进法快得多, 而且保留了阵面推进法的物面完整的优点。而且采用传统的网格优 化方法能达到提高网格质量的目的。 我们也可以考虑引入一些其它形状的模块,如四边形,五边形 等,本文以三角形模块为例给出了算例。同是也可以跳出模块的限 制,引入一些满足网格要求的已经三角化区域。这样生成速度可以 提高的更多,正在进一步的研究中。当然,该方法还有许多要改进 的地方,如引入的模块如何更加贴近模块所在位置的尺度要求,以 及如何提高光顺的效率等问题。 基于模块推进的非结构网格生成方法研究 第四章任意多边形模块及e u l e r 方程数值验算 4 1 引言 我们在上一章介绍的方法只是模块方法中的一种情况,我们还 能够改变模块的形状和模块的引入方式。如:一次确定一个较大的区 域,引入模块到该区域。其它形状的模块如何获取? 我们能够用三 角形模块的组合来表示一个较大的多边形区域。这样所有的多边形 模块都可以用三角形模块的组合得到。本章前几节就模块形状的改 变进行介绍。 我们将计算域划分成很小的单元,( 生成网格) 是为了能够在小 单元上进行线性假设,从而求解偏微分方程。模块方法生成的网格 能否应用于实际中,本章将用有限体积法求解二维e u l e r 方程来验证 网格的实用性。 4 2 多边形模块形状 以三角形模块为例,上一章着重介绍了本文提出的基于模块的 网格生成方法。这一方法从原理上可以推广到任意形状的模块,本 节讨论这一过程可能的实现形式。 可以注意到前面提到的模块是由三角形单元组合而成的,那么 也可以用三角形模块组合出任意新的多边形模块。这样即扩充了模 块的种类,又减少模块的基数。 新的模块如何引入呢? 我们必须找出一种较为简单可行的方法 引入模块,对于多边形模块 边数大于4 ) , 为

温馨提示

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

评论

0/150

提交评论