本发明专利技术涉及一种基于任意形状三维非对应网格面的拼接算法,包括以下步骤:确认非对应交界面的两侧面τ
【技术实现步骤摘要】
一种基于任意形状三维非对应网格面的拼接算法
本专利技术属于数值计算仿真工业软件
,具体涉及一种基于任意形状三维非对应网格面的拼接算法。
技术介绍
现在CFD(计算流体力学)正在高速发展,且广泛应用于工程问题中。网格作为CFD计算中关键的一环,直接影响计算的时间和内存消耗。在处理复杂几何结构的问题时,工程上常常将其分为简单的子区域并他们分开进行网格生成。这样分开生成的网格在交接面处一般不是一一对应的,故称之为非对应交界面。典型的例子便是机翼设计中的流固区域的耦合传热计算,两区域的网格一般是由不同工程师生成的。所以CFD软件应该提供便于用户使用的工程级别的非对应交界面处理模块。从现有相关文献来看,目前已知的网格拼接技术适用范围十分有限,仅限于简单形状,如平面,圆柱面,球面等。这些简单形状完全无法满足现有工业需求,比如飞机引擎叶片,固体区域上就布有多个冷凝气膜孔,两区域形成复杂的交界面。本专利技术正是解决了这一问题,提供了一种可以适用于任意面的网格拼接技术。
技术实现思路
本专利技术的目的是解决上述问题,提供一种多区域数值模拟计算中,基于任意形状三维非对应网格面的拼接算法,大大降低了计算流体力学工程应用中对网格的使用限制。为实现上述目的,本专利技术提供如下技术方案:一种基于任意形状三维非对应网格面的拼接算法,包括以下步骤:S1:确认非对应交界面的两侧面τA和τB;S2:定义用于储存相交小面的列表Lc;S3:对所有的τA上的某一个面KA执行下面的操作;1)对所有的τB上的某一个面KB执行下面的操作;1.1确定出中间面τC;1.2计算出中间面的面法向nC;1.3用过滤器判断KA和KB是否可能相交;1.4如果KA和KB可能相交,则进行下一步;1.4.1使用投影将KA和KB投影到中间面τC上并相交;1.4.2如果KA和KB相交面KC存在,则进行下一步;1.4.2.1计算KC计算的面积、面心和面法向;1.4.2.2将KC添加至Lc;1.4.2.3建立映射χCA(KC)=KA,χCB(KC)=KB,表示KC是由KA和KB相交得到的;S4:对相交小面进行面积校核。进一步的,所述步骤S7中采用过滤器判断KA和KB相交的具体方式为:KA和KB若可能相交,则应满足下列两式:其中rA是以面心为圆心,能包含KA的最小球体的半径;rB为dAB表示从KA面心到KB面心的向量,即nC是中间面的面法向。进一步的,空间凸多边形相交算法为:1)确认一对可能相交的面KA和KB,以及它们的中间平面;2)将KA投影到中间平面,得到空间凸多边形PA;3)对所有的KB的边执行下面的操作;3.1创建一个通过该边的切割面αclip;3.2使用αclip将PA切割成两部分并得到保留部分;3.3将PA替换为该步骤得到的保留部分;4)如果PA存在,则进行下一步;4.1将PA储存为小面,记为KC,附属于KA和KB;4.2计算KC的面心,面积和面法向;4.3返回KC作为结果。所述面法向由下式计算得到,进一步的,所述空间三维凸多边形切割算法为:1)给定一凸多边形P和其切割面αclip(nclip,rclip);2)对所有的P的顶点执行下面的操作;2.1判断并记录该点是否在切割面的内侧;3)创建一个空的多边形Pnew;4)对所有的P的顶点执行下面的操作;4.1如果该点(Ni)在切割面内侧,则进行下一步;4.1.1将Ni加入到Pnew的顶点列表中;4.2如果Ni和它的下一点Ni+1在αclip的不同侧,则进行下一步;4.2.1计算NiNi+1和αclip的交点,记为Nnew;4.2.2将Nnew加到Pnew的顶点列表中;5)返回Pnew。进一步的,在αclip内侧的顶点N需满足下式:(rN-rclip)·nclip≥0。进一步的,交点的计算方法为:rnew=ri+λ(ri+1-ri)其中,进一步的,网格及其相交得到的小面应满足下式:且与现有技术相比,本专利技术的有益效果在于:本专利技术提出了在多区域数值模拟计算中,任意形状非对应三维平面的网格拼接计算方案,使处理复杂几何的非对应区域交界面成为了可能,大大降低了计算流体力学工程应用中对网格的使用限制,可以提高工业数值仿真软件的计算的效率,并且拓展其适用范围。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是为了更清楚地说明本专利技术实施例或现有技术中的技术方案,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为将非对应面转化为对应的相交小面示意图;图2为曲率大且网格粗糙的交界面示意图;图3为用于判断两面是否可能相交的过滤器示意图;图4为三维空间中两凸多边形相交过程示意图;图5为波纹管中的流固耦合流动传热问题示意图;图6为流体区域网格和固体区域网格交界面处的相交网格示意图;图7温度分布在波纹管中流动方向的某几个截面上的示意图;图8温度分布在流-固交界面的示意图。具体实施方式为了使本领域技术人员更好地理解本专利技术的技术方案能予以实施,下面结合具体实施例对本专利技术作进一步说明,但所举实施例只作为对本专利技术的说明,不作为对本专利技术的限定。如图1-4所示的一种基于任意形状三维非对应网格面的拼接算法,具体方案包括:1.网格拼接本专利技术方法的核心思路便是将非对应面转化为更小的相交小面。图1中(a)为交界面两侧的网格,(b)为相交网格的生成。算法1任意三维面的通用非对应交界面网格拼接方法:S1:确认非对应交界面的两侧面τA和τB;S2:定义用于储存相交小面的列表Lc;S3:对所有的τA上的某一个面KA执行下面的操作;1)对所有的τB上的某一个面KB执行下面的操作;1.1确定出中间面τC;1.2计算出中间面的面法向nC;1.3用过滤器判断KA和KB是否可能相交;1.4如果KA和KB可能相交,则进行下一步;1.4.1使用投影将KA和KB投影到中间面τC上并相交;1.4.2如果KA和KB相交面KC存在,则进行下一步;1.4.2.1计算KC计算的面积、面心和面法向;1.4.2.2将KC添加至Lc;1.4.2.3建立映射χCA(KC)=KA,χCB(KC)=KB,表示KC是由KA和KB相交得到的;S4:对相交小面进行面积校核。2.过本文档来自技高网...
【技术保护点】
1.一种基于任意形状三维非对应网格面的拼接算法,其特征在于,包括以下步骤:/nS1:确认非对应交界面的两侧面τ
【技术特征摘要】
1.一种基于任意形状三维非对应网格面的拼接算法,其特征在于,包括以下步骤:
S1:确认非对应交界面的两侧面τA和τB;
S2:定义用于储存相交小面的列表Lc;
S3:对所有的τA上的某一个面KA执行下面的操作;
1)对所有的τB上的某一个面KB执行下面的操作;
1.1确定出中间面τC;
1.2计算出中间面的面法向nC;
1.3用过滤器判断KA和KB是否可能相交;
1.4如果KA和KB可能相交,则进行下一步;
1.4.1使用投影将KA和KB投影到中间面τC上并相交;
1.4.2如果KA和KB相交面KC存在,则进行下一步;
1.4.2.1计算KC计算的面积、面心和面法向;
1.4.2.2将KC添加至Lc;
1.4.2.3建立映射χCA(KC)=KA,χCB(KC)=KB,表示KC是由KA和KB相交得到的;
S4:对相交小面进行面积校核。
2.根据权利要求1所述的一种基于任意形状三维非对应网格面的拼接算法,其特征在于,所述步骤S7中采用过滤器判断KA和KB相交的具体方式为:KA和KB若可能相交,则应满足下列两式:
其中rA是以面心为圆心,能包含KA的最小球体的半径;
rB为
dAB表示从KA面心到KB面心的向量,即nC是中间面的面法向。
3.根据权利要求1所述的一种基于任意形状三维非对应网格面的拼接算法,其特征在于,空间凸多边形相交算法为:
1)确认一对可能相交的面KA和KB,以及它们的中间平面;
2)将KA投影到中间平面,得到空间凸多边形PA;
3)对所有的KB的边执行下面的操作;
3.1创建一个通过该边的切割面αclip;
3.2使用αclip将PA切割成...
【专利技术属性】
技术研发人员:王子寒,凌空,张帅,
申请(专利权)人:西安数峰信息科技有限责任公司,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。