跳转至内容

OpenVOGEL/气动弹性力学

来自Wikibooks,开放世界中的开放书籍

OpenVOGEL中的气动弹性模拟

[编辑 | 编辑源代码]

通过将非定常涡格法耦合到一个简单的基于有限元的弹性模型,OpenVOGEL试图提供一种解决与弹性升力面相关的一些复杂问题的基本方法,即

  • 由于机翼变形导致的气动特性变化(升力斜率和力矩斜率的变化)
  • 失速
  • 副翼反转
  • 对阵风的响应
  • 颤振(气动弹性共振)

这些问题很重要,因为它们可能导致飞机处于不安全状态,甚至造成灾难性后果。前三个问题属于“静态气动弹性力学”领域,后两个问题属于“动态气动弹性力学”领域。请注意,后两个问题在我们目前的计算模型中尚未得到很好的调整。

典型气动伺服弹性问题的表示:由于具有襟翼下偏的柔性固定-自由机翼的扭转,升力系数随空速的降低。当偏转襟翼时,升力不再增加的速度称为副翼反转空速

什么是气动弹性力学,以及模拟如何工作

[编辑 | 编辑源代码]

气动弹性力学是一个非常广泛的课题,它主要处理流体(空气)与弹性边界之间的相互作用,即在受到载荷时能够发生变形的边界。当流体流动时,它会加载边界,因此边界会变形,反过来,流动也会发生改变。整个过程处于永久的反馈中,因此我们称之为相互作用。VOGEL仅面向由于空气载荷引起的飞机机翼的静态和动态响应。如果您不熟悉这个主题,我建议您在开始之前先阅读以下书籍:结构动力学和气动弹性力学导论,Hodges & Pierce,剑桥大学出版社。正如您将在其中注意到的那样,解决机翼上的气动弹性问题并不总是容易的任务。首先,需要一个基于数学模型的算法,该算法能够提供非定常空气载荷(大多数情况下,稳态空气动力学不适合解决此类问题)。其次,必须以某种方式对飞机结构进行建模,最后,必须根据运动定律建立结构运动与空气载荷之间的联系。通过使用UVLM作为非定常空气动力学求解器平台,VOGEL中唯一的“额外”内容是结构动力学问题的解决方案以及引入一个有效的连接这两个问题的耦合链接。

[编辑 | 编辑源代码]

对机翼结构进行建模有很多选择。最实用的方法是使用有限元方法。有几种选择

  • 使用3D实体单元。
  • 使用3D壳单元(DKT单元、Reissner-Midlin或任何其他板理论)。
  • 使用简单的3D梁单元。
  • 使用单元的混合。

由于空气动力学问题已经占据了大量的自由度,因此第三种选择可以非常有效,因此它是所选方案。VOGEL使用简单的2节点3D梁单元网格来模拟机翼结构。这样做可以获得减少的自由度,并且可以实现一个简单但非常有效的连接。因此,机翼小部分的弹性和惯性特性集中在沿机翼展向分布的相关梁单元上。

除了单元类型之外,另一件非常重要的事情是用于解决动态问题(运动方程)的方法。也有几种选择可以做到这一点

  • 直接时间积分法
  • 模态分解法。

VOGEL中实现了第二种方法。尽管它需要一些初始工作来计算动态模态,但是一旦解决了这个问题,它就更容易处理,并且需要更少的内存使用量。主要缺点是它仅在线性条件和低变形下有效。这意味着,例如,如果我们计划超出蒙皮屈曲变形,它将不再提供准确的结果。但是,对于大多数问题,它确实提供了很好的结果。

[编辑 | 编辑源代码]

“气动弹性连接”是一种系统,它一端将涡格上的空气动力载荷耦合到结构,另一端将结构响应耦合到涡格运动。

气动弹性连接包括三个基本步骤

  1. 来自涡格某些环的空气载荷被发送到结构上的某些节点。
  2. 由于这些作用(每个结构节点上的力和力矩),并且根据牛顿运动定律,结构会发生运动。
  3. 结构自由度的运动改变了涡格的几何形状,循环重复。

很自然地认为,这可以通过以下对象类型将问题分成两部分来最好地完成

  • 机械连接:每个连接都包含一组与梁单元相关的涡格弦向环条(请参阅下图以更好地了解)。
  • 运动学连接:每个连接都包含一个结构节点,该节点链接到涡格上的一组弦向节点点。我们将假设这些运动学连接以刚性方式起作用,也就是说,结构节点上的每个位移和旋转都被发送到链接的涡格节点,就好像它们是刚性连接的一样。

所有必要的信息都可以保存在上述对象类型的集合中。为了将此想法付诸实践,VOGEL在两个单独的.NET类中处理它们,这些类持有对与涡格和结构相关的一组数据的引用。这两个类在计算之前都加载了所需的元素,然后用于更新力和运动。这将在下面进行解释。

[编辑 | 编辑源代码]

MechaLink类包含一个结构梁单元和一个涡环列表。它包含一个非常重要的方法:“TransferLoads()”。此方法使用每个控制点的位置和每个链接的涡环上的空气动力载荷来构建一个总载荷向量,该向量假定在梁单元的两端均匀分布。

