一种水下航行器动态仿真方法技术

技术编号:37599077 阅读:14 留言:0更新日期:2023-05-18 11:48
本申请涉及一种水下航行器动态仿真方法。所述方法包括:建立航行器网格中任意坐标点的航行器运动方程,利用网格划分工具对航行器网格和背景网格进行划分,构建初始八叉树结构,在本地进程对当前时间步进行判断,根据判断结果从计算点中选取多个特征点,将处于其他进程根节点包围面内的本地网格点发送给相对应的进程,对通信网格点和本地网格点进行投射计算,将初始对照点带入初始八叉树中进行搜索,得到贡献单元;获取网格上当前时间步的流场变量;根据反距离加权方法和贡献单元对网格上当前时间步的流场变量进行更新后和计算,得到水下航行器的阻力系数和升力系数。采用本方法能够提高水下航行仿真效率。够提高水下航行仿真效率。够提高水下航行仿真效率。

【技术实现步骤摘要】
一种水下航行器动态仿真方法


[0001]本申请涉及航行器仿真
,特别是涉及一种水下航行器动态仿真方法。

技术介绍

[0002]为了更好地开发海洋资源、促进我国海洋经济的发展、增强我国的海洋科技创新能力、更好的维护我国的海洋安全和权益,越来越多的研究者们开始注重水下航行器(Underwater Vehicle,简称UV)的研究。UV可以在能见度极差、水下压力极大、暗流涌动的深海完成普通机械臂和人类无法完成的数据探测、物品打捞等工作。当前,UV在外形设计、机动性能等方面还存在着巨大的技术挑战,而通过物理实验的误差校对与设计已无法满足产品对快速迭代与技术更新的要求。随着高性能计算的快速发展,基于高性能计算系统的数值模拟成为了更高效的选择。但受限于计算资源与算法性能,目前绝大多数的UV模拟以静态仿真为主,这种方式虽然可以等效获得一定条件下的计算结果,但无法适应更多复杂的运动场景。水下航行器的动态仿真是一种典型的运动边界问题,即在流场模拟过程中,物理边界会随着时间步的推进动态发生变化。边界的运动可以分为刚体运动和柔性变形,而UV的航行过程可以看作是一种刚体运动,即将物理边界看作一个整体,在不论运动的具体过程下,都可以将最终的运动结果拆解为以速度进行位移或以角速度进行旋转(或位移旋转相组合)的运动方式,且边界内部没有相对运动。
[0003]目前的UV动态仿真处理边界运动最常用的方法是动网格方法和边界浸入法。动网格方法可以实现贴体的边界层网格,通过将网格运动通量添加到动量方程中而实现流场计算的守恒,计算精度较高。当边界发生运动后,通过偏微分方程或者插值算法计算内部网格的位移,从而实现网格的运动。虽然动网格方法能够实现一定范围的边界运动,但边界运动过大时网格容易发生畸变,不支持UV水下航行这种大范围运动。边界浸入法支持任意程度的位移和旋转,但该方法由于没有贴体网格,不支持复杂几何模型,且在边界处的计算精度太低。虽然通过自适应网格增加网格密度可以提高精度,但又会大幅增加计算量,影响计算效率。重叠网格方法结合了以上两种方法的优势,该方法将计算域划分为多个相对简单的子网格,各子网格独立求解,子网格之间的重叠区域通过插值进行耦合计算。在重叠网格中,因为通过插值计算可以维持各子域之间的流场关系,所以各子网格之间可以发生任意相对运动。因此,将运动边界独立生成子网格后,边界即可跟随子网格进行任意程度的位移与旋转。如图2所示为水下航行器重叠网格示意,该案例包含两套网格相互重叠,分别是包含航行器的运动子网格和正交状的背景子网格,航行器边界可进行任意运动,不影响网格的拓扑结构。在利用重叠网格方法进行水下航行器仿真过程中,子网格之间的流场数据需要通过插值计算相耦合,将参与插值计算的网格单元称为贡献单元。如何快速确定每个网格对应的贡献单元是重叠网格方法需要重点解决的问题。当前,基于树结构的贡献单元搜索是最常用、最高效的一种算法。该算法通过构建每套网格的坐标树,将网格单元的位置信息存储于二叉树或八叉树结构中,可快速实现不同子网格之间的空间定位,从而确定贡献单元的位置。对于静态的重叠网格案例,由于只需构建一次坐标树,相比于传统的网格遍历
方法,基于树结构的方法可大幅提高贡献单元的搜索效率。然而,对于UV水下航行这种非定常问题,当边界发生运动后网格的空间坐标将会更改,如果每个时间步都重新构建树,那依然会产生大量的网格遍历时间。并且,随着子网格规模的增长,重构的耗时也会迅速增长,严重影响整个重叠网格的计算效率,进而影响水下航行器的仿真效率。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够实现水下航行器大范围运动、提高水下航行动态仿真效率的水下航行器动态仿真方法。
[0005]一种水下航行器动态仿真方法,所述方法包括:获取水下航行器;水下航行器包括航行器运动边界;对水下航行器进行建模,得到背景网格和包含水下航行器边界的航行器网格;建立航行器网格中任意坐标点的航行器运动方程,利用网格划分工具对航行器网格和背景网格进行划分,得到多个子网格;将子网格发放到预先创建的相对应的进程,每个进程都包括一套子网格数据;定义初始时间步,从初始时间步开始根据航行器运动方程移动包含航行器网格部分的子网格,得到移动后的子网格;在每个进程中根据笛卡尔辅助网格方法对各自的移动后的子网格中背景网格部分进行挖洞,得到计算点;计算点表示参与流场计算的点;构建初始八叉树结构,在本地进程对当前时间步进行判断,根据判断结果从计算点中选取多个特征点,计算特征点到初始八叉树根节点包围面的距离,得到移动后的根节点包围面的各面表达式;将移动后根节点包围面的各面表达式发送到其他进程,并接收其他进程的根节点包围面表达式;将处于其他进程根节点包围面内的本地网格点发送给相对应的进程,并接收其他进程所发来的通信网格点;对通信网格点和本地网格点进行投射计算,得到初始对照点;将初始对照点带入初始八叉树中进行搜索,得到通信网格点和本地网格点的贡献单元;将通信网格点的贡献单元发送给对应进程,并接收其他进程所发来的部分本地网格点贡献单元;获取网格上的当前时间步的不可压连续性方程和动量方程,对不可压连续性方程和动量方程进行求解,得到网格上当前时间步的流场变量;根据反距离加权方法和贡献单元对网格上当前时间步的流场变量进行插值计算,得到更新后的流场变量;对更新后的流场变量进行计算,得到水下航行器的阻力系数和升力系数。
[0006]在其中一个实施例中,建立航行器网格中任意坐标点的航行器运动方程,包括:建立航行器网格和背景网格中任意坐标点的航行器运动方程为;其中,为当前时间节点的上一时间步网格点的坐标;为旋转矩阵,为当前时间步的速度。
[0007]在其中一个实施例中,对当前时间步进行判断,根据判断结果从计算点中选取多个特征点,计算多个特征点到八叉树根节点包围面的距离,得到移动后的根节点包围面的
各面表达式,包括:若当前时间步为初始时间步,则从计算点中任意选取三点不共线,并且四点不共面的四个点、、和,读取八叉树根节点包围面的坐标极值、、、、和;计算四个点到八叉树根节点六个包围面的距离为;其中,。
[0008]在其中一个实施例中,若当前时间步不为初始时间步,根据航行器运动方程获取当前时间步特征点的位置坐标、、以及;构建t时刻的根节点包围面各面表达式为;其中,、、和均为平面表达式的多项式系数,为各包围面的标号;建立当前时间步特征点、、以及到t时刻根节点包围面的距离方程组为,解方程组得到、、和。
[0009]在其中一个实施例中,将处于其他进程根节点包围面内的本地网格点发送给相对应的进程,并接收其他进程所发来的通信网格点;对通信网格点和本地网格点进行投射计算,得到初始对照点,包括:本地进程接收到其他进程所发来的通信网格点后,对通信网格点和本地网格点进行投射计算,得到网格点到t时刻根节点包围面的距离为
;计算得到网格点在初始八叉树根节点包围面的对照点为;其中,、以及为初始八叉树根节点包围面的坐标极小值。
[0010]在其中一个实施例中,根据反距离加权方法和贡献单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种水下航行器动态仿真方法,其特征在于,所述方法包括:获取水下航行器;所述水下航行器包括航行器运动边界;对所述水下航行器进行建模,得到背景网格和包含水下航行器边界的航行器网格;建立所述航行器网格中任意坐标点的航行器运动方程,利用网格划分工具对所述航行器网格和背景网格进行划分,得到多个子网格;将所述子网格发放到预先创建的相对应的进程,每个进程都包括一套子网格数据;定义初始时间步,从初始时间步开始根据所述航行器运动方程移动包含航行器网格部分的子网格,得到移动后的子网格;在每个进程中根据笛卡尔辅助网格方法对各自的移动后的子网格中背景网格部分进行挖洞,得到计算点;所述计算点表示参与流场计算的点;构建初始八叉树结构,在本地进程对当前时间步进行判断,根据判断结果从所述计算点中选取多个特征点,计算所述特征点到初始八叉树根节点包围面的距离,得到移动后的根节点包围面的各面表达式;将所述移动后根节点包围面的各面表达式发送到其他进程,并接收其他进程的根节点包围面表达式;将处于其他进程根节点包围面内的本地网格点发送给相对应的进程,并接收其他进程所发来的通信网格点;对所述通信网格点和本地网格点进行投射计算,得到初始对照点;将所述初始对照点带入所述初始八叉树中进行搜索,得到通信网格点和本地网格点的贡献单元;将通信网格点的贡献单元发送给对应进程,并接收其他进程所发来的部分本地网格点贡献单元;获取网格上的当前时间步的不可压连续性方程和动量方程,对所述不可压连续性方程和动量方程进行求解,得到网格上当前时间步的流场变量;根据反距离加权方法和所述贡献单元对所述网格上当前时间步的流场变量进行插值计算,得到更新后的流场变量;对所述更新后的流场变量进行计算,得到水下航行器的阻力系数和升力系数。2.根据权利要求1所述的方法,其特征在于,建立所述航行器网格中任意坐标点的航行器运动方程,包括:建立所述航行器网格中任意坐标点的航行器运动方程为;其中,为当前时间节点的上一时间步网格点的坐标;为旋转矩阵,为当前时间步的速度。3.根据权利要求1所述的方法,其特征在于,对当前时间步进行判断,根据判断结果从所述计算点中选取多个特征点,计算所述多个特征点到八叉树根节点包围面的距离,得到移动后的根节点包围面的各面表达式,包括:若当前时间步为初始时间步,则从所述计算点中任意选取...

【专利技术属性】
技术研发人员:杨灿群李超赵然郭晓威吴诚堃番丝江张森刘毅
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1