开始接触汽车 NVH(Noise, Vibration and Harshness,噪声、振动与声振粗糙度)以后,Modal Analysis(模态分析)几乎很快就会出现。白车身要看一阶弯曲和扭转模态,动力总成要关注结构固有频率,整车频率响应又经常依赖模态叠加。以前我会把模态分析简单理解成“求几个固有频率,再看看振型动画”,但继续往下学以后发现,它其实承担了两个完全不同的任务:一方面,Natural Frequency(固有频率)和 Mode Shape(振型)本身就是结构最基本的动力学特征;另一方面,提取出来的模态还可以构成一个低维的 Modal Basis(模态基底),把原本百万自由度的动力学问题转换到少量 Modal Coordinates(模态坐标)中求解。因此模态分析既是“认识结构”的工具,也是后续 Steady-State Dynamics(稳态动力学)、Modal Dynamics(模态动力学)等分析提高计算效率的重要基础。很多 NVH 问题真正需要建立的第一张“地图”,其实就是结构有哪些模态、这些模态对应哪些运动形式,以及后面的激励有没有可能把它们激发出来。
这张地图首先从一个很熟悉的自由振动方程开始。对于无阻尼结构,
如果结构按照某一个固定空间形状做简谐振动,就可以把问题转化为
其中 , 决定固有频率, 则是对应的 Eigenvector(特征向量),在结构动力学里更常称为 Mode Shape(振型)。这里有一个我觉得特别值得先建立起来的认识:振型并不是某一次实际振动的“位移结果”,它只描述结构在这个固有频率下各个自由度之间的相对运动形状。因此振型云图放大多少倍,本身没有实际位移意义;Abaqus 可以采用 Displacement Normalization(位移归一化),让最大的自由度等于 1,也可以采用 Mass Normalization(质量归一化),让模态广义质量等于 1。这也顺带解释了一个很容易混淆的问题:Mode Shape(振型)和 ODS(Operating Deformed Shape,运行变形形状)不是一回事。前者来自自由振动,后者则是在实际强迫激励下形成的变形状态。
理论建立以后,第二个问题就是:一个实际有限元模型可能有几十万甚至几百万个自由度,这么大的特征值问题到底怎么求?汽车 NVH 中比较重要的两种方法是 Lanczos Eigensolver(Lanczos 特征值求解器)和 AMS Eigensolver(AMS 特征值求解器)。Lanczos 更适合大型系统中提取相对有限数量的模态,而 AMS(Automatic Multi-level Substructuring,自动多层子结构法)更适合自由度很多、同时又需要大量模态的情况。AMS 的思路并不是直接在完整模型上把所有特征向量一个一个硬算出来,而是先进行 Reduction(降阶),在多层子结构空间中求解 Reduced Eigensolution(降阶特征值问题),最后再进行 Recovery(恢复),得到需要的完整振型。对于百万自由度并且需要几百、上千阶模态的整车 NVH 模型,这种差别会直接体现在计算时间上。一个约 100 万自由度、需要提取 1000 个模态的案例中,Lanczos 计算时间超过 12 小时,而 AMS 约为 1.5 小时。所以以后看到 AMS,我更愿意把它理解成一种为“大模型 + 大量模态”准备的高效特征值求解策略,而不是一种新的物理模型。
模态算出来以后,真正值得看的也远不只是频率表和振型动画。Generalized Mass(广义质量)和 Generalized Stiffness(广义刚度)可以把每一个模态等效成一个单自由度振子;Modal Participation Factor(模态参与因子)反映某个模态对某一全局平移或转动方向的惯性激励有多敏感;Effective Modal Mass(有效模态质量)则可以帮助判断已经提取的模态是否覆盖了足够多的结构动态质量。如果后续采用模态叠加,而累计有效模态质量仍然明显偏低,就意味着需要继续提取更多模态。另外,Modal Strain Energy(模态应变能)虽然其绝对数值不能直接当成真实动态应力或应变,但相对分布可以帮助判断某个模态主要在哪些区域发生变形,也可以辅助寻找建模异常。这让我觉得模态分析真正提供的是一套“结构动力学坐标系”:频率告诉我们在哪里容易发生动态响应,振型告诉我们结构怎么动,参与因子和有效质量告诉我们哪些模态更容易参与整体运动,而应变能分布又告诉我们这些模态主要把变形集中在哪里。
更接近真实工程以后,模态也不再只是“零载荷结构”的属性。Frequency Extraction(频率提取)在 Abaqus 中属于 Linear Perturbation(线性扰动)分析,因此完全可以先通过非线性静力过程建立一个 Loaded Base State(加载后的基准状态),再围绕这个状态提取固有频率。拉伸可能使结构发生 Stress Stiffening(应力刚化),压缩则可能导致有效刚度降低,装配、压装、螺栓预紧和衬套变形也都可能改变模态。控制臂案例中,完整装配载荷使第一阶频率从 509 Hz 变为 574 Hz,变化约 13%,而另外一些模态却几乎不变。当两个状态下的模态顺序发生变化时,只比较“第 3 阶”和“第 3 阶”也未必可靠,这时就需要 MAC(Modal Assurance Criterion,模态置信准则)来比较两个振型之间的相似程度。MAC 接近 1 表示两个模态高度相似,接近 0 则说明振型基本不一致。因此,频率、振型和 MAC 放在一起,才能比较可靠地追踪“同一个物理模态”在不同设计或装配状态下怎样变化。
最后还有一个我以前很少注意的概念——Residual Mode(残余模态)。模态叠加实际上总是在做截断:
我们不可能把一个百万自由度系统的全部模态都保留下来,因此一定会出现 Modal Truncation Error(模态截断误差)。经验上,如果关注的最大激励频率为 ,通常可以考虑把正常模态提取到约 ,但这仍然可能无法很好地描述局部集中载荷的空间分布,同时继续增加高阶模态又会增加计算成本。Residual Mode(残余模态)就是在精度和效率之间的一种补偿手段:它不是真正的自由振动自然模态,而是一种 Pseudo Eigenmode(伪特征模态),用来补充有限正常模态无法表示的那部分静态响应。这样把整套模态分析串起来以后,我现在更愿意把它理解成一个不断回答问题的过程:结构在哪里会振、以什么形状振、哪些模态最重要、工作状态会怎样改变模态、提取多少模态才够,以及截断以后丢失的信息还能不能补回来。