简支梁均布荷载 — FEM验证基准

分类: V&V・解析解比較 | 更新 2026-04-12
Simply supported beam under uniform distributed load - deflection curve and bending moment diagram for FEM verification benchmark
等分布荷重を受ける単純支持梁のたわみ曲線と曲げモーメント分布 — FEM検証の基本ベンチマーク

理论与物理

概述

🧑‍🎓

简支梁的基准测试具体要检查什么?

🎓

这是FEM最基础的验证问题。承受均布荷载 $w$ 的简支梁,根据欧拉-伯努利梁理论可以得到精确的挠度解。中央的最大挠度为

$$ \delta_{\max} = \frac{5wL^4}{384EI} $$

将理论解与数值解进行比较,以确认单元类型的精度,是这个基准测试的目的。特别重要的是,使用一阶单元(线性单元)会发生剪切自锁,导致梁表现得比实际更硬,挠度被低估。定量地把握这一现象,并验证减缩积分或B-bar法的改善效果,是实践中的关键点。

🧑‍🎓

诶,就一个挠度公式,能看出这么多门道吗?

🎓

是的。正因为简单才好用。它被收录在NAFEMS的基准测试集中,也作为ASME V&V 10-2006中代码验证(确认代码数学正确性)的第一步被推荐。引入新求解器时,首先用这个问题确认与理论解在0.1%以内的一致,是业界的标准流程。例如,汽车制造商的构造解析部门,在每次求解器版本升级时,都会将这个基准测试作为回归测试来运行。

控制方程

🧑‍🎓

那请告诉我理论公式的全貌。不只是挠度,应力也能算出来吧?

🎓

从欧拉-伯努利梁的控制方程开始吧。承受均布荷载 $w$(N/m)、长度为 $L$ 的简支梁的挠度曲线

$$ w(x) = \frac{wx}{24EI}\bigl(L^3 - 2Lx^2 + x^3\bigr) $$

这里 $x$ 是距左端的距离,$E$ 是杨氏模量,$I$ 是截面惯性矩。代入中央 $x = L/2$ 即可得到最大挠度。

$$ \delta_{\max} = \frac{5wL^4}{384EI} $$

接下来是弯矩分布

$$ M(x) = \frac{w}{2}\bigl(Lx - x^2\bigr) $$

在中央达到最大,$M_{\max} = wL^2/8$。由此得到最大弯曲应力

$$ \sigma_{\max} = \frac{M_{\max}}{Z} = \frac{wL^2}{8Z} $$

$Z = I/c$ 是截面模量,$c$ 是中性轴到最外缘的距离。对于矩形截面 $b \times h$,有 $I = bh^3/12$,$c = h/2$,$Z = bh^2/6$。

🧑‍🎓

剪力分布也有吧?

🎓

剪力为

$$ V(x) = \frac{wL}{2} - wx = w\left(\frac{L}{2} - x\right) $$

在支点处最大 $V_{\max} = wL/2$,在中央为零。欧拉-伯努利理论假设截面保持平面且法线方向不变(忽略剪切变形),因此对于跨度/高度比 $L/h$ 较大的薄梁精度较高。

与铁木辛柯梁的比较

🧑‍🎓

$L/h$ 较小时会怎样? 我担心与铁木辛柯理论的差异。

🎓

铁木辛柯梁理论额外考虑了剪切变形。中央挠度为

$$ \delta_{\text{Timoshenko}} = \frac{5wL^4}{384EI} + \frac{wL^2}{8\kappa GA} $$

第二项是剪切变形引起的挠度增量。$\kappa$ 是剪切修正系数(矩形截面为 $5/6$),$G$ 是剪切弹性模量 $G = E/\{2(1+\nu)\}$。

$L/h$弯曲挠度比例剪切挠度比例欧拉-伯努利误差
5099.7%0.3%0.3%
2098.1%1.9%1.9%
1092.9%7.1%7.1%
578.1%21.9%21.9%

若 $L/h \geq 20$,则欧拉-伯努利理论已足够。对于 $L/h < 10$ 的深梁,则需要铁木辛柯理论或3D实体单元。基准测试通常使用 $L/h = 50$ 左右的条件,在欧拉-伯努利理论严格成立的条件下进行验证。

基准测试验证数据

🧑‍🎓

我想用具体数值确认一下,使用什么参数是标准做法?

🎓

标准的基准测试设置如下。

参数符号
跨度长度$L$1000 mm
截面宽度$b$100 mm
截面高度$h$20 mm
均布荷载$w$1.0 N/mm
杨氏模量$E$200,000 MPa
泊松比$\nu$0.3

