三维声弹性广义水动力系数的高效并行算法的制作方法

文档序号:20067059发布日期:2020-03-06 08:36阅读:288来源:国知局
三维声弹性广义水动力系数的高效并行算法的制作方法

本发明涉及船舶水下辐射噪声计算与声学边界元计算技术领域,尤其是一种三维声弹性广义水动力系数的高效并行算法。



背景技术:

船舶三维声弹性频域分析方法继承了经典的浮体水弹性力学理论(wu,hydroelasticityoffloatingbodies,1984)的流固耦合处理方式,选用易于求解且具有正交完备性的干模态(结构在真空中的模态)作为广义基函数,通过计算干模态的广义水动力系数(包括附连水质量和附连水阻尼),形成以干模态主坐标为待求量的频域内的声弹耦合广义动力学方程;其中广义水动力系数,即附连水质量和附连水阻尼的计算是形成频域内声弹耦合广义动力学方程的关键。

现有技术中的船舶三维声弹性分析方法中,采用边界积分方法中的简单源数值方法计算广义水动力系数。简单源数值方法是将船舶湿表面离散成n块四边形的湿面元,每个湿面元的作用等效到其几何中心点上。每个湿面元相当于是一个单极子,通过求解一个n×n维度的矩阵方程进而得到每个湿面元的源强。获取源强之后,再进行干模态广义水动力系数的计算。当干模态数量较多时,高斯消元法作为一种可以采用的计算量和计算稳定性综合较优的算法被用于矩阵求解。

当船舶湿面元数目n较大时(例如n>100000),上述湿面元源强的计算量将非常大,耗时很长,严重影响到了船舶三维声弹性分析方法的工程实际应用时的计算速度和计算时长,成为一个瓶颈问题。



技术实现要素:

本申请人针对上述现有生产技术中的缺点,提供一种结构合理的三维声弹性广义水动力系数的高效并行算法,从而通过高效的并行计算方法,有效提高船舶三维声弹性广义水动力系数的计算速度,工程适用性强。

本发明所采用的技术方案如下:

一种三维声弹性广义水动力系数的高效并行算法,包括如下步骤:

第一步:基于有限元软件计算船舶结构的干模态,得到干模态的振型位移矩阵;

第二步:设计算的频率总数为k,频率分组数为ngro,基于负载均衡,将频率总数k分至各频率分组内,设每组频率分组内分到的频率数为kn,则ngro个频率分组中频率数kn的总和为频率总数k,其中n=1,...,ngro;完成频率总数进行并行计算的分组;

设总进程数为npro,则每组频率分组分到的进程数为ngp=npro/ngro;

第三步:针对第二步中的每组频率分组,基于简单源数值方法,将船舶湿表面划分成n个湿面元,以表示场点坐标、表示源点坐标,计算得到第k个频率ωk上的green函数矩阵以及green函数偏导数矩阵,每个矩阵的维度为n×n;

green函数矩阵为:

其中,k=kn0,…,kn0+kn-1,kn0为第n个频率分组中的起始频率号,kn为该第n个频率分组中的频率数;i,j=1,2,…,n;

green函数偏导数矩阵为:

实现每组频率分组中各个频率的green函数和green函数偏导数矩阵的一维并行处理;

第四步:基于第三步中的green函数偏导数矩阵,构建第k个频率ωk上的湿面元源强的矩阵方程,如下:

其中,为虚数符号,({d1},…,{dm})为干模态的振型位移法向分量矩阵,({σ1},…,{σm})为与各个频率相对应的待求解的湿面元源强矩阵,m为截断的干模态数;

对green函数偏导数矩阵和干模态的振型位移矩阵的法向分量矩阵进行二维并行划分计算,从而获得各组频率分组中各个频率对应的湿面元源强矩阵({σ1},…,{σm});

第五步:根据第四步中获得的与各个频率对应的湿面元源强矩阵,进行各个频率对应的广义水动力系数的计算,包括干模态附连水质量和附连水阻尼的计算,如下:

其中,ρ0为流体密度,[a(ωk)]为附连水质量矩阵,[b(ωk)]为附连水阻尼矩阵,re{}表示取复数的实部,im{}表示取复数的虚部,上标t表示取矩阵的转置,为湿面元面积的对角矩阵;

通过计算式的求解,从而获得干模态附连水质量和附连水阻尼系数。

作为上述技术方案的进一步改进:

第四步中,对green函数偏导数矩阵进行二维并行划分的方法包括如下步骤:

步骤一:设单个频率分组内的行进程数为nrow,该组频率分组内的列进程数为ncol,则该频率分组中的进程数ngp满足以下关系:ngp=nrow×ncol;

步骤二:基于行进程数nrow和列进程数ncol,对该频率分组中第k个频率ωk上的green函数偏导数矩阵中的各个元素进行行向和列向的间隔取数,形成与进程数ngp对应的各个分块,用myid对各个分块进行标号,则myid=0,....,ngp-1;从而实现第k个频率ωk上的green函数偏导数矩阵的二维并行划分;

