System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及仿真,特别是涉及一种基于运动轨迹划分的水下航行器动态仿真方法。
技术介绍
1、越来越多的研究者们开始注重水下航行器(underwater vehicle,简称uv)的研究。uv可以在能见度极差、水下压力极大、暗流涌动的深海完成普通机械臂和人类无法完成的数据探测、物品打捞等工作。当前,uv在外形设计、机动性能等方面还存在着巨大的技术挑战,而通过物理实验的误差校对与设计已无法满足产品对快速迭代与技术更新的要求。随着高性能计算的快速发展,基于高性能计算系统的数值模拟成为了更高效的选择。但受限于计算资源与算法性能,目前绝大多数的uv模拟以静态仿真为主,这种方式虽然可以等效获得一定条件下的计算结果,但无法适应更多复杂的运动场景。水下航行器的动态仿真是一种典型的运动边界问题,即在流场模拟过程中,物理边界会随着时间步的推进动态发生变化。边界的运动可以分为刚体运动和柔性变形,而uv的航行过程可以看作是一种刚体运动,即将物理边界看作一个整体,在不论运动的具体过程下,都可以将最终的运动结果拆解为以速度进行位移或以角速度进行旋转(或位移旋转相组合)的运动方式,且边界内部没有相对运动。
2、目前的uv动态仿真处理边界运动最常用的方法是动网格方法和边界浸入法。动网格方法可以实现贴体的边界层网格,通过将网格运动通量添加到动量方程中而实现流场计算的守恒,计算精度较高。当边界发生运动后,通过偏微分方程或者插值算法计算内部网格的位移,从而实现网格的运动。虽然动网格方法能够实现一定范围的边界运动,但边界运动过大时网格容易发生畸变,不支持uv水
3、然后利用重叠网格方法在配置和划分子网格域时通常采用先合并子网格再进行并行划分的策略。也就是说,在这种方案下,子网格首先被合并成一个整体网格,然后再使用相关的并行划分工具对整体网格进行划分。尽管这种策略一直被广泛采用,但在处理运动边界问题时,重叠网格装配中的大量通信开销一直在影响着贡献单元搜索的计算效率,即水下航行器的阻力系数和升力系数的计算效率,进而影响水下航行器的仿真效率。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高水下航行器的仿真效率的基于运动轨迹划分的水下航行器动态仿真方法。
2、一种基于运动轨迹划分的水下航行器动态仿真方法,所述方法包括:
3、获取水下航行器的运动轨迹和水下航行器运动边界;对水下航行器进行建模,得到背景网格和包含水下航行器边界的航行器网格;
4、利用网格划分工具对航行器网格和背景网格进行划分,得到多个子网格;根据子网格单元数和所需处理器数确定每个方向上的分区数再对子网格进行层次分区,得到多个分区和子网格单元格与分区之间的对应关系列表;
5、建立运动轨迹的运动轨迹函数,基于运动轨迹函数和位移标记法或旋转标记法对分区进行标记,将不同子网格中拥有相同标记的分区进行合并,再将合并后的整体分配到相对应的处理器中,得到分区与处理器之间的对应关系列表;将子网格单元格与分区之间的对应关系列表以及分区与处理器之间的对应关系列表进行合并对应,得到网格单元与处理器之间的对应关系列表;
6、根据网格单元与处理器之间的对应关系列表对水下航行器的初始边界状态进行配置。
7、在其中一个实施例中,若运动轨迹为直线运动时,基于运动轨迹函数和位移标记法对分区进行标记,包括:
8、步骤1:根据运动轨迹函数获取子网格内任意定点的位置信息(x0(t0),y0(t0)),在子网格的定点中任意选择一个定点作为标记点,从标记点的位置开始标记为m,表示将分区分配给处理器m;
9、步骤2:将标记点所处的分区按照预先设置的时间增量δt,以获得新的标记点位置,记为(x0(t+δt),y0(t+δt));如果t+δt不小于结束时间,则终止标记步骤;否则,跳转到步骤3;
10、步骤3:检查新的标记点位置是否落在上一时刻标记分区的相邻分区内,如果是,则进入步骤4,如果不是,则相应地调整时间增量δt并返回到步骤2;
11、步骤4:标记新标记点所在的分区为n,并返回到步骤2。
12、在其中一个实施例中,处理器上的记录网格单元数量的变量的更新方式为其中,表示处理器m上的网格单元数,表示背景子网格分区11中的网格单元数。
13、在其中一个实施例中,处理器m上的网格单元数近似相等于ncell/np,其中,ncell表示合并后的总网格单元数量,np表示处理器数量。
14、在其中一个实施例中,若运动轨迹为旋转运动时,基于运动轨迹函数和旋转标记法对分区进行标记,包括:
15、获取旋转中心;根据运动轨迹函数获取子网格内任意定点的位置信息(x0(t0),y0(t0)),在子网格的定点中任意选择一个定点作为标记点,从标记点的位置开始依次计算出每个分区中心与旋转中心的轴心距,根据轴心距对分区进行标记,将相同轴心距的网格单元设置为同一标记。
16、上述基于运动轨迹划分的水下航行器动态仿真方法,首先根据子网格单元数和所需处理器数确定每个方向上的分区数再对子网格进行层次分本文档来自技高网...
【技术保护点】
1.一种基于运动轨迹划分的水下航行器动态仿真方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,若所述运动轨迹为直线运动时,基于所述运动轨迹函数和位移标记法对所述分区进行标记,包括:
3.根据权利要求2所述的方法,其特征在于,所述处理器上的记录网格单元数量的变量的更新方式为其中,表示处理器m上的网格单元数,表示背景子网格分区11中的网格单元数。
4.根据权利要求3所述的方法,其特征在于,所述处理器m上的网格单元数近似相等于Ncell/Np,其中,Ncell表示合并后的总网格单元数量,Np表示处理器数量。
5.根据权利要求1所述的方法,其特征在于,若所述运动轨迹为旋转运动时,基于所述运动轨迹函数和旋转标记法对所述分区进行标记,包括:
【技术特征摘要】
1.一种基于运动轨迹划分的水下航行器动态仿真方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,若所述运动轨迹为直线运动时,基于所述运动轨迹函数和位移标记法对所述分区进行标记,包括:
3.根据权利要求2所述的方法,其特征在于,所述处理器上的记录网格单元数量的变量的更新方式为其中,表示处理器m上的网格单元数,...
【专利技术属性】
技术研发人员:李超,赵然,郭晓威,张森,杨灿群,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。