$L/h = 50$,因此欧拉-伯努利理论充分成立。截面惯性矩 $I = bh^3/12 = 100 \times 20^3/12 = 66{,}667$ mm$^4$。

$$ \delta_{\max} = \frac{5 \times 1.0 \times 1000^4}{384 \times 200{,}000 \times 66{,}667} = 0.9766 \text{ mm} $$
$$ \sigma_{\max} = \frac{1.0 \times 1000^2}{8 \times 6{,}667} = 18.75 \text{ MPa} $$

这里 $Z = bh^2/6 = 100 \times 20^2/6 = 6{,}667$ mm$^3$。

🧑‍🎓

不同单元类型的结果会怎样?

🎓

使用上述参数的比较结果如下。

单元类型网格自由度$\delta_{\max}$ [mm]位移误差 [%]$\sigma_{\max}$ [MPa]应力误差 [%]
BEAM2(欧拉-伯努利)20单元1260.97660.0018.750.00
BEAM3(铁木辛柯)20单元1260.97950.3018.750.00
QUAD8(二次壳)20×22,5200.97640.0218.720.16
HEX8 完全积分50×10×419,8000.811216.9317.924.43
HEX8 减缩积分50×10×419,8000.97380.2918.700.27
HEX20(二次实体)20×4×215,1200.97620.0418.730.11
TET4(线性四面体)自动~30,0000.683430.0215.2118.88
TET10(二次四面体)自动~25,0000.97410.2618.680.37

HEX8完全积分出现了约17%的位移误差,TET4甚至高达30%。这就是剪切自锁的威力。另一方面,减缩积分的HEX8或HEX20误差在0.3%以内。清晰地展示这种差异,正是简支梁基准测试的意义所在。

数值解法与实现

剪切自锁的物理原理

🧑‍🎓

刚才的表格里HEX8和TET4结果很差是因为"剪切自锁"吧?具体发生了什么?

🎓

要理解本质,可以考虑一阶单元形函数的局限性。

一阶六面体单元(HEX8)的位移场在各个方向都是线性的。纯弯曲时截面会旋转,因此上表面和下表面会产生相反方向的水平位移。理论上此时剪切应变 $\gamma_{xy} = 0$,但线性的位移场无法满足这个条件。

$$ \gamma_{xy} = \frac{\partial u}{\partial y} + \frac{\partial v}{\partial x} \neq 0 \quad \text{(一阶单元的局限)} $$

也就是说,产生了本不该存在的寄生剪切应变(parasitic shear)。对应于该应变的剪切应力会作为额外的刚度起作用,使得梁表现得比实际更硬,即挠度被低估。这就是剪切自锁。

🧑‍🎓

原来如此…因为单元的形函数无法表现弯曲的变形模式,所以产生了"虚假的剪切"。

🎓

没错。即使细化网格,单个单元的纵横比得到改善,情况会缓解,但收敛速度非常慢。厚度方向只有2个单元左右是远远不够的,需要大约8~16个单元。计算成本会变得巨大,因此在实践中使用自锁对策技术要高效得多。

自锁对策技术

🧑‍🎓

有哪些对策方法?

🎓

主要有三种方法。

1. 减缩积分(Reduced Integration)
使用减缩积分(1×1×1=1点)代替完全积分(HEX8为2×2×2=8点)。通过减少积分点,可以排除寄生剪切应变的能量贡献。但代价是会产生沙漏模式(hourglass mode)这种零能量变形模式。即使像沙漏那样扭曲变形,也会被评估为零能量。

$$ \text{完全积分: } 2 \times 2 \times 2 = 8 \text{ 点} \quad \rightarrow \quad \text{减缩积分: } 1 \times 1 \times 1 = 1 \text{ 点} $$

2. B-bar法(选择性减缩积分)
仅对体积变化(膨胀)分量使用减缩积分计算,而偏差分量则保持完全积分。对体积自锁和剪切自锁都有效。Abaqus的 C3D8R + hourglass control 或 Nastran的 CHEXA reduced 就是基于这个思路。

3. EAS法(增强假设应变)
在通常的位移场之外,假设单元内部存在额外的应变模式。引入内部自由度作为额外的应变参数,并通过静态凝聚使其对外部不可见。Ansys的SOLID185(keyopt(2)=2)就属于此类。