步骤三:同步骤二对干模态的振型位移矩阵的法向分量矩阵({d1},…,{dm})进行二维并行划分;进而求得该第k个频率ωk上的湿面元源强矩阵({σ1},…,{σm});

步骤四:对步骤一中频率分组中的kn个频率,按照步骤二至步骤三依次重复,从而计算得到该频率分组内与各个频率相对应的湿面元源强矩阵({σ1},…,{σm})。

第二步中,将k个频率分配至ngro个频率分组中,设ωk为第k个频率,则第n个频率分组中的频率ωk满足k=kn0,…,kn0+kn-1,其中kn0为该第n个频率分组中的起始频率号,kn为该第n个频率分组中的频率数。

第二步中总进程数npro被频率分组数ngro整除。

第二步中将各个频率分至各频率分组,各组频率分组并行各自计算;各组频率分组各自经第三步、第四步和第五步,获得各自频率分组内各个频率对应的湿面元源强矩阵,并最终获得各个频率对应的干模态附连水质量和附连水阻尼系数。

第四步中干模态的振型位移法向分量矩阵为第一步中干模态的振型位移矩阵的一个分量,振型位移法向分量矩阵在振型位移矩阵基础上获得。

第五步中,对green函数矩阵采用行并行划分,进行一维并行计算处理。

本发明的有益效果如下:

本发明结构紧凑、合理,操作方便,通过在船舶三维声弹性分析中提出二层并行的高效算法,有效解决了计算量大的瓶颈问题,大大提升了广义水动力系数的计算速度,适于大规模的工程计算应用;

第一层并行为频率级的并行,将频率总数分至各频率分组中并行计算,以频率分组为基并行计算,整体上实现了各频率的高效一维并行计算;

第二层并行为:在进行湿面元源强矩阵求解时,通过间隔取数的方式分别对green函数偏导数矩阵与干模态振型位移矩阵进行分块,实现了二维并行划分,有效助力于实现高斯消元法求解时的负载均衡以及通信和计算隐藏。

本发明还包括如下优点:

在第五步中求解干模态附连水质量和附连水阻尼系数时,可对green函数矩阵采用行并行划分的一维并行计算,以进一步提升整体的计算速度。

附图说明

图1为本发明三维声弹性广义水动力系数高效并行算法的流程图。

图2为本发明基于频率级并行的二级并行处理示意图。

图3为本发明green函数和green函数偏导数矩阵的一维并行处理示意图。

图4为本发明green函数偏导数矩阵的二维并行划分处理示意图。

具体实施方式

下面结合附图,说明本发明的具体实施方式。

如图1所示,本实施例的三维声弹性广义水动力系数的高效并行算法,包括如下步骤:

第一步:基于有限元软件计算船舶结构的干模态,得到干模态相应的广义质量矩阵、广义阻尼矩阵、广义刚度矩阵和振型位移矩阵;

第二步:如图2所示,设计算的频率总数为k,频率分组数为ngro,基于负载均衡,将频率总数k分至各频率分组内,设每组频率分组内分到的频率数为kn,则ngro个频率分组中频率数kn的总和为频率总数k,其中n=1,...,ngro;完成频率总数进行并行计算的分组;

将k个频率分配至ngro个频率分组中,设ωk为第k个频率,则第n个频率分组中的频率ωk满足k=kn0,…,kn0+kn-1,其中kn0为该第n个频率分组中的起始频率号,kn为该第n个频率分组中的频率数;

设总进程数为npro,则每组频率分组分到的进程数为ngp=npro/ngro,总进程数npro被频率分组数ngro整除;

第三步:针对第二步中的每组频率分组,基于简单源数值方法,将船舶湿表面划分成n个湿面元,即n个场点,以表示场点坐标、表示源点坐标,计算得到第k个频率ωk上的green函数矩阵以及green函数偏导数矩阵,每个矩阵的维度为n×n;

green函数矩阵如下式(1)所示:

其中,k=kn0,…,kn0+kn-1,kn0为第n个频率分组中的起始频率号,kn为该第n个频率分组中的频率数;i,j=1,2,…,n;

green函数偏导数矩阵如下式(2)所示:

实现每组频率分组中各个频率的green函数和green函数偏导数矩阵的一维并行处理,如图3所示;

第四步:基于第三步中的green函数偏导数矩阵,构建第k个频率ωk上的湿面元源强的矩阵方程,如下式(3)所示:

其中,为虚数符号,({d1},…,{dm})为干模态的振型位移法向分量矩阵,({σ1},…,{σm})为与各个频率相对应的待求解的湿面元源强矩阵,m为截断的干模态数;

该第四步中干模态的振型位移法向分量矩阵为第一步中干模态的振型位移矩阵的一个分量,振型位移法向分量矩阵在振型位移矩阵基础上获得;

对green函数偏导数矩阵和干模态的振型位移矩阵的法向分量矩阵进行二维并行划分计算,从而获得各组频率分组中各个频率对应的湿面元源强矩阵({σ1},…,{σm});

对green函数偏导数矩阵进行二维并行划分的方法包括如下步骤:

