《1 引言》

1 引言

计算机日新月异地发展,它的应用已经遍及社会科学与自然科学的各个领域,特别是在工程科学领域,计算机具有巨大的威力。近代的工程结构越来越复杂,它们的设计必须依赖计算和实验的原始数据。计算的成本低、速度快,还可以计算工程问题所可能遇到的各种情况;而实验特别是现场实验必须在工程完工后才能进行,不仅周期长,耗资巨大,而且模型实验必须处理好相似关系,对某些复杂的工程问题,相似关系很难严格满足。因而,用计算逐渐取代实验,或者部分取代实验,这是工程界追求的目标。

随着近十几年来计算机可视化、虚拟现实、电脑智能化技术的发展,计算机在各个领域取代实验已有很大进展,但在各个工程领域,计算取代实验都具有特殊性,需要解决一些专门问题,例如在控制工程领域,相位差的仿真模拟是很困难的;在结构工程领域,计算的模型误差,特别是动力学问题,是计算取代实验需要解决的一个关键问题。目前,有限元的动静力计算已经用于极其广泛的工程结构,像航天航空器、大跨度桥梁(如斜拉桥与悬索桥)、大型的高坝、核电站保护壳、火电与水电的各种重要设备(如发电机基础、转子)、冷却塔、水泵房,以及海洋平台、大型与超大型的船、运载工具(如机车、各种轿车)等。但是,对于复杂的实际结构,特别是航天器结构,有限元模型的精度受到许多因素的影响,如简化假定、边界条件的近似性、接头和耦合部件的不确定性、某些物理参数的误差等。实践表明,有限元模型预示与试验结果之间往往存在明显误差。因为实验的结果比较准确、可靠,因而目前像民航飞机、载人航天器,往往依照初步设计制造相同的几个设备,有的用于试飞,有的用于强度破坏实验,有的用于动力实验。

有限元模型修正技术(或实验/分析模型相关)就是要充分利用结构实验和有限元分析两者的优点,用少量的结构实验所获得的数据对有限元模型进行修正,获得比较准确的有限元模型。这样,就有可能省掉一些大型结构试验,从而节省研制的费用和缩短研制的周期。

有限元模型修正技术目前是国内外力学界研究的“热点”问题之一,特别是从事航空航天技术研究的部门,对有限元模型修正技术的研究发展和工程应用极为重视。

现代航天器设计,要求平台化、结构化、模块化,尽量缩短研制周期,以适应空间市场的快速发展。美国在发射卫星时一般不搞结构星,只做一些简单的结构试验对卫星的有限元模型进行修正和验证。这样,关于卫星的动力学分析、力学环境的预测和评价就能够全部在计算机上实现。这是国内目前还做不到的,主要原因是缺少有限元模型修正技术在工程应用方面的研究。

从工程应用的角度看,有限元模型修正技术是一种综合性很强的技术。除了有限元模型修正技术本身的理论外,它还涉及到有限元的建模和计算,动力学实验技术和经验,以及计算机中的许多技术问题-如数据传递等。国内的研究还主要局限于修正技术的理论研究,有限元建模和计算以及动力学实验在国内虽然研究的很多,但是结合修正技术进行研究的却很少。

本文从工程应用的角度讨论了有限元模型修正技术的一些关键性问题,并提出了作者的观点。本文还提供了一个比较成熟的、达到实际工程应用水平的修正方法的基本思路和计算过程,指出了修正技术在实际应用中会遇到的困难及解决途径。

《2 有限元模型修正技术涉及的几个关键问题》

2 有限元模型修正技术涉及的几个关键问题

有限元模型修正方法是有限元模型修正技术中最重要的内容。目前比较好的修正方法既可以修正设计参数,又可以修正矩阵中的元素;目标函数则同时采用频率、模态、频响函数进行修正;这些方法还利用动力缩聚、灵敏度和优化等。因此要想研究有限元模型修正技术必须先了解这些关键问题。

《2.1 修正对象》

2.1 修正对象

有限元模型的修正对象可以分为两类:一类是有限元模型的刚度矩阵、质量矩阵、甚至阻尼矩阵中的元素;另一类是有限元模型的设计参数,包括物理参数与几何参数。在大多数关于修正方法的文章中[1],有限元模型修正方法按上面的两类修正对象被分为矩阵元素型法和设计参数型法。但是这种划分是不科学的,因为一个修正方法若想达到比较理想的修正效果,应该能够对这两类修正对象同时进行修正。设计参数的修正结果具有明确的物理意义,但是仅仅修正设计参数在某些情况下并不能达到理想的修正效果。例如,在对卫星结构的有限元模型进行修正时,因为卫星的设计参数可以测得很准确,所以它的误差主要不是来自设计参数,而是来自建立有限元模型过程中的一些不确定的因素,像边条件与连接的假设和简化等。对于这些由于不确定因素而引起的误差,必须通过调整这些假设与简化可能引起误差的元素来修正有限元模型。

