计算气动声学CAA若干学习经验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算气动声学CAA若干学习经验
在论坛上看到越来越多的人也在做气动声学相关的东西,颇有得遇同道中人的喜悦。本人在硕士阶段就开始接触一些气动声学相关的东西,工作后主要的研究内容就更专一了:航空声学。工作一年后,通过各种乱七八糟的学习过程,对计算气动声学有了更多的理解。受版主水若无痕的影响(他是我的同学),因此打算在此写个与计算气动声学(CAA)相关的东西,和大家交流交流。
对气动声学的关注始于上世纪的50年代,原因就是当时涡喷式航空发动机的喷流噪声实在是太吓人了。于是,牛逼的莱特希尔(Lighthill)坐在火车上,在一个信封上一顿写,就把N-S方程给改写成了波动方程的形式。方程的左边是一个经典声学的波动方程,而右边则是一个主要与湍流相关的源项,被后人称为莱特希尔应力张量。这就是所谓的莱特希尔方程了,气动声学的开山之作。莱尔希尔方程的声源为四极子声源,也就是湍流噪声源,主要适用于高速、湍流为主要噪声源的情况,如高速喷流。方程的声源项未知,需要采用CFD或者试验来获取。
再后来,柯尔(Curler)同志对莱特希尔方程进一步发展,得出了考虑了固壁影响的柯尔方程。柯尔方程主要适用于低速情况下的固壁绕流噪声计算,如低速的圆柱绕流、机翼绕流等。此时,气动噪声源主要为偶极子声源,声源的强度为声源表面对流体的作用力。这种作用力不单是压力,还包括表面动量流量。当然,对于固壁来说,法向速度为零,也就没有动量流量了,因此采用固壁表面作为声源面时,只需要壁面的压力脉动即可。而在采用通流面作为积分面时,则需要考虑动量流量了,这在后面会有介绍。
福茨威廉斯与霍金斯(Ffcows Williams & Hawkings)两位在莱特希尔方程的基础上,发展出FW-H方程。FW-H方程的发展主要是针对运动壁面的发声情况。这里说的运动壁面指的是在来流中的运动,也就是说壁面具有加速度,如螺旋桨。FW-H方程包含了所有的噪声源,单极子、偶极子和四极子。这三种声源的发声效率递减,指向性差异很大。一般来说,FW-H 方程能够描述所有的气动噪声问题,只不过你需要根据你计算问题的具体情况,来确定哪种噪声源为主,哪种噪声源可以忽略。现在主流的气动声学计算软件基本上都用的是FW-H方程。
上面大概介绍了一下气动声学理论方面你的东西。具体的方程形式复杂,推导困难,我是不会的。不过随便找本相关的书都有这方面的介绍,大家可以好好看看。这三个方程有个一致的假设,就是声场与流场不存在相互影响。这三个方程的主要作用有两个:一是告诉了我们声源的发声机理,以及怎么由流场参数去求声源参数;二是方程的积分解可以用来解决一些简单的气动声学问题,后面会提及。
有了这些方程后,我们就应该想着去计算气动噪声了。一个完整的气动噪声计算应该包括以下三个部分:声源计算、声传播计算和声辐射计算。如下面这张图片所示。
1 声源计算
如果你能看到上述的三个方程,那么你会发现方程右边的源项主要是由流场中的参数构成的,比如雷诺应力、粘性应力、压力、动量流量、质量流量等等。显然,这些参数的获取则需要靠CFD计算了,这也就是所谓的声源计算了。因此,准确的CFD流场计算是CAA计算的基础。一般来说,声源的计算需要采用高级的湍流模型,如LES、DES,进行非稳态计算来实现。当然,URANS模型也可,不过计算出来的结果往往只有主要特征的影响,得不到细节方面的东西。需要补充的是,稳态计算,也能在一定的程度上得到声源分布,这种牛逼的算法叫随机噪声产生与传播(Stochastic Noise Generation and Radiation, SNGR),它是根据湍动能的概率分布来转换噪声源的。德国人在这方面做的比较多,FLUENT里面所谓的宽频噪声源法采用的也是这种理论。
2 声传播计算
问题的复杂性不同,声传播计算的重要性也就不同。对于一些简单问题,声传播计算并不是必要的。比如说低速圆柱绕流噪声。不需要考虑声传播计算的主要原因是结构和流场对声传播的影响可以忽略。因此,对于这种简单的情况,直接利用CFD的计算结果,对FW-H方程求积分解,就可以得到圆柱绕流的辐射噪声了。FLUENT里面的声学模块就是这么干的。
这里说一下FW-H方程积分法。积分法的思想是比较简单的,它实际上是一种解析方法,当然求起来就不一定简单了。以圆柱绕流噪声计算为例,我们把圆柱表面划分成一个个的微元,每个微元当做一个偶极子声源,声源的强度就是脉动压力大小,然后对每一偶极子求解波动方程,得到其在声接受点处的辐射声压,再把每个偶极子所产生的声压相加,就得到了总声压,问题就解决了。不过积分法里面一个很重要的参数是延迟时间。所谓延迟时间指的是,声源产生的声波传到声接收点需要一定的时间。声源位置不同,延迟时间也就不同,因此在编程计算中是一个比较麻烦的东西。
而对于复杂的问题,那么声传播的计算则是必须的了。举几个例子,一是管内流噪声问题。声波产生后,在管道内的传播受到管道结构的影响,必须以某种声模态来传播。这时候,你
想用FLUENT来计算噪声那是行不通的。第二个例子,航空发动机的风扇噪声的计算。航空发动机短舱在进气段一般都安装了消声用的声衬,也就是说边界条件直接对声传播有影响,所以也必须进行声传播计算。第三个例子,航空发动机喷流噪声计算。发动机尾流中存在强烈的剪切层,有着很多大的速度梯度和温度梯度,将影响到声的传播,因此必须进行声传播计算。总得来说,当结构和流场对声的传播有这不可忽略的影响,你就得做声传播计算了。
3 声辐射计算
声辐射计算的目的在于求取远场的声压。当然,如果你的计算机很牛逼,你的声传播计算算法也很牛逼,那么你可以直接建立庞大的计算域,直接采用传播计算来求取远场的声压。否则的话,你就得用上面说过的FW-H方程积分法来求了。目前来说,这个难度不大,对算法没什么要求,方程也比较好求解,花点时间基本上也能捣腾出来。或者直接用FLUENT现有的也可以,因此不多说了。
好了,通过上面的介绍,我们知道,一个问题的难度主要就在于是否要考虑声传播计算了。为什么不能用传统的CFD算法直接来计算声传播呢?主要的原因有两个:一是CFD的控制方程,N-S方程也好,Euler方程也好,都是非线性的,而声压相对于流场压力是一个非常小的量,在计算过程总很快就会被忽略掉;二是声压信号是一个非常小的量,传统的低阶格式对声压来说具有很大的耗散性,将导致声压信号迅速被耗散掉。因此,对CAA来说,真正有技术含量的工作都集中在声传播计算这一块。
接下来将针对简单问题和复杂问题分别介绍一些我做的计算。
1 简单问题
由上面的介绍我们知道,简单问题只需要采用FW-H方程的积分解,就可以解决。这对一些简单的工程问题已经足够了。对于简单问题,计算的重点有两个:一是CFD流场的计算,你必须算对了算准了才行;二是声源面的选取了。前一个问题在于你对CFD的理解和掌握程度了,这里主要说一下第二个问题。
声源面的选取有两种方法,一是直接选取固体壁面作为声源面,二则是选取虚拟的通流面作为声源面,即所谓的积分面。积分面就是采用通流面,对应着FLUENT里面的interior边界条件,将声源区域给包起来。采用积分面的原因是为了简化计算当中的体积分问题。我们知道,对于固体边界不是主要噪声源的情况,如喷流噪声,噪声主要由湍流产生,而湍流的分布则是空间分布了。如果我们采用积分法来求解湍流噪声源的声辐射,那么就必须采用体积分了,这将导致计算量的剧增。而采用积分面,则可将体积分转换为面积分,从而大大减小计算量。
积分面的选取方法有多种,用的比较多的主要由基尔霍夫(Kirchhoff Method)法和可通流面FW-H方程(Porous Surface FW-H Equation)。FLUENT当中的积分面法采用的应当是后一种(不确定,里面介绍的不多)。积分面的选取比较麻烦。一个比较重要的注意事项是:应当避免尾流或者涡直接穿过积分面,导致声信号的污染。此外,积分面的位置不同,对计算结果有一定的影响。