精确预测船舶和海洋结构物在波-流联合作用下所受水动力载荷及其运动对船舶和海洋结构物的设计有着非常重要的意义,它是新型船舶和海洋工程结构物研究开发首先须要解决的关键问题之一.研究该问题一般采用模型试验和数值模拟方法,前者成本较高,后者可在势流理论和黏性理论的基础上开展工作.传统的研究方法是采用基于势流理论的假设来进行[1-4],但在时域内的计算量依然较大.在波浪参数(波幅、波浪频率、流速等)改变的情况下须要进行多次计算,获得结果的时间较长.近二十年来机器学习在船舶与海洋工程领域取得了较多的应用性成果.机器学习方法中的BP神经网络(BPNN)有良好的非线性表达能力和泛化能力,可以为船舶与海洋结构物的性能预报提供指导.在船舶与海洋工程领域,机器学习已成功应用于船舶阻力[5-9]预报,近期的研究工作如文献[10-11]对小样本下船型阻力设计,讨论了选择不同船型参数时传统机器学习方法在预报船型阻力上的精度,同时也建立了集成学习和迁移学习的阻力预报模型.机器学习方法除用于在船舶阻力预报外,也用于船舶操纵性[12]和耐波性[13-14]领域.本研究对二阶波-流和结构物相互作用的绕射问题进行研究,在数值模拟的基础上得到的波浪和水动力计算结果作为训练样本,采用基于Levenberg-Marquardt算法的BP(即LM-BP)神经网络来预测任意参数(波浪频率和流速)组合下结构物上的波浪和水动力幅值及其时间历程,可以快速地获得精度较高的计算结果.1 控制方程和边界条件定义坐标系oxy如图1所示,考虑一半圆柱和波-流相互作用问题.x轴和静水面S0重合,y轴垂直向上,在无波动下水深为h.Sf为瞬时自由表面,Sb为半圆柱表面(物面),其单位外方向矢量为n=(nx,ny).水底表面Sd位置为y=-h,Sc为流体域∀的人工截断边界.假设流体为均匀、不可压缩和无黏性的理想流体,且流体的运动为无旋.10.13245/j.hust.240124.F001图1坐标系在无流情况下,流场内的速度势φ满足拉普拉斯方程,有∇2φ=0    ( in ∀).(1)对于速度大小为U0并沿x轴方向的稳态流和波浪共存问题,流场内总的速度势可表示为Φ=U0x+φ.速度势在流场内满足如下的边界条件,即∂η∂t+U0+∂φ∂x∂η∂x-∂φ∂y=0    (on Sf);(2)∂φ∂t+gη+12∇φ2+U0∂φ∂x=0    (on Sf);(3)∂φ∂n=-U0nx    (on Sb);(4)∂φ∂n=0    ( on y=-h),(5)式中:t为时间;g为重力加速度;η为波高.此外,φ在Sc上还须满足辐射条件.将速度势φ和波高进行摄动展开到二阶,有φ=φ(0)+εφ(1)+ε2φ(2)+⋯;(6)η=εη(1)+ε2η(2)+⋯,(7)式中:ε为小量(一般可取为波陡);φ(0)为由水流作用引起的扰动势,而由其造成的波忽略不计;φ(m),η(m) (m=1,2)分别为第m阶速度势和波高.将式(6)和(7)代入式(1)~(5)可得绕射问题二阶波-流相互作用各阶定解问题.由流速引起的扰动势定解问题(m=0)为:∇2φ(m)=0    (in ∀(0));∂φ(m)/∂t=0    (on y=0);∂φ(m)/∂y=-U0nx     (on Sb(0));∂φ(m)/∂y=0    (on y=-h),式中∀(0)为由S0,Sc,Sb和Sd构成的流域.而一、二阶绕射势φD(m) (m=1,2)定解问题(m=1,2)为∇2φD(m)=0    (in ∀(0));∂ηD(m)∂t-∂φD(m)∂y=-∂ηI(m)∂t-∂φI(m)∂y+f1(m)    (on y=0);∂φD(m)∂t+gηD(m)=-∂φI(m)∂t+gηI(m)+f2(m)    (on y=0);∂φD(m)∂n=-∂φI(m)∂n    (on Sb(0));∂φD(m)∂y=0    (on y=-h) ,式中:φI(m)为入射势;ηI(m)为入射波波高;ηD(m)为绕射波波高.对于上述各阶定解问题的详细描述及f1(m),f2(m) (m=1,2)表达式可参考文献[4].2 基于Levenberg-Marquardt算法的BP神经网络BP神经网络即反向传播神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播.BP神经网络系统具有非线性、智能的特点.BP神经网络包含输入层、输出层及在二者之间的若干隐含层,在各层之间通过权值和阈值进行连接.如图2所示为单个隐含层BP神经网络,设输入层有M个节点xi (i=1,2,…,M),输出层有N个节点Oi (i=1,2,…,N),在二者之间的隐含层有L个节点yi (i=1,2,…,L).BP神经网络各层节点之间通过激活函数来描述.10.13245/j.hust.240124.F002图2BP神经网络示意图设前一层第i个节点和当前层第j个节点之间的权值为wij,且第j个节点的阀值为bj.隐含层值为yj=f(Sj)    (j=1,2,⋯,L),式中Sj=∑i=1M(wijxi+bj)    (j=1,2,⋯,L).(8)输出层值为Ol=f(Sl)=f∑j=1L(wjlyj+bl)(l=1,2,⋯,N). (9)式(8)和(9)中:f为激活函数,一般选取Sigmoid型函数、tanh型函数或线性函数.本研究对输入层和隐含层之间及隐含层之间采用tanh型函数,而在隐含层和输出层之间由于为回归问题,因此采用线性激活函数,即Ol=f(Sl)=Sl    (l=1,2,⋯,N).假设输出层的实际结果为tl,则误差函数可表达为E(w,b)=12∑lNel2=12∑l=1Ntl-f∑j=1Lwjlyj+bj2,式中el为输出层第l个节点误差.BP神经网络的主要目的是反复修正权值和阀值,使得误差函数值达到最小.权值和阈值的更新可表示为:wij=wij+Δwij;bi=bi+Δbi,式中Δwij和Δbi分别为权值和阈值增量.标准BP神经网络是基于梯度下降法来更新权值和阈值,计算较为简单,但容易陷入局部极小化且计算效率较低.基于Levenberg-Marquardt算法的BP神经网络(LM-BP)则可大大提高计算收敛速度而且性能稳定[15],故本研究采用LM-BP来预测二阶波-流和结构物作用时的波浪和水动力.对于LM-BP,其权值和阈值增量可统一表示为Δw=[JT(w)J(w)+μI]-1JT(w)e(w),(10)式中:J为雅可比矩阵;I为单位矩阵;μ为阻尼因子;e(w)=t-O为误差向量,其中t和O分别为输出层实际值和输出层目标值的向量形式.e的表达式为e(w)=[e1,1, e1,2, ⋯, e1,Q, e2,1,e2,2, ⋯, e2,Q, ⋯, eN,1, eN,2, ⋯, eN,Q]T, (11)式中:e的第一个下标为输出节点编号,第二个下标为样本编号;Q为每个输出节点样本数,共有N个输出节点,故总样本数为nq=NQ.式(10)中,J的表达式为J=∂e1,1∂W1∂e1,1∂W2⋯∂e1,1∂WNw∂e1,2∂W1∂e1,2∂W2⋯∂e1,2∂WNw⋮∂e1,Q∂W1∂e1,Q∂W2⋯∂e1,Q∂WNw∂e2,1∂W1∂e2,1∂W2⋯∂e2,1∂WNw⋮∂eN,1∂W1∂eN,1∂W2⋯∂eN,1∂WNw∂eN,2∂W1∂eN,2∂W2⋯∂eN,2∂WNw⋮∂eN,Q∂W1∂eN,Q∂W2⋯∂eN,Q∂WNw,式中:Nw=L(M+1)+N(L+1),为权值和阈值总数;Wi(i=1,2,…,Nw)为权值和阈值,其向量表达式为W(w)=[w1,1(1), w1,2(1), ⋯, wM,L(1), b1(1), b2(1), ⋯,bL(1), w1,1(2), w1,2(2), ⋯, wL,N(2), b1(2), b2(2), ⋯, bN(2)]T, (12)其中,w和b的上标(1)表示输入层和隐含层,上标(2)表示隐含层和输出层,而w第一个下标表示输入层/隐含层节点编号,第二个下标表示隐含层/输出层节点编号.对于多个隐含层,误差向量和权值增量表达式同式(11)和(12)类似.3 计算结果与讨论3.1 波浪和水动力幅值的BP神经网络预测考虑位于均匀流水平半圆柱的绕射问题,入射波采用二阶斯托克斯波,如图1所示.定义弗劳德数Fr=U0/ga,其中:g为重力加速度;a为半圆柱半径.波-流作用时的无因次波数为kca,其中kc为考虑流存在时的线性波波数即一阶波波数,其值由ωc2=kcgtanh kch来确定,而ωc为有流时的一阶波频率,其和无流时一阶波频率ω存在ωc=ω+U0k的关系,其中k为无流时一阶波波数.在数值模拟中,无流时的一阶波波陡取为0.05.对于二阶问题,一阶、二阶波和水动力在无因次化后,其值不随波陡变化而变化,故而在后述神经网络的输入层中没有作为输入节点.先采用有限元法模拟二阶波-流和半圆柱作用问题,详细过程参见文献[4].9个Fr的取值分别为-0.14,-0.12,-0.08,-0.04,0,0.04,0.08,0.12,0.14.13个不同无因次波数的取值分别为0.2,0.3,0.4,0.5,0.6,0.5,0.8,0.9,1.0,1.2,1.4,1.6,1.8.计算9个不同Fr和13个不同无因次波数下半圆柱与水线交点(x=±a),即圆柱左、右端处波浪及作用在其上的水动力时间历程,在充分长时间作用后波浪和水动力趋于稳定状态,容易得到一阶、二阶及合成波和水动力幅值或峰值,限于篇幅,这里只给出一阶和二阶波幅值的部分结果,如图3所示,图中|η(1)|和|η(2)|分别为一阶波和二阶波幅值,A为无流时一阶入射波波幅.由于采用9个不同Fr和13个不同无因次波数,故样本总数为9×13=117.10.13245/j.hust.240124.F003图3一阶波和二阶波幅值随kca和Fr变化关系将上述波和力幅值或峰值作为LM-BP神经网络预测的训练样本,采用两层神经网络.其中输入层有Fr和无因次波数2个节点.原则上,可将一、二阶及合成波或力放在一起做网络训练,这样就有多个输出,但实际效果不如将一阶、二阶波或水动力单独训练效果好,故而输出层取为两个节点O1和O2,其分别表示圆柱左、两端一阶、二阶波幅值,对水动力而言,其分别表示圆柱所受水平和垂直方向的一阶、二阶力幅值.对隐含层,一阶波/力幅值的隐含层节点数取为12,而二阶波/力幅值的隐含层节点数为18.对输入层和隐含层,激活函数采用tanh型函数,而隐含层和输出层采用线性函数,这样逼近效果最好[13].BP神经网络训练和预测采用Matlab软件来进行,训练函数为trainglm,即基于Levenberg-Marquardt算法的权函数和阈值更新.对网络进行242次训练,收敛精度设为2×10-4.将训练好的网络用来测试Fr=-0.064和Fr=0.064时的情况.该情况下的一、二阶及合成波和水动力数值模拟结果已在文献[4]中给出.由于本文训练数据较少,因此前面计算数据均划为训练集,而不设置验证集.对Fr=-0.064和Fr=0.064时一阶波幅值|η(1)|预测结果在图4中给出,从图中可知预测效果总的说来较好.预测值对计算值的最大误差为9.6%,出现在Fr=0.064,kca=1.8处(图4(d)).这主要是由于该处波幅值较小,造成相对误差较大.而二阶波幅值|η(2)|预测结果如图5所示.最大误差10.13245/j.hust.240124.F004图4一阶波幅值网络预测和计算结果对比10.13245/j.hust.240124.F005图5二阶波幅值网络预测和计算结果对比出现在Fr=0.064,kca=1.4处(图5(d)),其值为10.5%.由于训练集数据中Fr在-0.14和0.14范围内,因此上述关于Fr=-0.064和Fr=0.064处的波浪和水动力幅值的预测仍在[-0.14,0.14]范围内.这里,本研究给出不在该范围内的Fr=0.15处的预测.预测结果如图6和7所示,图中ρ为流体密度.图6给出了圆柱左右两端一阶波幅值、二阶波幅值及一阶和二阶的合成波峰值网络预测和数值计算结果对比.对一阶波(图6(a)和(b)),最大误差出现在kca=1.8处右端波幅值(图6(b)),误差值为6.8%;而二阶波最大误差出现在kca=1.2处右端(图6(d)),误差为7.2%.对合成波峰值ηmax(图6(e)和(f))而言,两者之间的符合程度不如一阶波幅值,但总体上看符合也较好.图7为Fr=0.15的一阶水动力幅值10.13245/j.hust.240124.F006图6Fr=0.15处波幅、波峰值网络预测和计算结果对比10.13245/j.hust.240124.F007图7Fr=0.15处水动力幅值、峰值网络预测和计算结果对比|Fx(1)|和|Fy(1)|、二阶水动力幅值|Fx(2)|和|Fy(2)|及一阶和二阶的合成力峰值Fx,max和Fy,max的网络预测和数值模拟结果对比(下标x,y分别表示力在x轴方向的水平力分量和y轴方向的垂向力分量),其符合度也很好.3.2 波浪和水动力时间历程的BP神经网络预测在时域内模拟波-流与结构物相互作用问题的重要目标之一是预测波浪和水动力时间历程.上述预测一阶波/力峰值和二阶波/力峰值等,其样本数均为117.对于波浪和水动力时间历程的预测,由于须计入每一时步计算所得波浪和水动力值,因此其训练样本数要大得多.时域模拟时输入层有3个节点即时间t及t时刻左、右端波浪值(或水平、垂直水动力值).输出层仍为2个节点即左、右端波浪值或水平、垂直水动力值.本研究的每一个训练数据,即给定一个Fr和一个无因次波数计算所得一、二阶波/力等的时间历程均有20个周期共4 001个数据,故训练数据的样本总数为117×4 001=4.681 17×105.训练函数仍为基于Levenberg-Marquardt算法的trainglm,但由于样本数大,需要较大的内存,因此网络训练需要较长的时间.对于其他方法如学习率可变的动量BP算法、共轭梯度法、拟牛顿算法、弹性BP方法、一步割线算法等,虽然其计算速度较快,但精度较差,不能满足要求.表1为对一阶波进行训练得到的均方误差,误差精度设置为2×10-4.其中工况1~5为单隐含层,而工况6~8为两隐含层,每层单元数分别为30,40和50.由表1可知:经过1.5×104次训练,单隐层(工况1~5)随着隐含层节点数增加其均方误差减小,但无法达到设置精度的要求;将隐含层增加到两层(工况6和7),均方差也随着各隐含层节点数的增加继续减小,但仍无法达到设置精度2×10-4.将隐含层各节点数增加到50×50(工况8),经过5 587次训练后即可达到精度要求.对二阶波采用2隐含层预测效果较差,故采用3隐含层即30×30×30来进行预测.10.13245/j.hust.240124.T001表1对一阶波进行训练时不同隐含层数下的均方误差工况隐含层节点数训练次数/103均方误差/10-3110015.00020.50215015.00017.70320015.0005.120425015.0001.520530015.0001.250630×3015.0001.560740×4015.0000.259850×505.5870.200这里只给出合成波和合成力的预报结果.图8和9分别为kca=1.0和Fr=0.15处合成波(一阶波+二阶波)和合成力(一阶力+二阶力)网络预测和数值计算结果对比.Tc=2π/ωc为考虑流存在时一阶波周期.由图可知二者之间符合良好.10.13245/j.hust.240124.F008图8kca=1.0和Fr=0.15处合成波时间历程10.13245/j.hust.240124.F009图9kca=1.0和Fr=0.15处合成力时间历程4 结论a.采用BP神经网络预测波浪和水动力幅值、峰值,对于样本数较少的波浪和水动力幅值可以用较少节点数(如12个)较精确地预测一阶波和水动力幅值.对于二阶波和水动力需要稍多的节点数(18个).b.对于样本数大的一阶和二阶波浪和水动力时间历程,基于LM算法的BP神经网络也可较精确地预测.对于一阶波和一阶力,采用2隐含层50×50节点可以获得较满意的结果;而对于二阶波和二阶力,则须采用3隐含层30×30×30才可以获得较满意的计算结果.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读