一种计算水滴运动轨迹的步长确定方法及存储介质转让专利

申请号 : CN202210797044.6

文献号 : CN114861134B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周志宏熊华杰易贤曾涛陈宇李英琪

申请人 : 四川大学

摘要 :

本申请实施例公开了一种计算水滴运动轨迹的步长确定方法及存储介质,涉及水滴撞击特性研究技术领域。该方法包括:根据水滴的上一时间步长和当前时间步长的运动参数变化量,获取当前时间步长下的单步误差,运动参数变化量包括位置变化量和/或速度变化量;若当前时间步长下的单步误差小于预设区间的最小值,则增大当前时间步长的值作为下一时间步长的值;若当前时间步长下的单步误差在预设区间内,则将当前时间步长的值作为下一时间步长的值。若当前时间步长下的单步误差大于预设区间的最大值,则减小当前时间步长的值作为下一时间步长的值。如此可以解决获取水滴的运动轨迹时的不能同时满足高精度与较小计算量的问题。

权利要求 :

1.一种计算水滴运动轨迹的步长确定方法,其特征在于,所述方法包括:

S110.根据所述水滴的上一时间步长的运动参数变化量和当前时间步长的运动参数变化量,获取所述当前时间步长下的单步误差,其中,所述运动参数变化量包括位置变化量和/或速度变化量,所述单步误差包括位置变化量误差 和/或速度变化量误差 ;

S120.若所述当前时间步长下的单步误差小于预设区间的最小值,则增大所述当前时间步长的值作为下一时间步长的值,其中,所述预设区间为 ,为单步误差上限,为误差控制因子,且 ;

S130.若所述当前时间步长下的单步误差在所述预设区间内,则将所述当前时间步长的值作为所述下一时间步长的值;

S140.若所述当前时间步长下的单步误差大于所述预设区间的最大值,则减小所述当前时间步长的值作为所述下一时间步长的值。

2.根据权利要求1所述的计算水滴运动轨迹的步长确定方法,其特征在于,若所述上一时间步长之后为所述下一时间步长,则步骤S110还包括:根据所述水滴的受力情况得到所述水滴上一时间步长的加速度,以及得到所述水滴上一时间步长之后的当前时间步长内的加速度,且所述当前时间步长的值等于上一时间步长的值;

根据所述水滴上一时间步长的加速度和所述上一时间步长的值,得到所述上一时间步长的运动参数变化量,并根据所述水滴上一时间步长之后的当前时间步长内的加速度,和所述当前时间步长的值,得到所述当前时间步长的运动参数变化量。

3.根据权利要求1所述的计算水滴运动轨迹的步长确定方法,其特征在于,若所述上一时间步长之后为所述当前时间步长,所述当前时间步长之后为所述下一时间步长,则步骤S110还包括:根据所述水滴的受力情况得到所述水滴上一时间步长的加速度和当前时间步长的加速度,且所述当前时间步长由所述上一时间步长下的单步误差确定;

根据所述水滴上一时间步长的加速度和所述上一时间步长的值,得到所述上一时间步长的运动参数变化量,并根据所述水滴当前时间步长的加速度和所述当前时间步长的值,得到所述当前时间步长的运动参数变化量。

4.根据权利要求1至3任一所述的计算水滴运动轨迹的步长确定方法,其特征在于,若所述运动参数变化量包括位置变化量和速度变化量,则所述单步误差为位置变化量误差和速度变化量误差 中的最大值。

5.根据权利要求1所述的计算水滴运动轨迹的步长确定方法,其特征在于,每经过n个时间步长执行一次步骤S110、步骤S120、步骤S130和步骤S140,其中, 。

6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行所述权利要求1‑5任一项所述方法。

说明书 :

一种计算水滴运动轨迹的步长确定方法及存储介质

技术领域

[0001] 本申请涉及水滴撞击特性研究技术领域,更具体地,涉及一种计算水滴运动轨迹的步长确定方法及存储介质。

背景技术

