第二章 有限元分析基础理论:弹性力学基本方程、虚功原理、最小势能原理、有限元求解流程

各位同学,欢迎来到第二章。说实话,很多搞光机结构的人一听到「弹性力学」、「虚功原理」这几个词就头大。我当年刚入行时也一样,觉得这些理论离实际工程太远了。

但做了十几年项目后我发现——不懂这些基础,你连有限元软件报的警告都看不懂。有一次我调试一个反射镜支撑结构,算出来应力明明在安全范围内,结果一上振动台就裂了。后来回头一查,是我对「最小势能原理」的理解有偏差,边界条件给错了。

所以这一章,咱们把这些「硬骨头」啃下来。我会尽量用大白话讲,但该有的公式一个不少。

2.1 弹性力学基本方程

弹性力学,说白了就是研究「物体在外力作用下怎么变形、内部应力怎么分布」的学问。光机结构里,镜片、镜筒、支撑架,本质上都是弹性体。

描述一个弹性体的状态,需要三组方程:

方程类型 物理意义 核心变量
平衡方程 力与应力之间的关系 应力分量 σij
几何方程 位移与应变之间的关系 位移分量 ui、应变分量 εij
物理方程 应力与应变之间的关系(本构关系) 弹性模量 E、泊松比 ν

这三组方程,加上边界条件,就构成了弹性力学问题的完整数学描述。你想想看,有限元分析本质上就是在计算机上求解这组方程。

2.1.1 平衡方程

平衡方程描述的是微元体上的力平衡。在直角坐标系下,它的形式是:

∂σ_x/∂x + ∂τ_xy/∂y + ∂τ_xz/∂z + f_x = 0
∂τ_yx/∂x + ∂σ_y/∂y + ∂τ_yz/∂z + f_y = 0
∂τ_zx/∂x + ∂τ_zy/∂y + ∂σ_z/∂z + f_z = 0

其中 fx、fy、fz 是体积力分量。我个人习惯把这个方程理解为「微元体上所有力的合力为零」——跟初中物理的受力分析一个道理,只不过现在是在连续介质里做。

2.1.2 几何方程

几何方程描述位移和应变的关系。对于小变形问题:

ε_x = ∂u/∂x
ε_y = ∂v/∂y
ε_z = ∂w/∂z
γ_xy = ∂u/∂y + ∂v/∂x
γ_yz = ∂v/∂z + ∂w/∂y
γ_zx = ∂w/∂x + ∂u/∂z

这里 u、v、w 分别是 x、y、z 方向的位移。嗯,这里要注意——这个方程假设变形很小,如果结构发生大变形(比如橡胶垫圈被压扁了50%),这个方程就不适用了。

2.1.3 物理方程(本构关系)

物理方程就是大家熟悉的胡克定律在三维情况下的推广。对于各向同性线弹性材料:

ε_x = (1/E)[σ_x - ν(σ_y + σ_z)]
ε_y = (1/E)[σ_y - ν(σ_x + σ_z)]
ε_z = (1/E)[σ_z - ν(σ_x + σ_y)]
γ_xy = τ_xy / G
γ_yz = τ_yz / G
γ_zx = τ_zx / G

其中 G = E / [2(1+ν)] 是剪切模量。我在项目中遇到过有人把铝合金的泊松比设成0.5——那是橡胶的参数,不是金属的。铝合金的 ν 一般在0.3左右。

核心要点:弹性力学的15个未知量(6个应力分量、6个应变分量、3个位移分量)由15个方程(3个平衡方程、6个几何方程、6个物理方程)唯一确定。有限元就是求解这个方程组。

2.2 虚功原理

虚功原理,名字听着玄乎,其实道理很简单。它说的是:如果一个物体处于平衡状态,那么对于任意一组「虚位移」,外力做的虚功等于内力做的虚功。

用数学表达就是:

∫_V σ_ij · δε_ij dV = ∫_V f_i · δu_i dV + ∫_S t_i · δu_i dS

