CN102930563B - 一种基于双重控制网格的二维流场流线放置方法 - Google Patents
一种基于双重控制网格的二维流场流线放置方法 Download PDFInfo
- Publication number
- CN102930563B CN102930563B CN201210306292.2A CN201210306292A CN102930563B CN 102930563 B CN102930563 B CN 102930563B CN 201210306292 A CN201210306292 A CN 201210306292A CN 102930563 B CN102930563 B CN 102930563B
- Authority
- CN
- China
- Prior art keywords
- streamline
- grid
- flow field
- grid cell
- occupied state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Micro-Organisms Or Cultivation Processes Thereof (AREA)
- Apparatus Associated With Microorganisms And Enzymes (AREA)
Abstract
本发明涉及一种适用于二维流场的基于双重控制网格的流线放置方法,属于科学计算可视化中的流场可视化技术领域。该方法包括如下步骤:1.对于给定的二维流场,构造两个覆盖该流场定义域的正交控制网格GS和GT;2.在控制网格GS中任意选取一个空白的四联通区域,并在该区域内选取一个流线种子点;3.根据步骤2得到的流线种子点,计算并得到经过该点的流线;4.将步骤3得到的流线作为新流线放置到流场中,分别在GS和GT中为该流线设置饱和带和隔离带;5.重复步骤2、3和4,直到控制网格GS中所有网格单元都被标记为填充状态为止。本发明有效地改善了流线分布的均匀度,具有算法简单、计算量小和执行效率高等优点。
Description
技术领域
本发明涉及一种基于流线的流场可视化方法,特别涉及一种适用于二维流场的基于双重控制网格的流线放置方法,属于科学计算可视化中的流场可视化技术领域。
背景技术
在流体力学和空气动力学等领域,常常需要对流场进行可视化处理,将不可见的流场转化为可见的流场图像,以便科研技术人员察看并分析流场的情况。在现有流场可视化技术中,流线是最为常用的方法之一。
基于流线的流场可视化的关键是:如何建立高质量的流线图。这要求在流场中放置的流线不能太多也不能太少。如果流线太少,难以形成有效的流场模式。如果流线太多,则容易产生视觉混乱的效果。另外,流线的分布应该尽可能均匀。流线分布的均匀度,可以通过流线之间的最大间隔距离和最小间隔距离来衡量。
为了建立流场流线图,国内外学者提出了很多流线放置方法。就二维流场而言,比较典型有:Turk和Banks提出的由图像引导的流线放置方法(参见G.Turk and D.Banks.Image-guided streamline placement.Proc.ACMSIGGRAPH’96,1996:453-460.)、Jobard和Lefer提出的临近点流线放置策略(参见B.Jobard and W.Lefer.Creating evenly-spaced streamlines ofarbitrary density.Proc.8th EG Workshop on Visualization in ScientificComputing,1997(7):43-56.),以及Mebarki等人提出的最远点流线放置策略(参见A.Mebarki,P.Alliez,and O.Devillers.Farthest point seedingfor efficient placement of streamlines.Proc.IEEE Visualization’05,2005:479-486.)。这几种方法都可以建立流线间隔比较均匀的流线图,但是在效率上却有比较大的区别。在同等条件下,Turk和Banks的方法耗费时间最长速度最慢,Mebarki等人的方法速度最快。
Mebarki等人的最远点流线放置策略是通过流场的三角剖分来实现的,其基本思想是:根据流场已有流线的采样点,对整个流场做三角剖分,计算每个三角形的外接圆半径;如果最大外接圆的半径不大于某一设定的阈值,则认为所有流线都满足最大间隔距离要求,否则就在最大外接圆的圆心处放置一条新的流线;与此同时,在计算新流线的过程中,通过相关三角形的外接圆半径来控制流线之间的最小间隔距离。这种方法避免了直接比较流线采样点之间的距离,从而节省了大量的计算时间,但是其中的三角剖分不仅算法复杂,而且所需的计算量仍然比较大。
为了进一步提高流线放置效率,张文耀等人提出了一种更为简洁高效的基于单重正交控制网格和计数机制的流线间隔控制方法(参见张文耀,宁建国.一种拓扑驱动的平面流场流线放置方法,中国专利,CN200910235656.0.)。该方法按照预先设定的流线间隔要求,构造一个覆盖整个流场的正交控制网格,为每个网格单元设置一个计数器,通过计数机制来控制流线之间的间隔;初始时刻每个网格单元都是空白的,其计数值为零,如果某条流线经过某个网格单元,则标记该网格单元为填充状态,同时该网格单元的计数器值加1;如果流场中存在空白的网格单元,则按照某种策略在空白网格单元中放置新流线,直到所有网格单元都被填充为止。这种方法计算量小,执行效率高,然而不足的是:这种方法只能控制流线之间的最大间隔距离,无法控制流线之间的最小间隔距离。虽然在实际应用中可以通过限定计数器上限值来调节流线的间隔,但是在理论上流线间的最小间隔是不受控制的,因为在某些情况下两条流线可以在相邻的网格单元内无限接近。其结果是流线分布的均匀度受到影响,流线的可视化效果下降。图1给出了两条流线在相邻网格单元内非常接近的一个实例,其中流线S1通过网格单元C1,流线S2通过网格单元C2;由于C1和C2相邻,S1和S2虽然不在同一网格单元内,但是彼此之间非常接近,不符合流线放置要求保持适当间隔的要求。
为了高效地放置流线,同时明确地控制流线之间的间隔距离,包括最大间隔距离和最小间隔距离在内,必须有新的流线放置方法。
发明内容
本发明的目的是提供一种高效的、适用于二维流场的、能够控制流线最大间隔距离和最小间隔距离的流线放置方法。
本发明的目的是通过以下技术方案实现的:
一种基于双重控制网格的二维流场流线放置方法,包括以下步骤:
步骤1、对于给定的二维流场,按照下述方式构造两个覆盖该流场定义域的正交控制网格,其中一个网格用于控制流线种子点的选取,令其为GS,另一个网格用于控制流线的追踪,令其为GT。不失一般性,令GS和GT的网格单元都是正方形的,GS的网格单元边长为γ,GT的网格单元边长为λ。γ和λ根据实际需要设定,但是两者之间必须满足约束条件:γ=n*λ,其中n是大于等于3的正整数。
按照上述方式构造好控制网格GS和GT之后,将两个网格的所有网格单元都标记为空白状态。
步骤2、在控制网格GS中任意选取一个空白的四联通区域,并在该区域内选取一个流线种子点。
理论上,流线种子点可以是该区域内的任意点,但是种子点的选择会影响流线放置效果。在实际应用中,可以有多种选取方法,例如随机选取该区域内的某一点,或者是选取该区域内某角点网格单元的中心点,等等。
优选的,本发明采取的流线种子点选取方法是:计算该区域内所有网格单元的中心坐标的平均值,将其作为一个新的坐标点,如果该点位于该区域内,则选择该点为流线种子点;否则分别计算过新坐标点的水平直线和垂直直线与该区域相交的线段,选取其中最长线段的中点作为流线种子点。如果所选取的流线种子点在控制网格GT中对应的网格单元被标记为填充状态(即非空白状态),则将其调整为该点在控制网格GS中对应网格单元的中心点。按照这一方法选取流线种子点,可以使流线分布比较均匀。
步骤3、根据步骤2得到的流线种子点,计算并得到经过该点的流线。在计算流线的过程中,如果流线延伸到流场边界、速度为零的临界点、或者是控制网格GT中被标记为填充状态的网格单元时,该流线的计算过程就终止。
流线的计算方法包括但不限于中点算法、欧拉算法、龙格-库塔算法。
步骤4、将步骤3得到的流线作为新流线放置到流场中,为该流线设置饱和带和隔离带。饱和带的作用是控制流线之间的最大间隔距离,隔离带的作用是控制流线之间的最小间隔距离。
设置饱和带的方法是:在控制网格GS中将该流线所触及的所有网格单元标记为填充状态。
设置隔离带的方法是:在控制网格GT中将该流线所触及的所有网格单元标记为填充状态;然后扫描这些已填充的网格单元,将每个网格单元上下左右的相邻网格单元也标记为填充状态,其中已标记为填充状态的网格单元不做重复标记。
步骤5、重复步骤2、3和4,直到控制网格GS中所有网格单元都被标记为填充状态为止。
步骤6、最后,结束整个流线放置过程,完成所有流线放置工作。
有益效果
本发明与一般的流线放置方法相比,具有以下几个方面的优点:
(1)本发明的方法可以明确地控制流线之间的间隔距离,包括流线之间的最大间隔距离和最小间隔距离。这一控制是通过为每条流线设置饱和带和隔离带来实现的。按照本发明的方法,任何流线都不会进入其他流线的隔离带,同时也不会在已有流线的饱和带内选择新流线的种子点,从而不会出现两条流线非常接近而不满足最小间隔要求的情况,有效地改善了流线分布的均匀度。
(2)本发明的方法对于流线间隔的控制是通过在两个不同的控制网格内标记网格单元状态的方式实现的,不涉及复杂的计算,算法简单,计算量小,执行效率高。
(3)调整本发明方法中的参数γ和λ,可以有效地控制流线分布的均匀度,按照本发明的方法可以建立满足不同均匀度要求的流场流线图。
(4)本发明的方法对于任何二维流场都可顺利实施,不需要诸如流场拓扑结构之类的额外信息。
附图说明
图1两条流线在相邻网格单元内非常接近的实例;
图2二维示例流场TF;
图3为示例流场TF设置的控制网格GS;
图4为示例流场TF设置的控制网格GT;
图5在示例流场TF中选取的第一条流线的种子点;
图6示例流场TF的第一条流线以及该流线在控制网格GS中的饱和带;
图7示例流场TF的第一条流线以及该流线在控制网格GT中的隔离带;
图8在示例流场TF中添加第二条流线后控制网格GS的状态;
图9在示例流场TF中添加第二条流线后控制网格GT的状态;
图10示例流场TF的控制网格GS的最终状态;
图11示例流场TF最终的流线放置结果;
图12示例流场TF参照的流线放置结果。
具体实施方式
下面结合附图和实施例对本发明做详细说明。
对于定义在区域D=[xmin,xmax]×[ymin,ymax]中的二维流场其定义域通常被离散成矩形网格单元Ci,j(i=1,…M,j=1,…,N),在每个网格单元的中心(xi,j,yi,j),有一个表示该点流速的矢量(ui,j,vi,j)。这种离散化的二维流场就是本发明在具体实施过程中所要处理的客体对象。
选取一个具有解析表达式的二维流场,作为本发明实施方式中的示例流场。该流场的定义域为[-2,2]×[2,2],其中任意一个采样点(x,y)处的矢量(u,v)定义为:
为了叙述方便,将该示例流场命名为TF。图2通过矢量箭头展示了示例流场TF的基本情况。
对于图2所示的示例流场TF,本发明的目的是高效地为其建立一个流线分布比较均匀的流线图。具体实施步骤如下:
步骤1:构造正交控制网格GS和GT。
根据流场定义域的大小,以及预先设定的控制网格单元的大小,构造覆盖流场定义域的正交控制网格GS和GT。不失一般性,令GS和GT的网格单元都是正方形的,GS的网格单元边长为γ,GT的网格单元边长为λ;γ和λ是根据实际需要预先设定的,但是两者必须满足约束条件:γ=n*λ,其中n是大于等于3的正整数。
对于示例流场TF,按照γ=1/2、λ=1/6的设置结果,构造得到的控制网格GS和GT分别如图3和图4所示,其中GS和GT的所有网格单元都被标记为空白状态。
步骤2:在控制网格GS中任意选取一个空白的四联通区域,并在该区域内选取一个流线种子点。
按照本发明优选的流线种子点选取方法是:计算该区域内所有网格单元的中心坐标的平均值,将其作为一个新的坐标点;如果该点位于该区域内,则选择该点为流线种子点,否则分别计算过新坐标点的水平直线和垂直直线与该区域相交的线段,选取其中最长线段的中点作为流线种子点;如果所选取的流线种子点在控制网格GT中对应的网格单元被标记为填充状态(即非空白状态),则将其调整为该点在控制网格GS中对应网格单元的中心点。
对于示例流场TF,在初始时刻选取的空白四联通区域就是整个控制网格GS;在GS中按照本发明优选的流线种子点选取方法选取的第一条流线的种子点如图5的红色小圆点所示。
步骤3:根据步骤2得到的流线种子点,计算并得到经过该点的流线。
对于示例流场TF,当步骤2选定的流线种子点如图5所示时,采用四阶龙格-库塔算法计算得到的流线如图6的蓝色曲线所示。
步骤4:将步骤3得到的流线作为新流线放置到流场中,为该流线设置隔离带和饱和带。
设置饱和带的方法是:在控制网格GS中将该流线所触及的所有网格单元标记为填充状态。
设置隔离带的方法是:在控制网格GT中将该流线所触及的所有网格单元标记为填充状态;然后扫描这些已填充的网格单元,将每个网格单元上下左右的相邻网格单元也标记为填充状态,其中已标记为填充状态的网格单元不做重复标记。
针对示例流场TF中第一条流线,在控制网格GS中所设置的饱和带如图6所示,其中黄色网格单元都是被标记为填充状态的网格单元。图6中所有黄色网格单元构成了该图中蓝色流线的饱和带。
针对示例流场TF中第一条流线,在控制网格GT中所设置的隔离带如图7所示,其中浅蓝色网格单元是第一次被标记为填充状态的网格单元,绿色网格单元是随后被标记为填充状态的网格单元。图7中所有绿色网格单元和浅蓝色网格单元一起构成了该图中蓝色流线的隔离带。
步骤5:重复步骤2、3和4,直到控制网格GS中所有网格单元都被标记为填充状态为止。
对于示例流场TF,在图6的基础上,重复一遍步骤2、3和4后,控制网格GS和GT的状态分别如图8和图9所示,其中红色曲线是新添加的流线,红色小圆点表示相应流线的种子点。
步骤6:最后,结束整个流线放置过程,完成所有流线放置工作。
对于示例流场TF,处理到本步骤时控制网格GS的状态如图10所示,每一个网格单元都被标记为填充状态。图10中的红色小圆点表示相应流线的种子点。
对于示例流场TF,最终得到的流线放置结果如图11所示。
按照本发明背景技术中介绍的基于单重正交控制网格和计数机制的流线间隔控制方法,在同等条件下去控制示例流场TF中流线之间的间隔距离,得到的流线放置结果如图12所示。对比图11和图12,可见本发明的方法明显改善了流线分布的均匀度,因为图11中所有流线之间都保持了适当的间隔距离,而图12中存在两条流线非常接近的情况,使得流线之间的最小间隔距离几乎为0。
应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。
Claims (5)
1.一种基于双重控制网格的二维流场流线放置方法,包括以下步骤:
步骤1、对于给定的二维流场,按照下述方式构造两个覆盖该流场定义域的正交控制网格GS和GT;令GS和GT的网格单元都是正方形的,GS的网格单元边长为γ,GT的网格单元边长为λ;γ和λ根据实际需要设定,但是两者之间必须满足约束条件:γ=n*λ,其中n是大于等于3的正整数;按照上述方式构造好控制网格GS和GT之后,将两个网格的所有网格单元都标记为空白状态;
步骤2、在控制网格GS中任意选取一个空白的四联通区域,并在该区域内选取一个流线种子点;
步骤3、根据步骤2得到的流线种子点,计算并得到经过该点的流线;在计算流线的过程中,如果流线延伸到流场边界、速度为零的临界点、或者是控制网格GT中被标记为填充状态的网格单元时,该流线的计算过程就终止;
步骤4、将步骤3得到的流线作为新流线放置到流场中,为该流线设置饱和带的方法是:在控制网格GS中将该流线所触及的所有网格单元标记为填充状态;为流线设置隔离带的方法是:在控制网格GT中将该流线所触及的所有网格单元标记为填充状态;然后扫描这些已填充的网格单元,将每个网格单元上下左右的相邻网格单元也标记为填充状态,其中已标记为填充状态的网格单元不做重复标记;
饱和带的作用是控制流线之间的最大间隔距离,隔离带的作用是控制流线之间的最小间隔距离;
步骤5、重复步骤2、3和4,直到控制网格GS中所有网格单元都被标记为填充状态为止;
步骤6、最后,结束整个流线放置过程,完成所有流线放置工作。
2.根据权利要求1所述的一种基于双重控制网格的二维流场流线放置方法,其特征在于,步骤2中所述流线种子点选取方法为:计算该区域内所有网格单元的中心坐标的平均值,将其作为一个新的坐标点;如果该点位于该区域内,则选择该点为流线种子点,否则分别计算过新坐标点的水平直线和垂直直线与该区域相交的线段,选取其中最长线段的中点作为流线种子点;如果所选取的流线种子点在控制网格GT中对应的网格单元被标记为填充状态,则将其调整为该点在控制网格GS中对应网格单元的中心点。
3.根据权利要求1所述的一种基于双重控制网格的二维流场流线放置方法,其特征在于,步骤3中流线的计算方法包括中点算法、欧拉算法、龙格-库塔算法。
4.根据权利要求1所述的一种基于双重控制网格的二维流场流线放置方法,其特征在于,步骤4中为流线设置饱和带的方法是:在控制网格GS中将该流线所触及的所有网格单元标记为填充状态。
5.根据权利要求1所述的一种基于双重控制网格的二维流场流线放置方法,其特征在于,步骤4中为流线设置隔离带的方法是:在控制网格GT中将该流线所触及的所有网格单元标记为填充状态;然后扫描这些已填充的网格单元,将每个网格单元上下左右的相邻网格单元也标记为填充状态,其中已标记为填充状态的网格单元不做重复标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210306292.2A CN102930563B (zh) | 2012-08-13 | 2012-08-24 | 一种基于双重控制网格的二维流场流线放置方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210286984 | 2012-08-13 | ||
CN201210286984.5 | 2012-08-13 | ||
CN201210306292.2A CN102930563B (zh) | 2012-08-13 | 2012-08-24 | 一种基于双重控制网格的二维流场流线放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102930563A CN102930563A (zh) | 2013-02-13 |
CN102930563B true CN102930563B (zh) | 2014-12-24 |
Family
ID=47645353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210306292.2A Expired - Fee Related CN102930563B (zh) | 2012-08-13 | 2012-08-24 | 一种基于双重控制网格的二维流场流线放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930563B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653881B (zh) * | 2016-03-04 | 2018-09-11 | 天津大学 | 基于多密度层次的流场可视化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2169620A1 (en) * | 2007-06-27 | 2010-03-31 | Nec Corporation | Characteristic attribute calculation device, characteristic amount extraction device, pattern matching device, method, and program |
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
EP2339486A1 (en) * | 2009-11-30 | 2011-06-29 | Airbus Operations S.L. | Methods and systems for optimising the design of aerodynamic surfaces |
CN102521854A (zh) * | 2011-12-29 | 2012-06-27 | 北京理工大学 | 一种适用于二维流场的并行流线放置方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2356788B1 (es) * | 2007-12-18 | 2012-02-22 | Airbus Operations, S.L. | Método y sistema para un cálculo rápido de las fuerzas aerodinámicas en una aeronave. |
-
2012
- 2012-08-24 CN CN201210306292.2A patent/CN102930563B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2169620A1 (en) * | 2007-06-27 | 2010-03-31 | Nec Corporation | Characteristic attribute calculation device, characteristic amount extraction device, pattern matching device, method, and program |
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
EP2339486A1 (en) * | 2009-11-30 | 2011-06-29 | Airbus Operations S.L. | Methods and systems for optimising the design of aerodynamic surfaces |
CN102521854A (zh) * | 2011-12-29 | 2012-06-27 | 北京理工大学 | 一种适用于二维流场的并行流线放置方法 |
Non-Patent Citations (2)
Title |
---|
基于HSV颜色模型的二维流场可视化;张文耀等;《北京理工大学学报》;20100331;第30卷(第3期);302-306页 * |
基于特征提取的三维流线分布算法;吴晓莉等;《基于特征提取的三维流线分布算法》;20081231;第30卷(第2期);103-106页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102930563A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036095B (zh) | 基于区域分解的耦合高精度复杂外形流场快速算法 | |
CN102521854B (zh) | 一种适用于二维流场的并行流线放置方法 | |
CN103679264B (zh) | 基于人工鱼群算法的人群疏散路径规划方法 | |
CN107179776B (zh) | 一种基于无人机的景观植物的播种方法 | |
CN103942612A (zh) | 基于自适应粒子群优化算法的梯级水库优化调度方法 | |
CN103150613B (zh) | 一种土地利用布局智能优化方法 | |
CN108171315A (zh) | 基于smc粒子群算法的多无人机任务分配方法 | |
CN102646288B (zh) | 一种间隔基本均匀的三维流线放置方法 | |
CN103080941A (zh) | 计算用数据生成装置、计算用数据生成方法及计算用数据生成程序 | |
CN106202662A (zh) | 一种配电网网架图自动绘制映射方法 | |
CN104616328B (zh) | 一种供水压力分布图的绘制方法 | |
CN103246767B (zh) | 基于遗传算法和有限元法的液-液声子晶体拓扑优化方法 | |
CN104636528A (zh) | 基于行为流复杂产品功能群落及其演化的发动机建模方法 | |
CN105790315A (zh) | 一种基于粒子群算法的储能变流下垂控制方法 | |
CN104851133A (zh) | 一种图像自适应网格生成变分方法 | |
CN109409509A (zh) | 一种针对基于fpga的卷积神经网络加速器的数据结构和加速方法 | |
CN102930563B (zh) | 一种基于双重控制网格的二维流场流线放置方法 | |
CN110147649A (zh) | 一种板件加工过程的模拟方法和装置 | |
CN103473433A (zh) | 一种基于反应扩散过程的计算机辅助乱针绣制作方法 | |
CN103279824A (zh) | 一种继电保护整定计算系统的建模方法 | |
CN109426901A (zh) | 一种中长期用电预测方法及装置 | |
CN110503201A (zh) | 一种神经网络分布式并行训练方法与装置 | |
CN109767492A (zh) | 一种变电站三维模型的间距计算方法 | |
CN103439964B (zh) | 一种ocsvm监控模型的在线更新系统及方法 | |
CN108459989A (zh) | 一种非结构网格气象数值模式计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141224 Termination date: 20160824 |
|
CF01 | Termination of patent right due to non-payment of annual fee |