修正对象涉及到误差定位的问题-即找出待修正的对象。虽然目前已经有许多误差定位的方法,但是这些方法仅仅是理论上的探索,还不能应用于实际工程问题。这是因为通过这些方法进行误差定位的结果没有明确的物理意义,而且这些方法只能定位矩阵元素,不能定位设计参数。

《2.2 灵敏度分析》

2.2 灵敏度分析

灵敏度分析在有限元模型修正过程中常常被使用,而且在某些修正方法中计算各种灵敏度是一个关键的环节[2,3]。虽然目前已经发展了许多解析的方法来计算灵敏度,像以Fox和Wang为代表的模态法(间接法),以Nelson和Ojalvo为代表的动刚度法(直接法),以及动柔度法等[1],但是在实际工程应用中往往不用这些方法,因为这些方法只是针对特征向量导数的,而且当有限元的规模很大时,这些方法的计算是非常复杂、甚至是很难实现的。我们在实际应用中从灵敏度的物理意义直接出发,利用现有的有限元程序,经过简单计算直接求得。下面将叙述这种做法:

假设有限元模型中的一个参数为  p, \(p_{0}  \)是它 的初值, \( \Delta p  \)是它的一个微小的变 化, 求频率 \( \omega_{i}  \)和模态\(  \{\phi\}_{i}  \)对该参数  p  的灵敏度。

\(  p=p_{0}  \)时, 利用有限元程序可以计算出此 条件下的频率和模态:

\(\omega_{i}^{\prime},\{\phi\}_{i}^{\prime}, i=1, \cdots, m\) ,

保持其他参数不变, 只改变  p , 这时有\(  p=p_{0}+   \Delta p \), 再利用有限元程序计算出此条件下的频率和 模态:

\(\omega_{i}^{\prime \prime},\{\phi\}_{i}^{\prime \prime}, i=1, \cdots, m\) 。

根据一阶灵敏度的定义有:

\(\begin{array}{c} \frac{\partial \omega_{i}}{\partial p}=\frac{\omega_{i}^{\prime \prime}-\omega_{i}^{\prime}}{\Delta p}, i=1, \cdots, m, \\ \frac{\partial\{\phi\}_{i}}{\partial p}=\frac{\{\phi\}_{i}^{\prime \prime}-\{\phi\}_{i}^{\prime}}{\Delta p}, i=1, \cdots, m \circ \end{array}\)

从上面的计算过程可以看出,这种计算灵敏度的方法比较可靠,而且充分地利用了现有的有限元程序。按照这种方法,还可以计算质量矩阵、刚度矩阵、阻尼矩阵,以及频响函数矩阵对于参数的灵敏度。

《2.3 动力缩聚》

2.3 动力缩聚

在进行有限元模型的修正时,有限元模型的自由度与实验的自由度是不一致的,尤其是对复杂结构的有限元模型进行修正时,有限元的自由度可能上千、甚至上万,而实验的自由度只有几十或几百。然而,在进行修正的过程中,要求这两个自由度相一致。这样就产生了使有限元模型的自由度与实验的自由度相一致的问题。动力缩聚技术就是解决这个问题的方法之一[4](另一个方法是利用插值方法将实验自由度扩阶)。

计算动力缩聚矩阵的方法有很多种,有物理型缩聚、模态型缩聚和混合型缩聚。每种类型又包含了许多不同的方法。在这些方法中,我们认为物理型缩聚中的迭代动力缩聚比较适合有限元模型修正技术。这是因为迭代动力缩聚通过控制收敛判别条件中的允许误差可以达到很高的精度,而且它有两个重要的性质。假设缩聚前有限元的自由度为n,缩聚后的自由度为m,则迭代动力缩聚的两个重要性质表述如下:

1)缩聚后得到的振动方程仍然是缩聚前有限元模型所代表的系统的振动方程。缩聚前与缩聚后的模型之间的差别在于:缩聚前的振动方程以n个自由度来表达,而缩聚后的振动方程以n个自由度中的m个来表达。

2)缩聚不改变振动方程的频率和模态。这里所说的不改变振动方程的频率和模态是指:缩聚后振动方程的频率是缩聚前原振动方程所有频率中的m个频率;缩聚后振动方程的模态对应于缩聚前原振动方程的m个模态在主坐标上的相对值。

