有限元方法:结构怎样从连续物体变成 Ku=f / The Finite Element Method from Continuous Structures to Ku Equals f
📅 创建时间:2026-07-20 🏷️ 标签:#有限元 #刚度矩阵 #单元组装 #自由度 📚 前置知识:[[06-structural-physics]]
1. 连续结构为什么要离散
真实结构中每个位置都有位移未知量,相当于无限多个未知数。有限元使用有限数量节点近似连续位移场。
连续结构
→ 划分单元
→ 用节点位移描述单元内部位移
→ 建立单元平衡
→ 组装成总体平衡2. 节点和自由度
自由度是独立的运动分量。
- 三维实体节点通常有
Ux, Uy, Uz - 梁和壳节点还可能有
Rx, Ry, Rz
例如一万个壳节点,每节点六个自由度,理论上可能形成约六万个未知量。
约束会固定或关联部分自由度。
3. 形函数
单元内部位移用节点位移插值:
u(x) = N(x) ueN:形函数ue:单元节点位移向量
形函数决定单元能够表示怎样的位移变化。
一阶单元计算便宜,但描述弯曲和复杂梯度可能需要更多单元;高阶单元每个单元成本更高,但精度可能更好。
4. 从位移到应变和应力
ε = Bue
σ = Dε = DBueB:应变-位移矩阵D:材料矩阵
这一步把节点位移和单元内部应力联系起来。
5. 单元刚度矩阵
通过虚功原理或最小势能原理,可以得到:
Ke = ∫V BᵀDB dVKe 描述单元各自由度之间的刚度耦合。
实际积分通常使用高斯积分点:
连续积分 ≈ Σ 积分点权重 × 被积函数因此材料状态、应力和塑性历史常存储在积分点,而不是节点。
6. 总体组装
每个单元只有少量局部自由度,需要映射到全局编号:
单元 1:局部自由度 → 全局 [1,2,7,8]
单元 2:局部自由度 → 全局 [2,3,8,9]把所有 Ke 累加到全局矩阵:
K = Σ Assemble(Ke)共享节点会收到多个单元贡献,这也是并行组装可能发生写冲突的原因。
7. 载荷向量
不同载荷最终都要转成节点等效载荷:
- 集中力直接作用于节点
- 面压力需要在单元面上积分
- 重力通过密度和体积转成体力
- 温度变化可以转成等效热应变载荷
最终形成:
Ku = f8. 边界条件
固定某个自由度后,必须修改方程系统。常见处理:
- 消元法
- 置大数惩罚法
- 拉格朗日乘子
- 多点约束变换
不同方法会改变矩阵规模、对称性或条件数。
9. 稀疏性
一个节点通常只与邻近单元中的节点耦合,因此全局矩阵大部分为零。
结构刚度矩阵常具有:
- 稀疏
- 对称
- 在线性弹性、约束充分时通常正定
- 局部耦合
这些性质决定了可以使用 Cholesky、CG 等高效方法。
接触、约束和某些非保守问题可能破坏对称性或正定性。
10. 求解后怎样得到应力
求出节点位移 u 后:
提取单元位移 ue
→ 计算积分点应变 ε
→ 通过材料模型得到应力 σ
→ 外推到节点或单元中心
→ 可选的节点平均
→ 绘制云图不同软件的积分点外推和节点平均方法不同,因此云图极值可能存在差异。
11. 质量矩阵
动力和模态分析需要质量矩阵:
Me = ∫V ρNᵀN dV常见形式:
- 一致质量矩阵:保留自由度之间耦合
- 集中质量矩阵:把质量集中到对角线上
集中质量计算方便,但会改变高阶模态精度。
12. 非线性有限元
非线性情况下方程写成残差:
R(u) = fext - fint(u) = 0Newton 迭代:
Kt Δu = R
u ← u + Δu每轮都可能需要:
- 更新材料状态
- 重新积分单元
- 重新组装切线刚度矩阵
- 求解新的线性系统
这解释了非线性分析为什么昂贵。
核心总结
- 有限元用节点自由度近似连续位移场。
- 单元积分产生局部矩阵,总体组装产生稀疏全局矩阵。
- 求解器直接求的是节点未知量,云图中的应力还经过恢复和外推。
- 矩阵的对称性、正定性和稀疏结构决定合适的求解算法。
下一篇:[[08-sam-workflow]]