金建海,冷文浩,吴文伟,须文波
(1江南大学信息工程学院,江苏 无锡 214122;2中国船舶科学研究中心,江苏 无锡 214082)
船舶舱室噪声SEA计算的快速建模及其可视化
金建海1,2,冷文浩2,吴文伟2,须文波1
(1江南大学信息工程学院,江苏 无锡 214122;2中国船舶科学研究中心,江苏 无锡 214082)
通过分析中国船舶科学研究中心开发的基于SEA的船舶舱室噪声计算方法的建模过程,提出了一种快速建模方法并重点讨论了其中的舱室自动关联算法,在画家算法的基础上实现了模型的快速消隐显示和云图显示功能。并通过实例,说明相关的前后处理算法能够很好地满足船舶舱室噪声计算需求,大大提高了建模的效率。
统计能量法;前后处理;舱室噪声;建模;可视化
统计能量分析法简称SEA(Statistical Energy Analysis),是基于统计平均的概念,将结构按其几何、物理等参数划分成子系统,考虑子系统之间的能量传递,最终由能量方程组求解得到各子系统的平均能量的一种方法[1]。目前,统计能量法已经从预报简单的矩形腔声场发展到预报整船的结构噪声和舱室空气噪声,国外已经开发了通用的商用软件AutoSEA[2],它广泛应用于中高频NVH领域,占据了全球约95%以上的市场,全球的航空、国防军工、汽车、电子领域主要企业都采用它进行NVH评估和计算。这款软件最初是针对航空行业开发的,并在汽车行业得到广泛应用,但在船舶行业的应用还不多见[3]。中国船舶科学研究中心(以下简称CSSRC)在八五~十五期间开发了基于统计能量法的船舶结构振动传递和舱室噪声的计算方法[4],该计算方法很好地解决了船舶舱室噪声的预报问题,与实船实验比较误差在3dB以内[5]。但该方法在前后处理方面存在不足,尤其是建模耗费了大量时间,影响了该方法的推广应用。本文作者根据其分析过程,开发了该计算方法的专用前后处理软件系统,并将计算方法有机地集成在一起,形成了船舶舱室声学CAE仿真软件,可为设计人员提供快速有效的舱室噪声预报和评估。
船舶舱室SEA计算模型的快速建立及其可视化是船舶舱室声学CAE仿真软件前后处理的重要功能,它大大缩短了采用SEA法进行船舶舱室噪声分析的时间。但同时也是软件实现的难点,是计算几何和科学计算可视化领域的重要应用分支,相关的技术领域如有限元分析前后处理的算法甚至软件并不少见[6-7],但大多是对基于图形学的传统可视化算法的综合利用,不仅算法复杂,不易编程实现,而且与船舶舱室SEA模型的特点并不符合。本文结合开发完成的仿真软件,从解决工程问题的角度出发,对船舶SEA法计算模型的快速建立及其可视化所牵涉到技术点进行讨论并给出实现方案和算法。
SEA法船舶舱室计算模型是一种基于边界表示法的CAD模型。其中Face(面)都是平面凸多边形(通常是四边形),而Body(体)是由面围成。如图1是某一个舱室的SEA计算模型。
图 1 中的 F0,F1,F2,F3,F4,F5 分别表示组成舱室(Body)的六个面,每个面(Face)是一个平面凸多边形(通常是四边形),它由节点围成,如面 F0 由 G0,G1,G2,G3 组成,面 F2 由G1,G2,G6,G5 组成。 相邻的两个节点(如 G0,G1)可组成边(Edge)。节点含有空间坐标信息。Body、Face和 Edge可分别用于表示声场单元、板单元和梁单元的几何对象。
组成舱室的各个Face之间不能有重叠和交叉。为了几何处理的需要(如下文提到的舱室自动关联),所有的Face都要剖分成三角形网格(简单剖分即可,显示的时候可以不显示三角形网格,所以Face也可以认为由其三角形网格组成),三角剖分算法可参考相关文献[8],这里不作详细描述,需要注意的是其中有些面是退化的多边形,即其对应的多边形顶点中至少有三个点在同一条直线上。三角剖分后的计算模型相当于普通三维CAD模型进行有限元面网格划分后的有限元模型,但保留了Body、Face和Edge的概念和其拓朴结构。
图1 某一船舶舱室的SEA模型Fig.1 SEA model of a shipboard
根据章节2描述的SEA法船舶舱室计算模型的特点,软件提供了方便直观的界面让用户完成建模工作[9-10]。其建模过程包括两种典型的方法,其中方法1的创建过程如下:
(1)输入坐标以创建节点;
(2)在视图中依次选择节点以创建Face,同时Face要以这些节点剖分成三角形网格;
(3)在视图中选择Face以创建舱室。
普通CAD软件和CAE前处理软件都提供了这种方法供用户建模,其建模速度与CSSRC以前采用的在Ansys中建模再转换成求解器需要的卡片的方法相差不大,但是要方便直观得多。
本文根据SEA法船舶舱室模型的特点—即模型中大部分舱室都是长方体(含立方体),甚至全部都是长方体,增加了一种更加快速的建模方法即方法2,其建模过程如下:
(1)快速建立简单六面体舱室;
(2)创建完所有六面体舱室后,对所有的舱室进行自动关联,使相邻的舱室具有相同的边界点和面;
其中第(1)步的实现过程可参考图1中的长方体,用户输入G0的坐标,然后输入x,y、z方向的长度(即G0G1、G0G3、G0G4的长度),则可以直接创建图1中的长方体。它与方法1类似,只是六面体的8个节点的坐标不是用户直接输入,而是根据G0的坐标和x、y、z方向的长度计算获得。当然,用户也可以以方法1的方式先建立舱室,再进行第(2)步工作以确保模型的正确性。
第(2)步的实现过程比较复杂,需要作比较复杂的计算几何处理,下一节将详细讨论。
相邻的舱室(Body),在SEA计算模型中应该具有相同的板格(Face),而不能有两个相互重叠的Face。但是用户在创建舱室的过程中,尤其是采用上文中提到的方法2创建各个舱室时,相邻的舱室之间会有Face相互重叠,这是SEA计算模型所不允许的,如果直接计算会导致结果出错甚至无法计算。因此需要将所有相邻的舱室都关联起来,使它们具有相同的边界点和面。如图 2 面 F1(由 G0,G1,G2,G3 构成)属于 Body I,面 F2(由N0,N1,N2,N3 构成)属于 Body II,但 F1 和 F2 相互重叠(距离为0或者在用户指定范围内),此时,需要将Body I和Body II关联起来,即需要将面F1和F2合并为一个面F1(或者F2),只有F1(或者F2)既属于Body I,也属于 Body II。
两个相邻的但是还没有关联的舱室(Body)之间的关系,也就是相互重叠Face之间的关系,如图3,有且仅有以下三种情况:
图2 两个相邻的舱室Fig.2 Two adjacent shipboards
图3 Face重叠的三种情况Fig.3 Three mating types of face to face
(1)完全重叠:两个Face基本一致,标志为MATING_SAME。
(2)包含一方:其中一个Face基本上是另外一个Face的一部分,标志为MATING_SINGLE。
(3)部分重叠:两个Face都只有部分面积相互重叠,标志为MATING_MISMATCH。
舱室关联的自动实现是一个比较复杂的过程:首先需要自动查找相互之间有重叠的Face对,然后将它们一一映射关联。
自动查找相互之间有重叠的Face对的算法(C伪码)如下:
(1)设Tolerance=用户输入或者根据模型尺寸确定的距离误差值;
这里需要说明的是(11)步中的点的集合(G1,G2...Gn)不仅仅限于是模型中现有的节点,还包括可能的虚拟的点,譬如Face i中现有的Node1到Face j的距离为0,而相邻的另一个节点Node2到Face的距离可能刚好大于Tolerance,且Node1与Node2所在的边与Face i不是垂直的,这时需要在Node2和Node1之间的边上线性插值形成新的虚拟点,该点到Face j的距离刚好为Tolerance。
在找到所有的重叠Face对后,就可以将它们一一映射以关联起来。其实现过程如下(参考图3):
(1)do模型中每对重叠的Face(如图3中的Face i和Face j)
SEA计算模型的可视化采用目前业界通用的OpenGL图形软件包,但其库函数只是提供了点、线和平面凸多边形(包括三角形)的显示。为获取真实感强的三维图,还必须进行消隐处理,一般方法是将线段和全部面进行遮蔽测试,从而判断它们之间的遮挡关系,为此,先要进行最小-最大测试,再进行交点计算和深度测试[11]。为了避免繁杂的交点计算和深度测试,同时考虑到模型中有相当一部分面的法向都是指向舱室内部的(主要是相邻舱室的共享面),不能用面的外法向与观察方向的夹角来判断面的可见性。所以本文采用的是基于画家原理[12]的快速消隐算法:
(1)将各个面按其形心离视点的远近进行排序,建立面的深度优先级表。
(2)按照由远及近的顺序,将各个面依次投影到屏幕上,显示结构包含的实心区域。由于后绘制的图形覆盖先绘制的画面,而后绘制的图形代表的面离视点更近,因此由远及近地绘制各面,就达到了消除隐藏面的效果。
利用该算法建立的模型,如果需要显示被隐藏部分的模型特征同时又不影响显示效果也非常方便,只需要在绘制面的时候设置一定的透明度。此外,为加强三维效果,还应该在远处设置光源。
在后处理阶段,计算模型还需要以云图的形式进行显示,即在显示模型的同时,还需要以一定的颜色来表示舱室噪声的计算结果。其实现过程只要在消隐算法基础上稍微改进一下,具体如下:
(1)根据所有舱室噪声值的最大值和最小值,将噪声值分成n个等级;
(2)画上n个颜色级数的颜色标尺,标上对应的量值,以供参考;
(3)do由远及近依次提取面的深度优先表中的每个面;
{
(4)获得面所在的舱室的噪声值;
(5)如果没有噪声值则不显示,否则根据噪声值大小获得所对应的级数;
(6)根据级数获得对应的颜色;
(7)使用获得的颜色,调用OpenGL函数完成面的绘制和颜色填充;
}//end do
这个算法的运算量较之其它云图显示算法大大减少,这里需要说明的是第(4)步和第(5)步,由于部分舱室只需要考虑其结构振动噪声而不需要考虑舱室空气噪声,故没有建立其声场单元,计算时也就没有该舱室的空气噪声值,此时只需要显示其线框图即可。
作者采用面向对象的思想,用VC++语言开发了基于上述思想的船舶舱室声学CAE仿真软件。图4是一个用于测试舱室自动关联的简单例子,包括了面与面重叠的各种类型。其中左图是快速创建后的原图,右图则是自动关联后的模型。为检验方便,模型显示的时候都显示了三角形网格。
图4 舱室自动关联例子Fig.4 Test case for shipboards auto link
另外,作为典型算例,我们对某船的主要舱室进行了舱室噪声计算。如图5,其中左图是创建完毕并自动关联后的SEA计算模型,共有50个舱室(包括363个板格),另外还有53个只考虑结构噪声的板格。整个建模花费的时间不到一个小时,大大低于以前一个工作日(约8个小时)的工作量。右图则是该船在正常航行状态下各主要舱室的空气噪声的云图(参考声压级为2×10-5Pa),各舱室的颜色对应的等级(共分成10个颜色等级)与计算结果是一致的,其中没有空气噪声结果值的舱室只显示其线框图。
图5 某船的SEA模型图Fig.5 The SEA model of some ship
本文按照CSSRC采用SEA法进行船舶舱室噪声分析的需要,完成了其模型的建立及其可视化。包括模型的创建、舱室的自动关联、模型的消隐显示以及后处理阶段模型的云图显示等。主要结论如下:
(1)可以直观地按照点、面(多边形)、体的顺序建立SEA计算模型,也可以快速简便地创建各个六面体舱室。
(2)提出并解决了舱室(Body)自动关联的算法,自动关联后的模型符合SEA计算的要求。该算法解决了模型中的面的重叠问题,大大提高了建模的效率。
(3)提出并解决了模型显示中的消隐的问题,以及在后处理阶段的模型的简便云图显示。模型及云图的显示准确、逼真、直观,符合船舶舱室声学CAE仿真软件前后处理的要求。
[1]张 晶,王宪成,索文超,徐大平.基于统计能量分析法的船艇机舱舱室噪声仿真[J].装甲兵工程学院学报,2006,20(1):58-62.
[2]俞孟萨,吴有生.舰船声弹性及声辐射理论研究概述[J].船舶力学,2008,12(4):669-676.
[3]张 娟,李天匀,朱 翔等.基于AutoSEA2的船舶典型动力源辐射噪声分析[J].船舶力学,2008,12(5):819-823.
[4]吴文伟,殷学文.72000dwt成品油轮舱室噪声计算[R].无锡:中国船舶科学研究中心科技报告,2003.
[5]吴文伟,郭 列.滚装船噪音控制设计研究[R].无锡:中国船舶科学研究中心科技报告,2006.
[6]刘永军,李宏男,林 皋.有限元计算结果可视化显示[J].大连理工大学学报,2002,42(6):728-731.
[7]王志强,洪嘉振.基于B-Rep的三维有限元网格高效消隐技术[J].计算机辅助设计与图形学学报,1998,10(2):118-123.
[8]De Berg M,van Kreveld M等.计算几何—算法与应用[M].北京:清华大学出版社,2005:50-69.
[9]金建海,吴文伟.海洋平台多功能工作船舱室噪声预报软件需求说明书[K].2008.
[10]金建海,吴文伟.海洋平台多功能工作船舱室噪声预报软件设计说明书[K].2008.
[11]余卫平.有限元网格图形处理技术及计算结果的可视化[J].计算机辅助设计与图形学学报,2003,15(12):1561-1565.
[12]李建波,林 皋,陈健云.简便精确的有限元后处理可视化算法研究[J].大连理工大学学报,2005,45(1):102-107.
Quick modeling and visualization for SEA method to predict shipboard noise
JIN Jian-hai1,2,LENG Wen-hao2,WU Wen-wei2,XU Wen-bo1
(1 School of Information Technology,Jiangnan University,Wuxi 214122,China;2 China Ship Scientific Research Center,Wuxi 214082,China)
By analyzing the modeling procedures of the SEA method developed by CSSRC to predict shipboard noise,a quick modeling method is presented and auto link for shipboards is discussed.Then the visualization of the model and contour display are realized based on improved painter’s algorithm.Finally,the examples are given to illustrate that the approaches of pre-post processing satisfy the requirement of shipboard noise prediction by SEA method well,and the efficiency of modeling is improved much.
SEA;pre-post processing;shipboard noise;modeling;visualization
U662.9
A
1007-7294(2010)07-0805-07
2009-06-30
“十一五”国家科技支撑计划制造业信息化工程重大项目(2006BAF01A43)
金建海(1978-),男,江南大学与中国船舶科学研究中心联合培养博士研究生。
book=811,ebook=427