其他动力缩聚方法也有近似的两个性质,但不如迭代动力缩聚的这两个性质表述得这样严谨。动力缩聚的这两个性质确实非常重要。一些使用动力缩聚进行有限元模型修正的方法,由于忽视了这两个重要的性质而存在理论上的不严谨。在涉及动力缩聚的文献中,作者往往只强调如何计算动力缩聚矩阵,而没有阐述这两个重要的性质。从事有限元模型修正的研究者,不仅要知道如何计算动力缩聚矩阵,而且要理解这两个性质,这样才能正确地选择、进而设计有限元模型的修正方法。

迭代动力缩聚方法的缺点是计算动力缩聚矩阵的迭代过程的收敛性不确定,而且计算量很大。

另一个比较适合有限元模型修正技术的方法是模态缩聚。它的优点是不需要迭代过程,并且计算量比迭代动力缩聚方法要小,其缺点是在使用频段外缩聚后的模型误差很大。

《2.4 目标函数的选取》

2.4 目标函数的选取

目标函数的选取是修正过程中非常关键的一个问题,它涉及到修正理论及实验条件。修正的目标函数有频率、模态、频响函数[5]和总体质量等。这些目标函数可以单独使用,也可以一起使用。目标函数的选取取决于修正的目的及要达到的指标。
频率和模态可以一起作为目标函数,这样做可以使修正后的有限元模型的频率和模态与实验值吻合得比较好,而且以频率和模态作为目标函数的算法也比较简单。但是,这样做的缺点是只能修正低阶的几个频率和模态,而且修正后的有限元模型的高阶频率和模态有可能更不准确。
目前最好的修正方法是以频率、频响函数和总体质量为目标函数。这样做的好处是可以充分利用实验数据,在保证频率修正精度的前提下,尽量使更多的模态接近真实值。但是以频率、频响函数和总体质量为目标函数修正方法比较复杂。

《2.5 优化》

2.5 优化

有限元模型修正问题最终转化成为一个优化问题,而且一个比较好的修正方法往往将修正问题转化成为一个带有等式和不等式约束的多目标的非线性优化问题。如果某种修正方法仅仅使用最小二乘来求解,鉴于这种方法还很不成熟,尚需要改进。

有限元模型修正方法通过比较实验模型与有限元模型(通常是缩聚后的有限元模型),首先建立如下的三组方程:

[A1]|x}={ f1 },            (1)

[A2]{x}={ f2 },            (2)

[G]{ x }≥0。            (3)

其中,{x}是待定的修改参数。方程组式(1)是一组等式,它是以振型或频响函数等为目标建立起来的,所包含的方程的个数远远大于待定的修改参数的个数。方程组式(2)也是一组等式,它是以频率与/或总体质量为目标建立起来的,所包含的方程的个数小于待定的修改参数的个数。以频率为目标函数建立起的一组方程作为等式约束的目的,是为了首先保证频率的修正精度。方程组式(3)是一组不等式,它指定了待定修改参数的上限与下限。引入这组不等式的目的是为了解决修正后出现质量矩阵中存在负元素的问题。

根据上述方程的特点,以方程组式(1)的残差二次方和为优化目标,以方程组式(2)为等式约束条件,以方程组式(3)为不等式约束条件,这样有限元修正方法最终转化为如下的优化问题[6]

\( \min f(x) , s.t \quad g_{i}(x) \geqslant 0, i=1, \cdots, n_{\mathrm{i}} , h_{j}(x)=0, j=1, \cdots, n_{\mathrm{j} \circ} \)

找到一个好的优化方法来求解上面的优化问题,这对于有限元模型修正是非常重要的。

《3 一种达到实际工程应用水平的修正方法》

3 一种达到实际工程应用水平的修正方法

目前,国外已经开发出能够进行有限元模型修正的商业化软件,像比利时LMS公司开发的GATEWAY与美国SDRC公司的1-DEAS。经过对这些软件的调查和研究,我们基本上分析出这些商业化软件采用的、达到实际工程应用水平的修正方法的基本思想和计算过程,并表述如下:
根据误差定位分析,选取待修正的参数。参数有两类:一类是设计参数,包括物理参数和几何参数;另一类是矩阵中的元素。

由摄动法可得:

