法律状态公告日
法律状态信息
法律状态
2020-06-09
授权
授权
2018-06-26
实质审查的生效 IPC(主分类):G06F17/50 申请日:20180104
实质审查的生效
2018-06-01
公开
公开
技术领域
本发明涉及虚拟仿真技术领域,具体来说,涉及一种基于浮力面元的船体快速建模方法。
背景技术
船体的浮力动力学建模是船体设计中的一项重要环节。当前在船体设计迭代中,主要的测验方法是实验法和计算流体力学(Computational Fluid Dynamics,CFD)方法。
实验法是研究有浪条件下船体操纵性最可靠的方法。这种方法通过构建船型的缩比模型,在水槽中进行实验,但实验法由于其实体模型和水槽的制作、占地等,成本高,效率低,特别不适合船体初步设计阶段的频繁迭代。
CFD方法是当前工程应用最为主流的方法之一,这种建模方式目标工程比较单一,更换工程后往往需要完全重新设计建模,在需要多个模型时,模型之间重复利用率低,整体设计迭代过程缓慢;而且传统流体计算是一项及其复杂的程序,大型船体的虚拟流体计算往往需要大型工作站做长达几小时甚至几天的运算处理,由于CFD网格划分中各个网格的耦合作用,对网格简化则可能引起错误的结果。在设计初期阶段,船体的设计往往更注重于对整体的把控而非各个细节,因此,CFD方法在对设计前期宏观把控阶段的计算效率上有所欠缺,不能满足设计阶段前期快速修改方案的效率要求。
利用虚拟仿真的方式对船体进行动力学建模,能够一定程度上削减传统动力学建模中存在的由于船体大小、外形不同所导致的多次重复建模,从而提高设计迭代过程中的效率。
虚拟现实技术的应用起步较晚,特别是对于普通船体,实时计算摇荡并不重要,根据经验公式即可估计出船舶的抗浪性。但是对于特殊船型,例如需要承担舰载机起降任务的航母,实时计算船体不同浪级下的摇荡就十分重要,否则将对飞行员的起降构成很大的困难,而我国航母2012年刚刚起步,对航母的构建研究尚属初步。因此,在航母上实现虚拟现实环境下的船体快速建模需求迫切。
发明内容
针对相关技术中的上述技术问题,本发明依托于虚拟现实技术,利用PhysX物理引擎建立船体物理模型,利用Unity3D引擎建立可视化模型,提供一种能实现对不同外形和大小的船体的参数匹配设计和受力演算,而且可以随时根据设计要求对船体外形设计进行调整的建模方法,使设计人员快速建立船体模型,可用于设计人员早期迭代设计、船上人员虚拟培训等。
为实现上述技术目的,本发明的技术方案包括以下步骤:
S1:设计所述船体的主要参数,建立所述船体的粗制三维模型;
S2:对所述船体的粗制三维模型布置质心位置和划分浮力面元,并根据每个所述浮力面元对应的浮力体的浮力之和进行初步仿真,建立所述船体的物理模型;所述浮力面元是指将所述船体分割为多个离散的平面,每个所述离散的平面称之为浮力面元;
S3:针对所述船体的物理模型的仿真结果进行参数调整;
S4:判断所述船体的物理模型是否达到预期目标,如果是,则跳至S5,否则,跳至S1;
S5:建立所述船体的可视化模型;
S6:将所述船体的物理模型和所述船体的可视化模型进行参数关联;
S7:判断所述船体的物理模型和所述船体的可视化模型是否正确关联,如果是,则跳至S8,否则,跳至S6;
S8:进行渲染和可视化仿真,建立所述船体的细化模型;
S9:判断所述船体的细化模型是否达到预期目标,如果是,则保存设计方案,否则,跳至S5。
进一步地,S2中,所述对所述船体的粗制三维模型布置质心位置和划分浮力面元,并根据每个所述浮力面元对应的浮力体的浮力之和进行初步仿真,建立所述船体的物理模型的具体步骤包括:
S21:确定所述浮力面元的数量n,并根据所述船体的船底形状划分所述浮力面元的区域;
S22:判断计算要求,是否要求计算速度大于计算精度,如果是,则跳至S23,否则,跳至S24;
S23:对所述浮力面元进行随机面元取样计算;
S24:对所述浮力面元进行固定面元取样计算;
S25:将每个所述浮力面元铅锤向上扫描,生成每个所述浮力面元对应的每个浮力体,并获取每个所述浮力体的特征体积,从而计算每个所述浮力体的浸水比例δ;
S26:计算每个所述浮力体的浮力Fbuoyancy,并求得所有所述浮力体的浮力之和;
S27:进行可视化仿真,建立船体的物理模型;所述进行可视化仿真,建立船体的物理模型利用Unity3D引擎和PhysX引擎实现。
进一步地,S21中,所述浮力面元的数量n满足:50<n<500。
进一步地,S21中,所述浮力面元的区域应覆盖所述船体浸入水面的所有部分,且为闭合区域;对于对称的船体,所述浮力面元的区域包含有对称的区域。
进一步地,S23中,所述随机面元取样为随机选取部分所述浮力面元进行取样计算,以减少计算量。
进一步地,S24中,所述固定面元取样可以为按固定的步长对所有所述浮力面元进行取样计算。
进一步地,S24中,所述固定面元取样也可以为从所有所述浮力面元中预选部分浮力面元进行取样计算。
进一步地,S25中,所述浮力体的浸水比例δ的计算公式为:
其中,H1为所述浮力面元的几何中心铅锤向上处海浪高度;H2为所述浮力体在所述浮力面元的几何中心铅锤向上处的边缘高度;H3为所述浮力面元的几何中心高度。
进一步地,S26中,所述浮力体的浮力Fbuoyancy的计算公式为:
其中,CB为全局浮力调整常数,理想情况下CB的值为1;ρwater为水的密度;g为重力常数;Vvolume为所述船体的体积;Ccount为Unity3D引擎中每帧选取的浮力面元的数量。
优选地,S6中,所述参数关联主要体现在质心位置、浮力面元的几何中心位置、螺旋桨推力位置及方向。
本发明的有益效果:
1)本发明基于虚拟现实技术,周期短、成本低,不存在实验法对场地和实物模型的高要求。利用PhysX在设计初期快速完成对动力学的工程计算,同时使用Unity3D将其可视化,能够让设计人员在前期室内通过电脑进行逼真、可靠的任务仿真,对整个设计周期及未来训练演习有深远的意义。
2)本发明对于计算机运算能力要求低,单步运算时间小于0.02秒,满足虚拟现实的实时性要求。设计人员通过本发明提供的方法能够根据不同船体大小和形状快速调整不同参数,并且快速获得直观的受力演算,在早期就对设计方式进行评估修改,从而迭代修改船体设计,极大地提高了设计工作的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的建模方法流程图;
图2是本发明实施例的建立船体的物理模型的流程图;
图3是本发明实施例的船体的粗制三维模型;
图4是本发明实施例的船体的浮力面元的划分示意图;
图5是本发明实施例的单个浮力体的示意图;
图6是本发明实施例的单个浮力体的浸水比例计算示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明的实施例提供一种基于浮力面元的船体快速建模方法,包括以下步骤:
S1:设计船体的主要参数,建立船体的粗制三维模型;
船体的主要参数包括:总长、垂线间长、型宽、型深、吃水深度、排水量、螺旋桨位置、舵面位置等,建立船体的粗制三维模型如图3所示。
S2:对船体的粗制三维模型布置质心位置和划分浮力面元,并根据每个浮力面元对应的浮力体的浮力之和进行初步仿真,建立船体的物理模型;浮力面元是指将船体分割为多个离散的平面,每个离散的平面称之为浮力面元,根据浮力面元实时演算船体的浮力状况;所有浮力面元能提供的浮力总和应当等于船体排水量;
建立船体的物理模型的具体步骤如图2所示:
S21:确定浮力面元的数量n,并根据船体的船底形状划分浮力面元的区域;
浮力面元的划分,应当遵循均匀、合理的原则,具体应该满足:
(1)浮力面元划分数量合理;
(2)对称船体要求有对称的浮力面元;
(3)浮力面元应覆盖所有有可能浸入水面的船体部分;
(4)浮力面元集合为一闭合体,并能够反映船体的完整基本形状。
浮力面元划分的越多,可视化结果更加逼真,但对计算机或工作站的计算能力要求也更高,可以根据船体的大小,划分50-500个浮力面元。本发明的实施例取350个浮力面元,获得船体的浮力面元的划分示意图如图4所示。
S22:判断计算要求,是否要求计算速度大于计算精度,如果是,则跳至S23,否则,跳至S24;
根据实际的船体建模的需求,如果要求快速实现建模,则在保证一定精度的情况下,跳至步骤S23,对浮力面元进行随机面元取样计算;否则,跳至步骤S24,对浮力面元进行固定面元取样计算。
S23:对浮力面元进行随机面元取样计算;
对于复杂形状的船体,浮力面元的划分可以多达几百个,让它们同时参与每一步长的计算对于计算机的使用是一负担。本着虚拟现实优化原则,为了减少计算量,选取每一帧抽取随机位置的某几个进行演算,而非全部参与计算,称为随机面元取样法。
S24:对浮力面元进行固定面元取样计算;
固定面元取样即为以单个步长对全部浮力面元进行取样计算,或从全部浮力面元中预选能够代表浮力体性质的部分浮力面元进行取样计算。
S25:将每个浮力面元铅锤向上扫描,生成每个浮力面元对应的浮力体,并获取每个浮力体的特征体积,从而计算每个浮力体的浸水比例δ;
将步骤S24或S25选取的每个浮力面元铅锤向上扫描,生成每个浮力面元对应的浮力体,单个浮力体的示意图如图5所示,每个浮力体的特征体积记为Vcell,参见图6,进一步计算单个浮力体的浸水比例,图6中,V1、V2均为浮力体,在将船体光滑底面划分为多个浮力面元的和后,在各个浮力面元的几何中心取一参考点,读取浮力面元的几何中心高度H3,自参考点铅垂向上发射射线,击中的船体外轮廓高度即浮力体在浮力面元的几何中心铅锤向上处的边缘高度,记为H2,击中的海洋表面高度即浮力面元的几何中心铅锤向上处海浪高度,记为H1。此处,H1是由海浪建模生成的当地动态值,随当地海面高度变化。为了满足实时化的要求,定义单个浮力体的浸水比例δ:
若该处浮力体完全浸水,即H2<H1,则取δ=1;若该处浮力体完全离开水面,即H3>H1,则δ=0。
S26:计算每个浮力体的浮力Fbuoyancy,并求得船体的浮力F;
根据选取的浮力面元,对船体进行浮力计算。船体受力简化为:浮力、阻力,且浮力和阻力相互独立,此处,对海浪产生的流动力暂不计算。
1)浮力
根据浮力公式:
Fbuoyancy=ρwatergVdis>
其中,ρwater为水的密度、g为重力常数、Vdis为排水体积。因此,需要将每一个浮力面元的面积转化为排水体积。
一种直观的解决办法是Vdis=Scell*h,Scell为单个浮力面元的面积在水平面的投影,h为单个浮力面元区的入水深度#,但是Scell是一个不易求解的量,每一个浮力面元的底面法向每帧都在变化,这意味着每一帧每个浮力面元都需要多求解一个法向三维向量。
为了进一步满足实时化的要求,本方法将除了入水深度的其他部分均简化为常数,结合浸水比例δ,有:
Vdis=Scellh=Vcellδ>
式(5)中,Vvolume为船体的体积,Ccount为每帧取浮力面元的数量。
则,单个浮力面元对应的浮力体的浮力Fbuoyancy可简化为:
其中,CB为全局浮力调整常数,理想情况下CB的值为1;则式(2)中只需求解浸水比例δ,即可得到单个浮力体的浮力Fbuoyancy,缩减了计算步骤,加快了建模的速度。
将所有浮力面元的Fbuoyancy求和,提供的船体的浮力总和Fbuoyancy(total):
Fbuoyancy(total)=CBρwatergVvolumeδtotal>
2)阻力
根据阻力公式:
Fdrag=-0.5ρwaterSV2>
其中,S为浮力面元的特征面积、V为物体运动的速度。
和浮力的求解类似,浮力面元的特征面积S是受到浮力面元的速度V方向影响的变量,为了简化计算,本文避免求解每一个浮力面元的特征面积S,采用和浮力求解中同样的方法,引入浸水比例δ估算浮力面元的特征面积S。
其中,Sarea为船体的浮力面元的集合的总表面积,其值可在3D建模中由软件直接获得。
则单个浮力面元在水中以Vlocal速度运动时,产生的阻力Fdrag可简化为:
其中,CD为全局阻力调整常数,理想情况下应当为1。
各个浮力面元的Fdrag求和,提供的船体的阻力总和Fdrag(total):
Fdrag(total)=-0.5CDρwaterSareaδtotal|Vlocal|2>
根据浮力之和和阻力之和,通过PhysX引擎计算得到船体的浮力F。
S27:进行可视化仿真,建立船体的物理模型;所述进行可视化仿真,建立船体的物理模型利用Unity3D引擎和PhysX引擎实现。
Unity3D是当前应用最广泛的游戏引擎之一,其逼真的视觉效果和出色的内置物理属性演算功能使其在虚拟仿真领域得到了众多开发者的青睐。同时其个人版免费、开源代码等使其上收简单,开发者可以使用Unity3D对不同的物理建模进行快速简单的修改,并对其可视化模型进行更直观地展示,大大提高流程推进速度。
PhysX是一款较为知名的物理模拟软件,它通过CPU或独立的浮点处理器进行运算,模拟真实的物理效果,从而在虚拟仿真中另虚拟物体的运动与真实世界物理规律相符,增加虚拟仿真模拟的真实度。
通过PhysX和Unity3D两种引擎,即可在计算机中创建可视化仿真,同时满足视觉效果逼真、物理运动可靠两点要求。
S3:针对船体的物理模型的仿真结果进行参数调整;
S4:判断船体的物理模型是否达到预期目标,如果是,则跳至S5,否则,跳至S1;
S5:建立船体的可视化模型;
S6:将船体的物理模型和船体的可视化模型进行参数关联;
参数关联主要体现在质心位置、浮力面元的几何中心位置、螺旋桨推力位置及方向。
S7:判断船体的物理模型和船体的可视化模型是否正确关联,如果是,则跳至S8,否则,跳至S6;
S8:进行渲染和可视化仿真,建立船体的细化模型;
细化贴图、光照,完成模型的渲染,增强可视化模型的真实度。
S9:判断船体的细化模型是否达到预期目标,如果是,则保存设计方案,否则,跳至S5。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备包括:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质包括:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
所述“帧”是Unity3D引擎的运算单位,表示每秒钟显示几张图片,每一帧计算一次,如:30帧就是每秒显示30张图片。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 将波能转换为更有用的能量的装置,包括:具有细长元件和半浸没浮力的支撑结构;一种能量提取手段;以及具有正浮力浮选浮选水翼面元件的元件;并得到改善。
机译: 建筑船体,船体和其他浮力结构的方法以及其技术系统
机译: 一种无粘合剂的混凝土立面元件的组装方法,以及一种用于无粘合剂的混凝土立面元件的组装方法