时间:2024-07-28
斯园园,杨 静,蒙学昊,朱崇远,张海涛
(中海油能源发展采油服务公司 天津 300452)
海浪是在风的推动下在海洋中传播的短周期波动。一般来说,在风的作用下海洋表面产生的局部无规则的海浪被称为风浪。风浪是常见的恶劣航行场景,巨大的海浪、海上风暴漩涡、海洋表面上的强流等给船舶航行增加了诸多风险。这些风险都会导致船体失去平衡、侧翻、摇晃,其结果为货物受损、碰撞暗礁,造成生命财产损失。近年来,海洋气象服务不断发展,海上状况预报准确率上升,附加的警示功能愈加及时有效,海上安全事故显著减少,但仍不容小觑、不能放松警惕。
物理学的角度认为风是由于空气做流体运动产生的。空气动力学中把空气当作流体,因此,对于空气流动的风场可以采取光滑粒子流体动力学(Smoothed Particle Hydrodynamics,SPH)的流体模 型[1]建模。但是空气粒子的密度小,会造成接触面附近的数值不稳定,其次,如果要模拟恶劣海况,需要大量的空气粒子,如果数量不足,就很难产生足够的能量。虽然仅拾取海水表面的空气粒子作为样本的方法可以为这种情况提供一种解决思路,但其目前仅适合模拟小型不剧烈的空气场景,对于剧烈的海上风场建模不适用。
在SPH框架中,个别特殊的阻力模型[2]可以广泛应用到风场模型中。空气和流体之间的相互作用可以用阻力模型来模拟。因为阻力模型属于外力模型,所以不需考虑空气粒子的采样和稳定性的影响。但是,阻力的大小与风的接触面积直接相关,在高风速下,如果空气中流体粒子的量不足,也不会产生明显的波浪效果。如果要将它应用在海浪和强风的场景中并产生理想的海浪,需要进行某些改进。借鉴阻力模型,采用基于Perlin噪声[3]和改进对数风廓线[4-5]的随机脉冲风场模型,可绕过空气粒子带来的问题,最终模拟理想的受大风影响下的海浪场景[6]。
在风场模型[7-8]中,首先确定水平方向上的固定高度href,此点的风速为,该点的风速决定了整个风场的强度。为了能够建立随机变化的风场,利用Perlin噪声在基准风速上加上了无规则扰动。
Perlin是一种伪随机的呈梯度的噪声,噪声函数假设为Noise(x,y,z),三维空间中的任意一点用(x,y,z)表示,确定立方体晶格的参考点:
若x1=x0+1,y1=y0+1,z1=z0+1,则确定的立方体晶格如图1所示。
如图2所示,图1中正方体的每个顶点都生成 1个伪随机的梯度向量。从给定的梯度向量列表中选取梯度向量,该表由正方体的中心点到各边中点的向量组成。梯度向量在Perlin下表示为:(1,1,0),(-1,1,0),(1,-1,0),(-1,-1,0),(1,0,1),(-1,0,1),(1,0,-1),(-1,0,-1),(0,1,1),(0,-1,1),(0,1,-1),(0,-1,-1)。每个顶点梯度向量的伪随机性使得输入相同的值都可以获得同一输出值。
图1 Perlin噪声立方体晶格示意图 Fig.1 Schematic diagram of Perlin noise cube lattice
图2 伪随机梯度向量示意图 Fig.2 Schematic diagram of pseudo-random gradient vector
正方体内任意随机点都可以用向量(i,j,k)表示,其中i为正方体上平面和下平面之间的整数值集合i={x0,x1},同理其他2个边界整数值的集合分别为j={y0,y1},k={z0,z1}。则顶点(i,j,k)的梯度为:
式中:梯度列表用G表示,P表示0~255之间的无重复随机排列组合。
顶点梯度值的确定可以利用按位运算得到梯度列表的索引,为了防止缓存的溢出,会在实现时重复1次P排列组合,因此,P排列组合的最终长度为512。确定顶点的梯度向量后,需要计算各顶点指向输入点的距离向量与梯度向量的点积:
式中:d为正方体的顶点点积组成的集合。确定点积集合后,利用插值法,根据点积集合计算每个输入点对应的噪声值Noise(x,y,z)。具体计算过程如下:
式中:d为相应的点积分量,插值系数用u、v、w表示。图3所示为插值计算的示意图。
图3 插值计算示意图 Fig.3 Schematic diagram of interpolation calculation
Perlin噪声使用如下非线性插值函数:
插值系数为:
为了使Perlin噪声更自然、更好地产生分形效果,通常使用倍频对不同频率和不同振幅的Perlin噪声 Noise( x,y,z)进行累积计算。表1为倍频和Perlin噪声的叠加计算过程和公式。图4为一维Perlin噪声示例,图5为二维情况下的Perlin噪声示例,倍频值为8。但在实际应用过程中,过大的倍频值往往会带来额外的复杂计算量,对计算结果起到适得其反的效果。因此,应根据实际应用场景合理选择倍频值的 取值。
表1 累积计算过程 Tab.1 Cumulative calculation process
图4 Perlin噪声示例 Fig.4 Perlin noise example
图5 二维Perlin噪声示例 Fig.5 Examples of 2D Perlin noise
将Perlin噪声带入SPH框架中,把海水粒子的位置xi作为输入值对水平风场进行随机干扰:
当风吹在海水表面时,海水表面的最上层海水粒子受风的影响更大,因此,最上层的海水粒子的速度会更快。然而,由于外力的作用,海水粒子受风的影响将随着深度的增加而衰减。因此,深层海水粒子的速度也将呈现垂直衰减的趋势。利用海水粒子受风场影响的速度随深度衰减的情况,推导了一种新海水粒子速度衰减方程:
在加入风廓线方程后,海水粒子的风速增量既有了随机性又有了垂直方向上衰减的特性。但在自然界中,风速的作用通常间断的,因此,考虑其间断不连续性,提出了一种脉动风场:
为了验证随机脉冲风场的有效性,把随机脉冲风场放在不同场景中进行了应用测试。图6为这次风浪场景的设计。该场景中流体粒子数为57.9k,海水 块和边界的大小如图7所示。
图6 风浪场景设计图 Fig.6 Design drawing of wind and wave scenarios
在图6所示场景条件下,以0.005s的时间步长模拟了无风和不同风向、不同风速下的海水粒子运动,模拟结果如图7~9所示。图中海水粒子的颜色对应它们的瞬时速度。在没有风的情况下,海水不受风场的作用,海水的运动范围相对较小,在此期间海水粒子的速度一般较慢。颜色条和速度值之间的非线性映射为在平静条件下观察缓慢的海水粒子创造了有利条件。
图7显示了在没有风的情况下只有重力作用时海面上海水粒子的分布情况。由于只受重力作用,受力较为均匀,海水粒子分布较为对称整齐,趋势平缓。图8和图9所示为脉冲周期为6s时各种风场条件作用下海面上海水粒子的运动分布。取每个脉冲周期的前0.75s作为脉冲的宽度,风速和风向如图左上角所注。风力强度控制参数取β=1.5。
图7 无风条件下的海面 Fig.7 Sea surface under no wind condition
图8 初始风速为-18.0,0.0,-0.5时的海面 Fig.8 Sea surface at initial wind speeds of 18.0,0.0 and -0.5
图9 初始风速为-15.0,0.0,-8.0时不同时间点的海面 Fig.9 Sea surface at initial wind speeds of -15.0,0.0 and -8.0 at different time points
通过模拟LNG船舶海上航行时遇到复杂海浪和风浪等应急场景,可以辅助应急与安全处理工作,提升应急反应能力。
基于Perlin噪声和改进对数风廓线的随机脉冲风场进行建模,与采用SPH建立的流体模型相比,该模型不需要对空气粒子进行大量的采样工作就能实现理想的大风浪场景。根据仿真结果可知,处于海面表面上的高处海水粒子受风的影响较为明显,加上其他因素影响,此时船体很容易发生颠簸。低处的海水粒子较为稳定,受风场影响较小,较难产生波浪翻转的效果。该模型易于工程实现,能适应更多的空气场景,具有较强的适用性。■
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!