Abaqus虽然是结构计算软件,但如今随着系统的复杂,结构与其它物理场的耦合也越来越频繁,因此,Abaqus也将自己的计算能力往其它物理场扩展,其中,热学、流体、声学和电磁学等都是Abaqus多物理场的扩展的典型应用。
热学主要计算热膨胀时结构应力的变化和热传导等现象,本身和结构关系密切,所以Nastran、Abaqus等结构软件都会包括热分析功能;
流体由于达索已经收购了业界两款最好的基于最近大热的LBM粒子算法的商业软件PowerFlow和Xflow,可能处于产品线的发展考虑,把基于有限元方法的Abaqus/CFD模块直接停止开发了,但保留了Abaqus中的CEL模块,专门处理流固耦合问题;
而声学模块主要处理声腔内的模态分析和声传播问题;电磁模块至今不涉及,在此不讨论了。这几个多物理场的扩展每一项都需要单独的其它物理场的专业知识和结构专业的融合,也许大家都和我们一样只熟悉结构的算法,对陌生的其它专业总觉得非常难,但其实静下心来系统学习一下,其它专业的内容并不是想象的那么困难,结构有限元学好了,其它专业都是一通百通的。
譬如下面的声学有限元理论公式我们就可以完全按照结构有限元的流程推导。我们在实际研发CAE软件过程中发现难的不是这些多物理场公式等的编写,难的是如何在现有的结构CAE软件基础上在前后处理和求解器层面分别加入其它分析能力,同时又保持原有框架的可扩展性和易维护性。
当然,抛开多物理场,就算仅研发结构CAE软件如何在维持现有框架结构基础上在软件层面添加新的功能也是实际中我们需要花大力气研究的一个关键点,这也是我们理解的在研发上理论上的有限元和工程上的有限元分析的最大区别。
现阶段我们只讨论声学物理场,由于声学涉及的问题较多,我们仅限于和实际工作中用到的和结构强相关的部分内容,水平有限,同时对声学理论等理解的也不够透彻,可能有很多问题,大家有疑问也欢迎多讨论。
我们分几篇文章来说明,本篇是声学分析(1)-有限元,讲述声学的一些基本分析算法,并着重介绍声学有限元的计算方法和融入到结构流程的关键问题,在iSolver中根据这些算法实现了声模态和稳态等声学有限元分析流程,可发现iSolver的计算结果和Abaqus没有误差,以此验证公式的正确性。
每种学科的数值计算都有很多种,声学也不例外,在Virtual.Lab、VA One、Actran等声学商业CAE软件中,声学有限元、边界元和统计能量法是主流。
大家做过结构有限元中的振动波的问题就知道,想要模拟波的传播,那么有限元的网格就需要满足一定的要求,一般网格大小要<波长的1/20,也就是一个周期内有二十个点才能近似模拟出一条正弦曲线,下面图就是20个点组成的sin曲线,要是点少了就很难看出是正弦曲线了。
理想来说,只要计算机足够强,都可以将网格划分到波长1/20内(也许基于这个考虑,Abaqus只采用了有限元来计算声学),但实际情况是声波频率和你的分析尺度之间是很难调和的,譬如你关心的频率是300Hz,在空气中大概的波长是1m,那么1/20就是5cm,而如果你想分析一个5x5平方米房间的声传播现象,一个方向需要的网格数是5m/5cm=100,三维就是100万网格了,已经是个比较大的网格数了,所以处于实际考虑,一般声学有限元只用来处理低频问题(每个行业对低频的定义不同,我们一般认为是200Hz以下),譬如声腔内的低频模态共振情况,同时由于声音的来源很多是结构的振动和流体的脉动压力激发。
对Abaqus以结构有限元为主的软件,自然而然会计算声振耦合分析问题,此时声学单元就附在结构单元上,既可以处理内音场问题,也可以处理外音场问题,当处理外音场问题时,由于外音场是无限大的,所以一般外层的声学有限单元只建1/3波长,然后外面建无反射边界或者无限元模拟无限大的情况。
即使对于低频问题,计算域大时网格数依然很多,譬如要求潜艇的几公里外的噪声分析,对这种无限大外音场问题,如果场域内部的材料不发生变化,那么边界元可以快速求解,边界元把场域看做理想的均匀材质,只需要知道源表面的振动速度,就能利用Green公式计算出任意远场的声场情况,也就是只要源靠近场域的面网格就够了,与需要把全部求解域都进行离散的有限元法相比,只离散求解域边界的边界元法更适合处理开放空间内的物理问题,它把三维问题变为二维问题求解,降低了计算复杂度。
Abaqus官方没有边界元的方法,但Abaqus集成了一个第三方的从无限元的声压计算无限域外声场的计算方法,就在帮助文档的Scripting User’s manual的9.10.11 Using infinite elements to compute and view the results of an acoustic far-field analysis。计算方法猜测还是和边界元中利用Green函数的方式类似,但我们没看懂原理,如果哪位大神了解它的理论公式,希望不吝赐教。
由于前面的基于网格的有限元和边界元只能处理低频问题,因此,在高频段完全抛弃了基于网格的计算方法,而从能量的角度来分析复杂结构在外载荷作用下的响应。它从某种程度上忽略了结构的具体细节, 同时也很好地解决了声场与结构间的耦合问题。
看过别人用统计能量法来建模的过程,发现建模的随意性相对较大,同一个分析对象,统计能量法建模的实际形状的差异性很大,实在不理解为何对计算的影响可以忽略,也许这就是统计的含义,对这个方法,没深入研究过,据说Abaqus新版本里已经包括了统计能量法的模块,也没见过,如果谁用过也望告知一下入口和操作流程。
除了低频和高频,还有中频问题,一般采用统计能量法和声学有限元结合计算。还有基于射线或者其它的不同方法,完全陌生,^.^,也只能跳过了。
在开始学习声学理论的时候,一直对两个概念很模糊,就是声压和声音的传播问题,在此,仅写下我们对这两个概念外行的理解。
每个物理场都有特定的求解物理量,结构的求解物理量是各个节点的位移自由度,如果是梁壳,则加上转动自由度。声场的求解物理量是声压。声场本质上是存在于流体域中,流体在没有声场的情况下本身就有压强,譬如大家熟知的水下h米的压强p0是密 ,奋斗者号下潜到1万米的承受的压力相当于在我们的指甲盖上站一头大象。
如果有仪器能直接测试压强,当对面有个噪声源发声时,可以发现测得的压强变为了p0+p,增加的p就是声压,声学量均为一级微量,即声压值数量级远低于介质中的静态压强。
声压是与时间和空间相关,整个区域的声压随时间变化的过程就是声音在三维空间的传播过程,声音的传播靠的是互相临近的质点在平衡位移的微小扰动造成质点之间的挤压,质点本身并不会传播,只是一种运动形态的传播,而且介质中传播的都是小振幅声波。声音是可压缩的,否则传递声音就是无穷快,想象一个不可压缩的刚性梁左侧的力会瞬间传递到右侧。
我们首先关注声学有限元,因此下面着重介绍一下声学有限元的计算方法,只不过我们换个角度,从结构有限元的角度去理解它。
有限元都是对偏微分方程的求解,在有限元中偏微分方程也称为强方程。
(1) 对于结构某点受单位力,它的偏微分方程:
表示单位体积内的外力f是内部应力随位移的梯度,本质上还是牛顿的内外结构力平衡。
(2) 对声学,Abaqus或者专门的声学软件VA One、VirtualLab等都是求解的稳态问题,即在频域求解。简谐激励下的稳态声场,声压可表述为随时间简谐振荡的量,
声学振动作为一个宏观物理现象,必须满足三个基本物理定律,即:牛顿第二定律、质量守恒定律和用于描述压强、温度与体积之间状态关系的物态方程,最终推导得到声场的偏微分方程为如下的Helmholtz方程:
上式中, 为波数, 为声波振动的圆频率, 为相应点声压幅值, 为声源,可以表示点声源、偶极子声源或者四级子声源。具体推导可以直接看声学理论书即可,其实和流体、结构的偏微分方程推导很像。
上述方程对每个场点都成立,由于实际场点是不可数的,无法采用计算机模拟,需要转化只有有限未知量的数值方程,第一步就是转换为弱方程。
Step1:转换为弱方程
在每个网格内既然偏微分方程成立,那么乘以任意一个矢量函数w对网格体积积分依然成立:
上式即是采用伽辽金方法获得偏微分方程的加权余量形式,w称为权重函数。注意,原有偏微分乘以权重函数要使得结果是标量,因为原有偏微分方程是一个向量,所以这边权重也是一个同等维数的向量,上述为点乘。
Step2:降阶
等参形式下,任意点的位移u可以表示网格节点位移ui的线性组合。
上述实际是三个方向的三个方程,分解出来应该是下面的式子:
应变是 的一次导数,因为 与坐标无关,那么带入应变表达式后可以转换到一次偏导就放到形函数上:
上式不严谨,只表达应变中与位移自变量相关的是形函数的偏导,如果三维情况真实就是:
的一次导数是将对 偏导放到了形函数上,但对二次导数就无法这么做了,以线性材料为例,应力和应变是线性关系, 就是一个对 的二次导数,如果再次把对位移的偏导转到 中,此时变为
如果是一个线性一次单元,那么上式恒等于0,和施加的外力f就不平衡了。
所以 的二次导数需要降维,将二次导数转化为一次导数。利用的就是大家熟知的gauss定理,该物理量的散度在体积 内的体积分=物理量在包围面 的面积分。散度即偏导,高斯定理的意义就是降了一次偏导(散度)。
其中 从系统域指向外面。
则方程(1)转换为
为了更好的说明上面的含义, 是任意的函数,在这儿,不妨取 为 ,且内力和外力项分别放等式左右两边,得到
即为应变的变分,则左侧相当于位移变化 , 即为每个点的应变能的变化, 为整个系统的应变能变化,而右侧即为外力做的虚功。所以上式即为虚功原理,在物理上可解释能量守恒原理,即在某一个时刻点,假定在外力作用下有个虚拟的位移,那么外力在虚拟位移下做的虚功=内部应变能的变化相同。
Step1:转换为弱方程
在每个网格内既然Helmoheltz偏微分方程成立,那么乘以任意一个标量函数 对网格体积积分依然成立:
Step2:降阶
等参形式下,任意点的声压 可以表示网格节点声压 的线性组合。
声学的形函数可以和结构取成完全一致的,最常用的就是线性形函数,此时 就恒为0。所以也需要用高斯定理降阶。
等式(2)就变为
上式只要将 和 看成(1)式中的 和 就可得到
强方程转化为弱方程后,转化只有有限未知量的数值方程,第二步就是有限元近似,我们选择一些权重函数 ,这些权重函数不是在系统域内都是任意的,而只是有限个点任意,但满足两点:
有限元就是其中的一种取任意点的表达形式。
按照有限元的近似,可以将系统域划分为有限的单元,可以认为原有系统域就和有限的单元的体积累加起来近似。
同时,也认为严格的弱方程对原有系统域的积分函数近似为有限的单元的体积域积分函数累加:
其中,上面的边界不是每个单元都有值,只有边界在系统域边界 上的才有值。权重函数 在有限元理论中可由为节点插值得到,且插值函数和 相同。
可得:
代入上式变为:
其中 只是简化形式,实际应该是上面应变和位移的关系矩阵 。
因为 为任意函数,所以必须满足:
此时中的 、 和 仅包括未知量 ,即上式为一个只包括 的代数方程组,利用线性或者非线性方程组的一般求法即可求出。
将声学弱方程近似为有限元方程后得到
令权重函数采用同样的形函数插值
代入上式得到
由于 是任意的,所以得到
其中 和 仅包括未知量节点声压 ,上式即是一个只包括 的代数方程组。
最后再聊一下声学边界情况,由声学边界条件:
同时,Abaqus和iSolver的声学原始方程整体都除了一个 ,这样边界就只有加速度了。即声学边界上的载荷可以由从边界指向声场内部的法向加速度(inward volume acceleration)确定,所以在Abaqus或者iSolver中,都采用了该法向加速度作为声学分析的边界载荷。
一般情况声学方程都是线性代数方程组,不需要迭代就可以求出,但因为iSolver求解器已有增量迭代法的结构求解流程,我们程序实现中还是按迭代来求解,这样我们只要加入了声学单元,同时求解声学单元的刚度阵、质量阵及非平衡力,只不过一次迭代就收敛结束了。
为和Abaqus的声学方程一致,在iSolver实际程序代码中,我们是将原始方程*负号,表示为:
该模型分析卡车受到地面对轮胎的激励导致的噪声分析。
由于卡车为对称模型,所以只用建一半模型,声音到了对称面将全反射,但和结构分析不同,声学有限元边界默认全反射,所以在此对称面无需任何额外设置。腔体内为空气材料,全域划分为四面体声学网格,供11681个单元。
iSolver计算完毕在该区域内只有三阶频率,分别为:
第一阶76.6Hz
第二阶134.2Hz
第三阶168.5Hz
在Abaqus做通用的设置,得到的模态个数和频率完全一致:
在轮胎两个位置所在的节点设置加速度载荷,采用基于直接法的稳态动力学分析步,设置50Hz-200Hz内20个频率点。
采用iSolver计算,计算完毕查看车位头部的声压。
在iSolver中绘制声压随频率变化的曲线结果如下:
Abaqus计算后选择同样节点得到曲线如下:
可发现在76Hz和134Hz两个频率点附近Abaqus和iSolver均有共振峰,但第三阶模态均没激发出来。从两个软件的分析结果来看,iSolver声学模态及稳态分析的结果和Abaqus精度完全一致。