方法优点注意事项
减缩积分实现简单,计算成本低必须进行沙漏控制
B-bar法同时应对体积和剪切自锁需要理解单元技术
EAS法高精度,无沙漏计算成本略有增加,非线性时可能不稳定
二阶单元根本性解决,准确表现弯曲模式自由度约3倍,网格生成费事
🧑‍🎓

沙漏模式的控制具体怎么做?

🎓

通过添加人工刚度(hourglass stiffness)来抑制沙漏模式。如果沙漏能量超过总内能的5~10%,就是危险信号。Abaqus中可以使用 *SECTION CONTROLS, HOURGLASS=ENHANCED,LS-DYNA中可以使用 IHQ=6(Belytschko-Bindeman)作为有实际业绩的设置。可以通过这个基准测试问题确认沙漏能量比率,如果低于1%即可判断为合格。

网格收敛性理论

🧑‍🎓

不断细化网格的话,会以多快的速度接近理论解?

🎓

根据FEM的先验误差估计(Cea定理),$p$ 阶单元的能量范数误差以 $O(h^p)$ 减少,位移的 $L^2$ 范数误差以 $O(h^{p+1})$ 减少。

$$ \| u - u_h \|_{L^2} \leq C \cdot h^{p+1} \| u \|_{H^{p+1}} $$

也就是说,对于线性单元($p=1$),将单元尺寸 $h$ 减半,位移误差大约变为 $1/4$;对于二阶单元($p=2$),则大约变为 $1/8$。在实际的网格收敛测试中确认是否能重现这个理论收敛率,是代码验证的核心。

具体来说,使用三种以上不同的网格密度进行分析,在双对数图上确认斜率是否接近理论值 $p+1$。如果斜率与理论值偏差较大,则需要怀疑是否存在错误、边界条件设置不当或奇异点的影响。

实践指南

分析步骤

🧑‍🎓

实际用求解器运行这个基准测试时,应该按什么步骤进行?

🎓

基本流程如下。

步骤 1: 创建几何
$L \times b \times h = 1000 \times 100 \times 20$ mm 的长方体。也可以利用对称性建立半模型($L/2$)。

步骤 2: 生成网格
从粗网格开始(跨度方向10等分,厚度方向2等分),然后逐步细化。网格收敛测试推荐跨度方向 10→20→40→80 四个阶段。

步骤 3: 定义材料
线弹性。$E = 200{,}000$ MPa,$\nu = 0.3$。

步骤 4: 设置边界条件
左端:$u_y = 0$(竖直方向约束)+ $u_z = 0$(面外位移约束)
右端:$u_y = 0$ + $u_z = 0$
在一端设置 $u_x = 0$(约束轴向刚体位移)

步骤 5: 施加载荷
上表面施加面压 $p = w/b = 1.0/100 = 0.01$ MPa。或者线荷载 $w = 1.0$ N/mm。

步骤 6: 求解与后处理
比较中央截面的最大挠度和最大应力与理论解。

边界条件的注意事项

🧑‍🎓

边界条件方面有哪些容易出错的地方?

🎓

常见的陷阱有三个。

1. 过约束
明明是"简支",却在两端都设置了 $u_x = 0$ 的情况。轴向的热膨胀之类的伸长被约束,会产生寄生的轴向力。应该只在一端设置 $u_x = 0$。

2. 点约束引起的折角
在实体单元中,如果仅用一个点(单一节点)约束支点,那里会产生应力集中。正确的做法是沿着支点侧的边或面约束节点群,或者用MPC(多点约束)定义支撑线。

3. 忘记约束面外方向
在3D模型中,为了防止 $z$ 方向的刚体旋转,需要在面外方向设置 $u_z = 0$。如果忘记设置,会导致刚度矩阵奇异,求解器报错。

质量检查清单

🧑‍🎓

分析结束后,检查哪些项目才能算合格?

🎓

这是基准测试合格的检查清单。

项目合格标准
中央挠度 $\delta_{\max}$与理论解的误差在 ±1% 以内
最大弯曲应力 $\sigma_{\max}$与理论解的误差在 ±2% 以内
支点反力的总和与 $wL$ 一致(确认力的平衡)
网格收敛性经过两个阶段以上的细化后单调收敛
收敛率的斜率双对数图中在理论值 $p+1$ 的 ±0.2 以内
沙漏能量比率(使用减缩积分时)低于总内能的1%
对称性确认挠度分布相对于中央左右对称

软件比较

各求解器的单元选择

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

梁たわみ計算 シミュレーター一覧

関連する分野

構造解析V&V・品質保証要素技術
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
关于作者