步骤一:设单个频率分组内的行进程数为nrow,该组频率分组内的列进程数为ncol,则该频率分组中的进程数ngp满足以下关系:ngp=nrow×ncol;

步骤二:基于行进程数nrow和列进程数ncol,以nb表示矩阵的单元块大小,对该频率分组中第k个频率ωk上的green函数偏导数矩阵中的各个元素进行行向和列向的间隔取数,形成与进程数ngp对应的各个分块,用myid对各个分块进行标号,则myid=0,....,ngp-1;从而实现第k个频率ωk上的green函数偏导数矩阵的二维并行划分;

步骤三:同步骤二对干模态的振型位移矩阵的法向分量矩阵({d1},…,{dm})进行二维并行划分;进而求得该第k个频率ωk上的湿面元源强矩阵({σ1},…,{σm});

步骤四:对步骤一中频率分组中的kn个频率,按照步骤二至步骤三依次重复,从而计算得到该频率分组内与各个频率相对应的湿面元源强矩阵({σ1},…,{σm})。

第五步:根据第四步中获得的与各个频率对应的湿面元源强矩阵,进行各个频率对应的广义水动力系数的计算,包括干模态附连水质量和附连水阻尼的计算,如下:

其中,ρ0为流体密度,[a(ωk)]为附连水质量矩阵,[b(ωk)]为附连水阻尼矩阵,re{}表示取复数的实部,im{}表示取复数的虚部,上标t表示取矩阵的转置,为湿面元面积的对角矩阵;

通过计算式的求解,从而获得干模态附连水质量和附连水阻尼系数。

第二步中将各个频率分至各频率分组,各组频率分组并行各自计算;各组频率分组各自经第三步、第四步和第五步,获得各自频率分组内各个频率对应的湿面元源强矩阵,并最终获得各个频率对应的干模态附连水质量和附连水阻尼系数。

第一层并行为频率级的并行,将频率总数分至各频率分组中并行计算,整体上实现了各个频率分组中各频率的高效一维并行计算;

第二层并行为:在进行湿面元源强矩阵求解时,通过间隔取数的方式分别对green函数偏导数矩阵与干模态振型位移矩阵进行分块,实现了二维并行划分,有效助力于实现高斯消元法求解时的负载均衡以及通信和计算隐藏。

第五步中,对green函数矩阵采用行并行划分,进行一维并行计算处理,以进一步提升整体的计算速度。

实施例一:如图4所示,某个频率上的green函数偏导数矩阵为该7x7的矩阵,对第四步中的二维并行划分的方法进行说明。

以nb表示矩阵的单元块大小,设该频率分组中的进程数为ngp=6,行进程数为ncol=3,列进程数为nrow=2,满足ngp=nrow×ncol;

对该矩阵中的各个元素进行行向和列向的间隔取数,即行向以3为间隔,列向以2为间隔,进而形成与进程数相对应的分块,并用myid对各个分块进行标号,从而实现该7x7的矩阵的二维并行划分。

实施例二:设频率总数为k=3,频率分组数为ngro=2,总进程数为npro=8,对第一步至第五步中的高效并行算法进行说明。

第一步:基于有限元软件计算船舶结构的干模态,得到干模态相应的振型位移矩阵;

第二步:频率总数为k=3,即有ω1、ω2和ω3三个频率;

每组频率分组分到的进程数为ngp=npro/ngro=8/2=4;

基于负载均衡,将频率总数k分至各频率分组内,第一频率分组分到两个频率(ω1和ω2),第二频率分组分到一个频率(ω3);

第三步:第一频率分组和第二频率分组各自并行计算,互不干涉;以第一频率分组(含ω1和ω2两个频率)的计算为例展开说明;

设船舶湿表面划分为n=4个湿面元,对于第一个频率ω1,其相对应的green函数矩阵为:

green函数偏导数矩阵为:

第四步:设矩阵的单元块大小nb=1,行进程数为nrow=2,列进程数为ncol=2,则满足ngp=nrow×ncol的限定条件;对green函数偏导数矩阵进行二维并行划分,得到其分块形式如下:

截断的干模态数m=3,将式(8)带入式(3)的湿面元源强矩阵方程中,获得湿面元源强矩阵({σ1},{σ2},{σ3});代入式(4)和式(5),得到相应的干模态附连水质量和附连水阻尼系数分别为:

附连水质量系数如下式(9):

附连水阻尼系数如下式(10):

从而完成频率ω1对应的干模态附连水质量和附连水阻尼系数的计算求解;

重复第三步至第五步,完成频率ω2对应的干模态附连水质量和附连水阻尼系数的计算求解,进而完成第一频率分组(ω1和ω2)中两个频率对应的广义水动力系数的计算。

本发明提出了二层并行的高效算法,有效解决了计算量大导致的计算耗时长的问题,提高船舶三维声弹性广义水动力系数的计算速度,工程适用性强。

以上描述是对本发明的解释,不是对发明的限定,本发明所限定的范围参见权利要求,在本发明的保护范围之内,可以作任何形式的修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1