线性叠加 — CAE术语解说
线性叠加
在桥梁设计中"恒载+活载+风载"这样的荷载组合时,能分别解析每种荷载,然后将结果相加吗?
线性叠加的理论基础
线性叠加的基本概念
经常听到"线性叠加"这个词,但在CAE的语境中具体指什么?只是简单地相加吗,为什么要起这样一个特殊的名字呢?
这是个很好的问题。在CAE中,它指的是:支配方程为线性且边界条件也为线性时成立的一个非常强大的性质。具体来说,当多个荷载工况分别产生的位移和应力可以计算,然后将它们简单地相加,结果就等于所有荷载同时作用的结果。例如,对一个桁架节点,当有
"支配方程为线性"是指那个
完全正确。在
那如果材料非线性,比如发生塑性变形,这个原理就完全不适用了吗?
完全失效。在塑性区域,应力-应变关系变成非线性,刚性矩阵$\mathbf{K}$会随当前应力状态和变形历史而变化。例如,降伏应力为355 MPa的钢材,工况A中产生300 MPa应力,工况B中产生100 MPa应力,如果同时施加,总应力达到400 MPa,超过降伏应力,会发生塑性变形。此时,工况A和工况B的结果简单相加就不等于实际的非线性分析结果。这是线性分析和非线性分析的根本区别之一。
线性叠加的数值计算方法
FEM中的叠加应用
FEM求解器实际上是如何利用线性叠加的?这是提高计算效率的技巧吗?
这恰好是"效率优化的关键"。求解器在全局刚性矩阵$\mathbf{K}$的分解(LU分解或Cholesky分解)上花费最多计算成本。在线性问题中,$\mathbf{K}$对所有荷载工况都相同,所以这个高成本的分解只需进行一次。之后,对于不同的右侧向量(荷载向量$\mathbf{F}_1, \mathbf{F}_2, ...$),只需进行前向代入和回代,这是相对轻量的计算。计算100个工况时,分解100次与只分解1次相比,计算时间会相差很多倍。
当用户后来说"我想看这个荷载和那个荷载的组合结果"时,求解器不需要重新计算,对吗?
完全正确。这就是"工况组合"或"包络分析"的基础。例如,Ansys Mechanical在静力分析中可以定义多个"荷载工况",在后处理中用"Solution Combination"功能,将工况1(自重)的结果乘以系数,加上工况2(风压)的结果乘以系数,设计荷载工况可以事后合成。求解器无需重算,只需从既有结果文件(如.rst)中瞬时组合数据。但要注意,应力的合成需要谨慎,如Mises等效应力这样的标量不能简单相加,但应力张量分量($\sigma_{xx}, \tau_{xy}$等)可以线性相加。
线性叠加的实务应用
分析工作流中的适用判断
在实际分析中,怎样判断所解决的问题能否应用线性叠加?需要检查哪些要点?
用以下4点检查清单严格检验。1. **材料线性性**:材料是否为线性弹性(遵循Hooke定律)?塑性、超弹性、蠕变都不行。2. **几何非线性性**:变形是否微小,使得平衡方程可在变形前形状上建立?大变形、座屈都不行。3. **接触条件**:接触状态是否不随荷载改变?接触本质上是非线性的。4. **边界条件线性性**:支撑条件是否不依赖位移?非线性弹簧就不行。
有接触就完全不行吗?从一开始就完全粘合的"面间粘结"状态呢?
这很微妙。如果从一开始就完全粘结(Bonded),且分析过程中绝对不会发生分离或滑动,那就可以看作简单的节点连接,可以视为线性。但实际中很多接触(即使是Bonded)会出现接触压力分布随荷载非线性变化。保守的做法是,除非在Abaqus/Standard中明确使用"Linear perturbation step",或在Ansys中启用"Linear Contact"选项,否则包含接触的分析应视为非线性处理。ASME BPVC第VIII部第2编的设计评估规范中,对接触区域的应力评估也特别强调了这一点。
线性叠加的软件对比
各求解器的实现与功能
Ansys、Abaqus、COMSOL这些主流软件在线性叠加方面有功能或名称的差异吗?
概念相同,但实现和用户界面有差别。
2. **Abaqus/Standard**:有"线性扰动步"(Linear perturbation step)功能。在基础步(可以是非线性)之上,叠加多个线性扰动步,每步的结果独立且可叠加。这是非常清晰的建模体系。
3. **COMSOL Multiphysics**:在"稳态"研究中,定义多个"参数化求解器",或使用"辅助扫描"功能。单次计算可高效获得多个荷载或参数值的线性解。
Abaqus的"线性扰动步"与普通的"静力分析步"的根本区别是什么?为什么要分开?
计算算法完全不同。普通"静力分析步"(General)用牛顿-拉夫逊法反复求解非线性方程。而"线性扰动步"在前一步(基础状态)的刚性矩阵$\mathbf{K}$**固定不变**,只对新荷载求解线性方程
线性叠加的故障排除
常见错误与对策
用线性叠加合成结果时,出现了明显错误的值(比如应该是压应力却变成了拉应力)。可能的原因是什么?
首先要怀疑"合成对象的物理量类型"。正如前面提到的,**Mises等效应力**这样的正标量绝对不能相加。工况A中Mises应力100 MPa,工况B中80 MPa的位置,合成结果未必是180 MPa(通常会更小)。只能合成**应力张量分量**(SX, SY, SXY...)、**位移**、**反力**等向量或张量分量。结果出错时,首先确认合成的是分量数据。可能需要在后处理中切换到"Component"显示模式。
软件标注"线性分析",但两个荷载工况的结果相加后,与"同时加载两个荷载的单次分析"结果略有不同。这是bug吗?
不是bug,而是隐藏的"隐性非线性"。具体原因可能有:1. **大变形效果(几何非线性)被激活**:检查软件默认设置。Ansys中是`NLGEOM,OFF`,Abaqus中是`NLGEOM=NO`。2. **压力荷载方向**:如果压力沿"单元法向"作用,变形会使法向改变,产生非线性性。这叫"随动荷载"。3. **张力缆索或间隙单元**:这些单元的刚性随荷载方向变0或有限,明显非线性。如存在这些,原理上不能用叠加。
随动荷载的影响能定量估计吗?有忽略的判据吗?
一个目安是荷载面的转角。变形使面转角$\theta$非常小时(如$\theta < 1^\circ$),可用$\cos\theta \approx 1$,$\sin\theta \approx 0$。具体地,压力$p$作用的面,位移$u$,代表长度$L$时,计算
相关主题
更详细
错误