\(\begin{aligned} \boldsymbol{M} &=\boldsymbol{M}_{0}+\sum_{i=1}^{N_{\mathrm{i}}} \Delta p_{\mathrm{i}} \boldsymbol{M}_{\mathrm{p}_{i}}+\sum_{j=1}^{N_{\mathrm{i}}} \Delta \alpha_{j} \boldsymbol{M}_{j} \\ \boldsymbol{C} &=\boldsymbol{C}_{0}+\sum_{i=1}^{N_{\mathrm{i}}} \Delta p_{i} \boldsymbol{C}_{\mathrm{p}_{i}}+\sum_{k=1}^{N_{k}} \Delta \beta_{k} \boldsymbol{C}_{k}, \\ \boldsymbol{K} &=\boldsymbol{K}_{0}+\sum_{i=1}^{N_{\mathrm{i}}} \Delta p_{i} \boldsymbol{K}_{\mathrm{p}_{i}}+\sum_{l=1}^{N_{\mathrm{l}}} \Delta \gamma_{l} \boldsymbol{K}_{l \circ} \end{aligned}\)

其中,\(  0 \leqslant i \leqslant N_{\mathrm{i}}, 0 \leqslant j \leqslant N_{\mathrm{j}}, 0 \leqslant k \leqslant N_{\mathrm{k}}, 0 \leqslant l \leqslant   N_{1} ; N_{\mathrm{i}}, N_{\mathrm{j}}, N_{\mathrm{k}}, N_{1}  \)由实际问题而定; \( \boldsymbol{M}_{0} ,  C_{0}, K_{0}  \)分别是修正前有限元模型的质量矩阵、阻 尼矩阵和刚度矩阵;\(  M_{\mathrm{p}_{i}}, \boldsymbol{C}_{\mathrm{p}_{i}}, \boldsymbol{K}_{\mathrm{p}_{i}}  \)分别是质量矩 阵\(  \boldsymbol{M} \) 、阻尼矩阵\(  \boldsymbol{C}  \)和刚度矩阵\(  \boldsymbol{K}  \)对于物理参数或 几何参数\(  p_{i}  \)的灵敏度矩阵。通过它们可以进行物 理参数和几何参数的修正。该方法并不需计算它 们, 这里为了论述方便才引人它们; \( M_{j}, C_{k}, K_{l} \) 分别是质量矩阵  M  、阻尼矩阵  C  和刚度矩阵  K  的误差矩阵,通过它们可以进行矩阵元素的修正。
然后,利用有限元程序可以得到频率及频响函数对末知变量\(  p_{i}, \alpha_{j}, \beta_{k}, \gamma_{l}  \)的一阶灵敏度:

\(\begin{array}{c} \frac{\partial \omega_{m}}{\partial p_{i}}, \frac{\partial \omega_{m}}{\partial \alpha_{j}}, \frac{\partial \omega_{m}}{\partial \beta_{k}}, \frac{\partial \omega_{m}}{\partial \gamma_{l}} \\ \frac{\partial \boldsymbol{H}(\omega)}{\partial p_{i}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \alpha_{j}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \beta_{k}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \gamma_{l}} \\\end{array}\)

其中\( \frac{\partial \boldsymbol{H}(\omega)}{\partial p_{i}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \alpha_{j}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \beta_{k}}, \frac{\partial \boldsymbol{H}(\omega)}{\partial \gamma_{l}}\)是矩阵,它们是以实验自由度为基础的,计算过程经过动力缩聚。

灵敏度求出以后,有:

\(\begin{aligned} \omega_{m}=& \omega_{m}^{\prime}+\sum_{i=1}^{N_{i}} \Delta p_{i} \frac{\partial \omega_{m}}{\partial p_{i}}+\sum_{j=1}^{N_{\mathrm{i}}} \Delta \alpha_{j} \frac{\partial \omega_{m}}{\partial \alpha_{j}}+\\ & \sum_{k=1}^{N_{k}} \Delta \beta_{k} \frac{\partial \omega_{m}}{\partial \beta_{k}}+\sum_{l=1}^{N_{1}} \Delta \gamma_{l} \frac{\partial \omega_{m}}{\partial \gamma_{l}}, \\ \boldsymbol{H}(\omega)=& {[\boldsymbol{H}(\omega)]^{\prime}+\sum_{i=1}^{N_{i}} \Delta p_{i} \frac{\partial \boldsymbol{H}(\omega)}{\partial p_{i}}+} \\ & \sum_{j=1}^{N_{j}} \Delta \alpha_{j} \frac{\partial \boldsymbol{H}(\omega)}{\partial \alpha_{j}}+\sum_{k=1}^{N_{k}} \Delta \beta_{k} \frac{\partial \boldsymbol{H}(\omega)}{\partial \beta_{k}}+\\ & \sum_{l=1}^{N_{l}} \Delta \gamma_{l} \frac{\partial \boldsymbol{H}(\omega)}{\partial \gamma_{l}} \circ \end{aligned}\)