一个机械连接
[编辑 | 编辑源代码]

KinematicLink类包含弦向涡格节点点的列表和仅一个结构节点。它包含方法“TransferMotion()”,该方法基于结构节点的结构位移和速度更新涡格点的位置。为此,此类在单独的列表中保存涡格点的初始位置,以便每次需要更新时都可以将位移添加到原始位置。

如前所述,涡格节点将根据简单的运动学定律(“刚性连接”)遵循其相关结构节点的位移。可以考虑不同的定律,尽管在没有测量结果表明如何更好地改进的情况下,此时使问题变得更加复杂没有任何意义。

一个运动学连接

时间积分方案

[编辑 | 编辑源代码]

通过引入所需的MechaLinks和KinematicLinks,问题的大部分已经得到了很好的解决。这两个类将以非常有组织的方式提供气动弹性耦合所需的所有信息。然而,问题中最重要的部分仍然悬而未决,即找到平衡状态的算法。这里有几种方法可以继续进行,选择哪一种将取决于我们感兴趣的分析类型。

如果我们只对静态稳态感兴趣,那么可以选择简单的显式时间积分。此类算法从不使用新的预测状态来反馈自身以收敛到新的平衡状态。下面显示的算法1属于此类。如果气动弹性传递趋向于静态稳态,则该算法将保证平衡,并且将非常有效。

如果我们关注过渡状态,那么我们需要一个更复杂的算法,因为我们需要在每个时间步寻找平衡。在这种情况下,我们需要一个隐式算法,在每个时间步多次重新计算气动力和位移,直到运动方程一致,也就是说,直到预测位置的载荷与考虑时间步后的预测运动处于动态平衡。一种方法是遵循高斯-赛德尔方案。算法2和3就是这样。

算法1:显式时间积分

[编辑 | 编辑源代码]
  1. 计算右端项
  2. 构建矩阵
  3. 计算环量
  4. 计算气动力
  5. 将载荷传递到结构
  6. 用新的载荷预测模态运动
  7. 将运动传递到网格
  8. 计算尾迹节点上的速度
  9. 更新尾迹

算法2:带有隐式时间积分和预处理尾迹的高斯-赛德尔方案

[编辑 | 编辑源代码]
  1. 如果 t > 1
    1. 计算尾迹节点上的速度
    2. 更新尾迹
  2. 找到 t+1 时的平衡状态
    1. 计算右端项
    2. 构建矩阵
    3. 计算环量
    4. 计算气动力
    5. 将载荷传递到结构
    6. 用新的载荷预测模态运动
    7. 将运动传递到网格
    8. 如果未收敛,返回到 a。

算法3:带有隐式时间积分和更新尾迹的高斯-赛德尔方案(当前方法)

[编辑 | 编辑源代码]
  1. 找到 t+1 时的平衡状态
    1. 如果不是第一个隐式步骤,则将尾迹重新建立到前一个时间步。
    2. 计算尾迹节点上的速度
    3. 更新尾迹
    4. 计算右端项
    5. 构建矩阵
    6. 计算环量
    7. 计算气动力
    8. 将载荷传递到结构
    9. 用新的载荷预测模态运动
    10. 将运动传递到网格
    11. 如果未收敛,返回到 a。

运动方程的积分方法

[编辑 | 编辑源代码]

解耦运动方程的积分需要一个合适的算法。这里有很多有用的算法,如“有限元程序”(Bathe,2006)中所述。由于其简单性,我开始使用“中心差分法”。但是,该方法和其他方法并不总是稳定的,因此,在某些时间步长下,某些动态模式可能会出现收敛问题。Newmark方法最适合解决此问题,因为它被证明对任何时间步长都是无条件稳定的,并且因为它不会引入数值阻尼(尽管对于过大的时间步长,它确实会压缩或扩展频率)。

时间步匹配问题

[编辑 | 编辑源代码]

关于运动方程积分的一个非常重要的事实是,它们与UVLM同时求解,因此两种方法的时间步长应该以某种方式匹配。通常,结构方程的积分将需要与UVLM不同的时间步长,因此需要对其中一个进行划分。因此,最长所需的时间步长可以划分为等间距的步骤,并且可以使用此细化来积分另一组方程。例如,假设UVLM需要0.01s的时间步长才能在尾迹上获得规则网格(此条件取决于弦向涡旋的长度和空速),并且与最高动态模式相关的方程需要0.001s的时间步长才能获得准确的响应。在这种情况下,我们可以在每个空气动力学步长中运行10个结构时间步长。为了获得最高的精度,应在每个结构时间步长更新空气动力载荷,但这需要巨大的计算量。此外,如果尾迹上的环量没有正确更新,它也不会保证更高的精度。因此,我们的解决问题的方法适用于存在软气动弹性耦合的情况。还有其他先进的技术可以实现良好的气动弹性连接,但是,它们都需要迭代更新空气动力载荷,从计算的角度来看,这非常昂贵。

华夏公益教科书