[0002] 飞机穿越云层时,过冷水滴撞击到机体后,可能发生相变并导致结冰现象。结冰会改变飞机的外形与绕流流场,破坏气动性能,降低操纵性与稳定性,威胁飞行安全,严重时导致空难事故。水滴收集率可以定量表征撞击到物体上的水滴,是研究水滴撞击特性的重要参数。因此,水滴收集率可以用于研究飞机结冰特性,还可以用于飞机防除冰系统设计。
[0003] 目前,可以采用数值模拟方法研究水滴收集率,其中,拉格朗日方法是研究水滴收集率的常用方法之一。利用拉格朗日方法,获得远场平面释放的水滴的运动轨迹,从而得到水滴撞击物面的情况。之后可以采用面积比法或粒子统计法得到水滴收集率。
[0004] 现有技术在获取远场平面释放的水滴的运动轨迹时,通常采取同一时间步长,若要使获得的水滴的运动轨迹的精度足够高,以使获得的水滴收集率的精度足够高,则需要将时间步长取得非常小,在获取水滴的运动轨迹时,计算的步数非常多,导致计算量很大;若要减小获得水滴运动轨迹时的计算量,则需要将时间步长取的较大,但这又会导致获得的水滴的运动轨迹的精度不够高。
[0005] 因此,现有技术在获取水滴的运动轨迹时,存在不能同时满足高精度与较小计算量的问题。

发明内容

[0006] 本申请提出了一种计算水滴运动轨迹的步长确定方法,根据水滴的上一时间步长的运动参数变化量和当前时间步长的运动参数变化量,获取所述当前时间步长下的单步误差,其中,所述运动参数变化量包括位置变化量和/或速度变化量,所述单步误差包括位置变化量误差 和/或速度变化量误差;若所述当前时间步长下的单步误差小于所述预设区间的最小值,则增大所述当前时间步长的值作为下一时间步长的值。若所述当前时间步长下的单步误差大于所述预设区间的最大值,则减小所述当前时间步长的值作为下一时间步长的值。若所述当前时间步长下的单步误差在预设区间内,则将所述当前时间步长的值作为下一时间步长的值。本申请提供的方法,根据每一时间步长中的误差,确定下一时间步长的取值,在误差较小时,即能够保证水滴运动轨迹的计算精度时,增大时间步长,减小计算水滴运动轨迹的次数,从而在保证精度的情况下减小计算量;在误差较大时,减小时间步长,提高水滴运动轨迹的计算精度;在误差合适时,保持原有的时间步长继续计算。如此,可以有效解决现有技术在获取水滴的运动轨迹时,存在的不能同时满足高精度与较小计算量的问题。
[0007] 第一方面,本申请实施例提供了一种计算水滴运动轨迹的步长确定方法,该方法包括:S110.根据所述水滴的上一时间步长的运动参数变化量和当前时间步长的运动参数变化量,获取所述当前时间步长下的单步误差,其中,所述运动参数变化量包括位置变化量和/或速度变化量,所述单步误差包括位置变化量误差 和/或速度变化量误差 ;S120.若所述当前时间步长下的单步误差小于所述预设区间的最小值,则增大所述当前时间步长的值作为下一时间步长的值,其中,所述预设区间为 ,为单步误差上限,为误差控制因子,且 ;S130.若所述当前时间步长下的单步误差在预设区间内,则将所述当前时间步长的值作为下一时间步长的值。
[0008] 第二方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
[0009] 综上所述,本申请至少具有如下技术效果:
[0010] 1.本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差较小时,即能够保证水滴运动轨迹的计算精度时,增大时间步长,减小计算水滴运动轨迹的次数,从而在保证精度的情况下减小计算量。
[0011] 2.本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差较大时,减小时间步长,提高水滴运动轨迹的计算精度。
[0012] 3.本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差合适时,保持原有的时间步长继续计算,同时满足高精度和较小计算量。
[0013] 因此,本申请提供的方案可以有效解决现有技术在获取水滴的运动轨迹时,存在的不能同时满足高精度与较小计算量的问题。

附图说明