其中\(  \omega_{m}, \boldsymbol{H}(\omega)  \)分别代表实际的频率和频响函数;\(  \omega_{m}^{\prime},[\boldsymbol{H}(\omega)]^{\prime}  \)是通过有限元模型得到的频率和缩聚 后的频响函数。

假定实验得到的频率\(  \bar{\omega}_{m}  \)和模态\(  \overline{\boldsymbol{H}}(\omega)  \)是准确 的, 则有:

\(\begin{array}{l} \omega_{m}=\bar{\omega}_{m}, \\ \boldsymbol{H}(\omega)=\overline{\boldsymbol{H}}(\omega)_{\circ} \end{array}\)

为了防止出现负质量, 引人一组不等式对\(  \Delta p_{i}, \Delta \alpha_{j}, \Delta \beta_{k}, \Delta \gamma_{l}  \)的取值范围进行限制, 即 :

\(\begin{array}{l} \Delta p_{i 1} \leqslant \Delta p_{i} \leqslant \Delta p_{i 2}, \\ \Delta \alpha_{j 1} \leqslant \Delta \alpha_{j} \leqslant \Delta \alpha_{j 2}, \\ \Delta \beta_{k 1} \leqslant \Delta \beta_{k} \leqslant \Delta \beta_{k 2}, \\ \Delta \gamma_{l 1} \leqslant \Delta \gamma_{l} \leqslant \Delta \gamma_{l 2} \circ \end{array}\)

式 (7) 至式 (9) 都是关于\(  \Delta p_{i}, \Delta \alpha_{j}, \Delta \beta_{k} ,  \Delta \gamma_{l}  \)的方程及不等式, 把式 (7) 和式 (9) 分别作 为式 (8) 的等式和不等式约束, 对式 (8) 进行优 化, 即可得出\(  \Delta p_{i}, \Delta \alpha_{j}, \Delta \beta_{k}, \Delta \gamma_{l}  \)的值。有了这些值就可以得到第一次修正后的有限元模型。经过迭代过程可以获得修正后的最终有限元模型。

《4 修正技术在实际应用中遇到的困难及解决途径》

4 修正技术在实际应用中遇到的困难及解决途径

在有限元模型修正技术的实际应用过程中遇到的主要困难不是来自于修正技术的理论。我们已经设计了几个比较好的修正方法,并根据这些方法编制了计算机程序,但是在将修正的程序与现有的有限元程序连接起来时,遇到了从有限元程序中获得修正所需要的数据以及将修正后的数据重新代入有限元程序中进行计算的困难。

一个好的修正方法不仅要能够修正设计参数,而且要能够修正矩阵中的元素。修正矩阵中的元素要求获得有限元模型的矩阵-刚度矩阵、质量矩阵和阻尼矩阵。通过有限元程序常用的功能是不能获得这些矩阵的,必须通过有限元程序发行商提供的某些专门模块才能实现,有的有限元程序甚至没有这样的模块。要想解决这个问题就必须使用能够提供这样模块的有限元程序,并购买这样的模块。

从所了解的情况看,有限元程序没有专门的模块来解决将修正后的刚度矩阵、质量矩阵和阻尼矩阵重新代人有限元程序进行计算的问题。这个困难的解决途径有两个:一是编写自己的“求解器”,显然这不是一件简单的工作;二是与有限元程序的开发者合作,开发出能够解决这个问题的模块。第一种途径的缺点是编写“求解器”的任务比较艰巨,而且它不能利用有限元前处理建立的几何模型将计算结果直观地、动态地表现出来;第二种途径则需要合作经费。这两种方法虽然都不是很好,但是目前还没有更好的途径。

如果上面两种途径所提供的方法都做不到,只能退而求其次,仅仅以设计参数作为修正对象,而不修改矩阵元素,并且在目标函数中不包括频响函数。选择适当的修正方法、利用有限元程序的一般功能,只修改设计参数是可以实现的。但是正像前面提到的,这样的修正方法并不完善。

《5    结束语》

5    结束语

有限元模型修正技术将朝着综合性技术方向发展。新的实验方法,提供新的实验数据,可以促使新的修正方法的提出;新方法的提出又会促使实验方法的发展,而有限元程序应用水平的不断提高可以使修正过程变得更方便,更有效率。所以致力于有限元模型修正的研究者,除了研究模型修正理论,还应该精通有限元程序,懂得实验方法。