左边是内力虚功(应力在虚应变上做的功),右边是外力虚功(体力和面力在虚位移上做的功)。

你可能会问:「为什么要引入虚位移?直接用力平衡不就行了?」

原因在于——对于复杂结构,直接列平衡方程非常困难。但用虚功原理,你只需要写出能量表达式,然后积分。有限元方法的核心思想之一,就是把微分方程转化为积分方程,这样更容易数值求解。

个人经验:我在做光机热耦合分析时,经常用虚功原理来校核边界条件是否正确。如果虚功不平衡,那一定是约束或载荷给错了。这个方法比肉眼检查公式靠谱得多。

2.3 最小势能原理

最小势能原理是虚功原理的一个特例——当外力是保守力时(比如重力、弹簧力),系统的总势能(应变能 + 外力势能)在平衡位置取最小值。

用数学表达:

Π = U - W
δΠ = 0

其中 U 是应变能,W 是外力做的功。δΠ = 0 表示势能的一阶变分为零,也就是势能取极值——对于稳定平衡,这个极值是最小值。

我曾经犯过一个错误:在分析一个镜片支撑结构时,我用了最小势能原理来推导刚度矩阵,但忘了考虑重力势能。结果算出来的变形量比实测小了一半。后来才发现——重力是保守力,必须包含在势能表达式里。

注意:最小势能原理只适用于保守力系统。如果结构有摩擦、塑性变形等非保守因素,就不能直接用这个原理。这时候需要回到更一般的虚功原理。

2.4 有限元求解流程

好了,前面讲了那么多理论,现在咱们看看有限元到底是怎么算的。我把整个流程总结成六个步骤:

  1. 结构离散化——把连续体划分成有限个单元,单元之间通过节点连接。这一步就是「网格划分」。
  2. 选择位移插值函数——假设每个单元内部的位移分布规律,通常用多项式近似。
  3. 建立单元刚度矩阵——利用最小势能原理或虚功原理,推导出每个单元的刚度矩阵 [k]e。
  4. 组装总体刚度矩阵——把所有单元的刚度矩阵按照节点编号组装成总体刚度矩阵 [K]。
  5. 引入边界条件并求解——施加约束和载荷,求解线性方程组 [K]{u} = {F},得到节点位移。
  6. 计算应变和应力——由节点位移通过几何方程和物理方程,计算出每个单元的应变和应力。

这六步,就是有限元分析的「标准操作流程」。不管你用 ANSYS、Abaqus 还是 COMSOL,底层逻辑都是这个。

有限元求解流程 1. 结构离散化(网格划分) 2. 选择位移插值函数 3. 建立单元刚度矩阵 [k]ᵉ 4. 组装总体刚度矩阵 [K] 5. 引入边界条件,求解 [K]{u}={F} 6. 计算应变和应力(后处理) 理论基础 弹性力学方程 虚功原理 最小势能原理 工程应用 光机结构静力分析 模态分析 热-结构耦合分析

这张图把整个流程串起来了。左边是理论基础,右边是工程应用,中间是六步操作。你每次做有限元分析,都可以拿这张图对照一下——看看自己走到哪一步了。

2.5 本章小结

这一章的内容确实有点「干」,但它们是有限元分析的根基。我总结几个关键点:

  • 弹性力学三组方程——平衡方程、几何方程、物理方程,是描述任何弹性体力学行为的基础。
  • 虚功原理——把力的平衡转化为能量积分,是有限元公式推导的起点。
  • 最小势能原理——在保守力系统中,平衡位置对应势能最小,是建立刚度矩阵的理论依据。
  • 六步求解流程——从离散化到后处理,每一步都有明确的物理意义和数学操作。

给新手的建议:不要试图一次性把所有公式都背下来。先理解每个方程「在说什么」,然后对照一个简单的例子(比如一根杆的拉伸)去推导一遍。我当年就是这么学的——推完一根杆,再推一个平面问题,慢慢就通了。