[0014] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1示出了本申请实施例1提供的一种计算水滴运动轨迹的步长确定方法的流程示意图;
[0016] 图2示出了本申请实施例1提供的远场平面释放水滴的示意图;
[0017] 图3示出了本申请实施例1提供的上一时间步长与下一时间步长的示意图;
[0018] 图4示出了本申请实施例1提供的当前时间步长的示意图;
[0019] 图5示出了本申请实施例2提供的用于保存或者携带实现本申请实施例的计算水滴运动轨迹的步长确定方法的程序代码的存储单元。

具体实施方式

[0020] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021] 目前,拉格朗日方法是研究水滴收集率的常用方法之一。利用拉格朗日方法,获得远场平面释放的水滴的运动轨迹,从而得到水滴撞击物面的情况。之后可以采用面积比法或粒子统计法得到水滴收集率。在获取远场平面释放的水滴的运动轨迹时,通常采取同一时间步长,若要使获得的水滴的运动轨迹的精度足够高,以使获得的水滴收集率的精度足够高,则需要将时间步长取得非常小,在获取水滴的运动轨迹时,计算的步数非常多,导致计算量很大;若要减小获得水滴运动轨迹时的计算量,则需要将时间步长取的较大,但这又会导致获得的水滴的运动轨迹的精度不够高。
[0022] 因此,为了解决上述缺陷,本申请实施例提供了一种计算水滴运动轨迹的步长确定方法,该方法包括:根据所述水滴的上一时间步长的运动参数变化量和当前时间步长的运动参数变化量,其中,所述运动参数变化量包括位置变化量和/或速度变化量,所述单步误差包括位置变化量误差 和/或速度变化量误差,获取所述当前时间步长下的单步误差;若所述当前时间步长下的单步误差小于所述预设区间的最小值,则增大所述当前时间步长的值作为下一时间步长的值;若所述当前时间步长下的单步误差在预设区间内,则将所述当前时间步长的值作为下一时间步长的值。在误差较小时,即能够保证水滴运动轨迹的计算精度时,增大时间步长,减小计算水滴运动轨迹的次数,在误差合适时,保持原有的时间步长继续计算,从而在保证精度的情况下减小计算量。
[0023] 下面对本申请所涉及到的计算水滴运动轨迹的步长确定方法进行介绍。
[0024] 实施例1
[0025] 请参照图1,图1为本申请实施例1提供的一种计算水滴运动轨迹的步长确定方法的流程示意图。本实施例中,该计算水滴运动轨迹的步长确定方法可以包括以下步骤:
[0026] 步骤S110:根据所述水滴的上一时间步长的运动参数变化量和当前时间步长的运动参数变化量,获取所述当前时间步长下的单步误差,其中,所述运动参数变化量包括位置变化量和/或速度变化量,所述单步误差包括位置变化量误差  和/或速度变化量误差。
[0027] 在本申请实施例中,如图2所示,远场平面释放水滴,这些水滴可能会撞击到物面上,拉格朗日方法通过获得远场平面释放的每个水滴的运动轨迹,判断每个水滴是否会撞击到物面上。水滴的运动轨迹可以根据水滴的受力情况得到。具体地,根据水滴受到的重力、浮力和阻力,可以得到:  ,其中,是空气流场的密度, 是水滴的密度, 是水滴的体积, 是水滴的位移, 是空气流场的速度, 是水滴的速度, 是水滴迎风面积,是重力加速度, 是水滴阻力系数,且, 是相对雷诺数, ,且 ,
是水滴当量直径, 是空气粘性系数。根据上述公式可以得到:
,其中, 为水滴的加速度。根据水滴的加
速度,可以得到水滴每一个时间步长的位置,直至水滴从远场平面运动至物面,或者从远场平面运动至物面周围,即可得到水滴的运动轨迹。
[0028] 作为一种可选实施方式,所述运动参数变化量包括位置变化量或速度变化量,所述单步误差为位置变化量误差 或速度变化量误差 。
[0029] 作为另一种可选实施方式,所述运动参数变化量包括位置变化量和速度变化量,所述单步误差为位置变化量误差 和速度变化量误差 。
[0030] 作为又一种可选实施方式,所述运动参数变化量包括位置变化量和速度变化量,所述单步误差为位置变化量误差 和速度变化量误差 中的最大值。
[0031] 在本申请实施例中, 可以是位置变化量的相对误差,即 ,还可以是位置变化量的绝对误差,即 ,其中, 为所述当前时
间步长的位置变化量, 为所述上一时间步长的位置变化量。
[0032] 在本申请实施例中, 可以是速度变化量的相对误差,即 ,还可以是速度变化量的绝对误差,即 ,其中, 为所述当前时
间步长的速度变化量, 为所述上一时间步长的速度变化量。
[0033] 在示例性实施例中,若所述上一时间步长之后为所述下一时间步长,则步骤S110可以包括子步骤S111和子步骤S112。
[0034] 子步骤S111:根据所述水滴的受力情况得到所述水滴上一时间步长的加速度,以及得到所述水滴上一时间步长之后的当前时间步长内的加速度,且所述当前时间步长等于当前时间步长。
[0035] 子步骤S112:根据所述水滴上一时间步长的加速度和所述上一时间步长的值,得到所述上一时间步长的运动参数变化量,并根据所述水滴上一时间步长之后的当前时间步长内的加速度,和所述当前时间步长的值,得到所述当前时间步长的运动参数变化量。
[0036] 在本申请实施例中,如图3所示,上一时间步长的值为 ,下一时间步长的值为。上一时间步长之后为下一时间步长。在该实施方式中,当前时间步长不是获取水滴运动轨迹的过程中实际使用的时间步长,而是用于确定下一时间步长的假定值,且当前时间步长的值等于上一时间步长的值。
[0037] 在示例性实施例中,若所述上一时间步长之后为所述当前时间步长,所述当前时间步长之后为所述下一时间步长,则步骤S110还可以包括子步骤S113和子步骤S114。
[0038] 子步骤S113:根据所述水滴的受力情况得到所述水滴上一时间步长的加速度和当前时间步长的加速度,且所述当前时间步长由所述上一时间步长下的单步误差确定。
[0039] 子步骤S114:根据所述水滴上一时间步长的加速度和所述上一时间步长的值,得到所述上一时间步长的运动参数变化量,并根据所述水滴当前时间步长的加速度和所述当前时间步长的值,得到所述当前时间步长的运动参数变化量。
[0040] 在本申请实施例中,如图4所示,上一时间步长的值为 ,当前时间步长的值为,下一时间步长的值为 。上一时间步长之后为当前时间步长,当前时间步长之后为下一时间步长。在该实施方式中,当前时间步长是获取水滴运动轨迹的过程中实际使用的时间步长,且当前时间步长已经由上一时间步长下的单步误差所确定,若上一时间步长下的单步误差在预设区间内,则当前时间步长等于上一时间步长,若上一时间步长的单步误差不在预设区间内,则当前时间步长可以不等于上一时间步长,而是根据该单步误差减小或增大上一时间步长的值作为当前时间步长的值。
[0041] 步骤S120:若所述当前时间步长下的单步误差小于所述预设区间的最小值,则增大所述当前时间步长的值作为下一时间步长的值,其中,所述预设区间为 ,为单步误差上限,为误差控制因子,且 。
[0042] 在示例性实施例中,单步误差上限的值和误差控制因子的值可以根据经验设定,例如,单步误差上限的值可以是 ,误差控制因子的值可以是1.3。
[0043] 作为一种可选实施方式,增大当前时间步长的值的方式,可以是根据经验增大当前时间步长的值。
[0044] 作为另一种可选实施方式,增大当前时间步长的值的方式,还可以是采用二分法增大当前时间步长的值。
[0045] 例如:若所述上一时间步长之后为所述下一时间步长,则设定 ,, 。上一时间步长的值为 ,令当前时间步长的值为 ,且此时,若当前时间步长下的单步误差小于预设区间的最小值,则该实施方式可以是:
令 , ,再重新令 ,将当前时间步长增大至
,并作为下一时间步长的值;该实施方式还可以是:令 , ,再
重新令 ,将当前时间步长的值增大至 ,且此时 ,并重复前
述步骤,直到增大后的当前时间步长下的单步误差在预设区间内,将当前时间步长增大至此时的 ,作为下一时间步长的值。
[0046] 又例如:若所述上一时间步长之后为所述当前时间步长,所述当前时间步长之后为所述下一时间步长,则设定 , , 。当前时间步长与此时的 相等,若当前时间步长下的单步误差小于预设区间的最小值,则该实施方式可以是:
令 , ,再重新令 ,将当前时间步长增大至
,并作为下一时间步长的值;该实施方式还可以是:令 , ,再
重新令 ,将当前时间步长的值增大至 ,且此时 ,并重复前
述步骤,直到增大后的当前时间步长下的单步误差在预设区间内,将当前时间步长增大至此时的 ,作为下一时间步长的值。
[0047] 本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差较小时,即能够保证水滴运动轨迹的计算精度时,增大时间步长,减小计算水滴运动轨迹的次数,从而在保证精度的情况下减小计算量。
[0048] 步骤S130:若所述当前时间步长下的单步误差在预设区间内,则将所述当前时间步长的值作为下一时间步长的值。
[0049] 本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差合适时,保持原有的时间步长继续计算,同时满足高精度和较小计算量。
[0050] 步骤S140:若所述当前时间步长下的单步误差大于所述预设区间的最大值,则减小所述当前时间步长的值作为下一时间步长的值。
[0051] 作为一种可选实施方式,减小当前时间步长的值的方式,可以是根据经验减小当前时间步长的值。
[0052] 作为另一种可选实施方式,减小当前时间步长的值的方式,还可以是采用二分法减小当前时间步长的值。采用二分法减小当前时间步长的值的步骤,可以参考前述采用二分法增大当前时间步长的值的步骤,本申请对此不再赘述。
[0053] 本申请通过根据每一时间步长中的误差,确定下一时间步长的取值,在误差较大时,减小时间步长,提高水滴运动轨迹的计算精度。
[0054] 作为一种可选实施方式,每经过n个时间步长执行一次步骤S110、步骤S120、步骤S130和步骤S140,其中, 。
[0055] 在本申请实施例中,水滴运动过程中的第一个时间步长可以根据经验确定。
[0056] 在本申请实施例中,水滴运动过程中的第一个时间步长还可以采用二分法确定。
[0057] 例如,设定 , , , 可以为根据经验设置的任意时间值,令第一个时间步长的值为 ,且此时 ,令第二个时间步长的值也为,根据第一个时间步长的值和水滴在第一个时间步长的加速度得到第一个时间步长的运动参数变化量,根据第二个时间步长的值和水滴在第二个时间步长的加速度得到第二个时间步长的运动参数变化量,根据第一个时间步长的运动参数变化量和第二个时间步长的运动参数变化量,得到第一个时间步长下的单步误差。
[0058] 若该单步误差小于预设区间的最小值,则令 , ,再重新令 ,并重复前述步骤,直到增大后的第一个时间步长下的单步误差在预设区间内,将此时的增大后的 作为第一个时间步长的值。
[0059] 若该单步误差在预设区间内,则将 作为第一个时间步长的值,且此时 。
[0060] 若该单步误差大于预设区间的最小值,则令 , ,再重新令,并重复前述步骤,直到减小后的第一个时间步长下的单步误差在预
设区间内,将此时的减小后的 作为第一个时间步长的值。
[0061] 本申请提供的计算水滴运动轨迹的步长确定方法,适用于飞机上水滴收集率的计算,也适用于风力发电机等其他设备上的水滴收集率的计算。
[0062] 实施例2
[0063] 请参考图5,图5示出了本申请实施例2提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质600中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0064] 计算机可读存储介质600可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM(可擦除可编程只读存储器)、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质600包括非易失性计算机可读存储介质(non‑transitory computer‑readable storage medium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读取或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。
[0065] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。