一种基于折射率梯度的网格自适应方法

文档序号:25520602发布日期:2021-06-18 20:07阅读:126来源:国知局
一种基于折射率梯度的网格自适应方法

本发明属于激光雷达技术,具体为一种基于折射率梯度的网格自适应方法。



背景技术:

当激光雷达搭载在飞机、火箭、导弹等平台上高速运动时,其周围会形成局域空气扰动,导致气体密度不均匀变化,从而引起空气折射率的不均匀分布。在利用折射定律进行光线追迹时,高速流场所采用的网格在大部分情况下是非均匀的,网格尺寸相差较大,尤其是激波存在的位置折射率变化剧烈,不能简单认为网格单元内折射率处处相等,而且以一个网格单元作为一次追迹步长也不合理。



技术实现要素:

本发明的目的在于提供了一种基于折射率梯度的网格自适应方法,在保证高速流场中光线追迹过程精度的同时又能有效减少计算时间。

实现本发明目的的技术解决方案为:一种基于折射率梯度的网格自适应方法,包括以下步骤:

步骤1:确定离散网格点的流场密度,并根据流场密度计算折射率场;

步骤2:将离散折射率场划分成初始均匀网格模型;

步骤3:计算初始均匀网格所有结点的折射率均方差;

步骤4:扫描初始均匀网格的第j个网格,判断第j个网格的结点的折射率均方差是否满足e(n)>et(n),et(n)为设定的折射率均方差阈值,e(n)为网格的结点的折射率均方差,若满足,进行步骤5;若不满足,则扩大单个网格尺寸,返回步骤2将离散折射率场重新划分成初始均匀网格模型;

步骤5:计算初始均匀网格所有结点在x,y,z三个方向上折射率梯度均方差;

步骤6:判断网格j的八个结点在x,y和z三个方向上折射率梯度均方差是否都满足为折射率梯度均方差阈值,为折射率梯度均方差,若都满足,则对网格进行细分;若不满足,判断网格j周围七个网格是否同时都满足e(n)>et(n)且若满足,则将八个网格合并;否则,对八个网格不做任何处理;

令j=j+1,返回步骤3,直至扫描完全部网格;

步骤7:根据网格大小确定每一步光追步长进行变步长光线追迹。

优选地,折射率场的计算公式为:

n=1+kgdρ

式中,ρ表示流场密度,n表示空气扰动场的折射率,kgd为gd系数。

优选地,网格内结点的折射率均方差计算公式为:

式中,m为网格的结点个数;ni为每个结点的折射率;为m个结点折射率的平均值,

优选地,网格内结点的折射率梯度均方差具体为:

式中,为每个结点的折射率梯度值;为网格m个结点折射率梯度的平均值。

优选地,采用八叉树划网格方法对网格进行细分。

优选地,追迹步长具体为:

δs=f(xg)

其中f(xg)表示为:

式中,xg指的是相近网格单元之间的折射率变化幅度,δi为当地网格单元i的平均几何尺寸。

本发明与现有技术相比,其显著优点是:

(1)本发明采用基于折射率梯度的网格自适应方法,进行网格再生后又结合了变步长的光线追迹方法,大大提高了光线追迹的过程的精度;

(2)本发明节约了计算时间,提高了计算效率。

附图说明

图1为本发明的一种基于折射率梯度的网格自适应方法的流程图。

图2为本发明的八叉树数据结构图。

图3为本发明的自适应网格示意图。

具体实施方式

下面结合附图及具体实施例对本发明做进一步地介绍。

如图1所示,一种基于折射率梯度的网格自适应方法,包括以下步骤:

步骤1:采用计算流体力学的方法得到离散网格点的流场密度,计算得到折射率场数据。

进一步地,步骤1中计算流体力学计算软件采用的是fluent软件。

进一步地,步骤1中通过g-d公式来实现流场密度场到折射率的转换:

n=1+kgdρ

式中,ρ表示流场密度,n表示空气扰动场的折射率,kgd为gd(gladstone-dale)系数。

步骤2:将离散折射率场划分成初始均匀网格模型,每个网格尺寸一致,将每个网格的结点数据存放在三维数组中。

步骤3:计算初始均匀网格所有结点折射率的均方差e(n),其中n是折射率。

进一步地,步骤3中网格内结点的折射率均方差表示为:

式中,m为网格的结点个数;ni为每个结点的折射率;为m个结点折射率的平均值,

步骤4:扫描第j个网格,判断第j个网格的结点折射率的均方差是否满足e(n)>et(n),et(n)为设定的折射率均方差阈值,若满足,进行步骤5;若不满足,说明网格划分的太细,扩大单个网格尺寸,返回步骤2将离散折射率场重新划分成初始均匀网格模型;

步骤5:计算初始均匀网格所有结点在x,y,z三个方向上折射率梯度均方差其中是折射率梯度。

进一步地,步骤5中网格内结点的折射率梯度均方差具体为:

式中,为每个结点的折射率梯度值;为网格m个结点折射率梯度的平均值。

步骤6:判断网格j的八个结点在x,y和z三个方向上折射率梯度均方差是否都满足为折射率梯度均方差阈值,若都满足,则对网格进行细分;若不满足,说明该网格描述该处折射率场的精度过高,判断网格j周围七个网格是否同时都满足e(n)>et(n)且若满足,则将八个网格合并;否则,对八个网格不做任何处理。

令j=j+1,返回步骤3,直到扫描完全部网格。

进一步地,步骤6中对网格进行细分时采用的是八叉树划网格方法,具体为:

如图2所示,八叉树划网格方法是在三维情况下对每个初始网格内部以递归的方法生成分级数据结构,即将1个网格在三维空间每个方向上用二分法得到8个子网格,然后逐级对每个子网络重复步骤3到步骤6。

步骤7:当所有网格点都进行判断处理后,即将网格再生为自适应网格后,进行自适应网格的标号。根据网格大小确定每一步光追步长进行变步长光线追迹。

进一步地,所述网格再生后的自适应网格示意图如图3所示:

区域i是初始网格,不满足细分和合并条件,不需要再生,区域ⅱ是相邻的8个网格合并为1个网格,区域ⅲ是将1个网格平均地分为8网格。

进一步地,步骤7中变步长光线追迹法的追迹步长δs用步长调节函数f(xg)计算得到,取δs=f(xg),其中f(xg)表示为:

式中,xg指的是相近网格单元之间的折射率变化幅度(单位:/单元格),δi为当地网格单元i的平均几何尺寸,δi=(ai×bi×ci)1/3,ai,bi,ci为当地网格单元边长。

进一步地,步骤7中变步长光线追迹法具体操作是:给定光线的入射点和入射方向后开始追迹,每一步光追前要判断追迹点是否在窗口内,光线出界则停止追迹;不出界则根据追迹点坐标和窗口结点坐标来判断追迹点所在网格的标号,得到网格尺寸确定下一步的光追步长,直至追迹到窗口底面。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1