虚功原理模拟器 返回
结构分析模拟器

虚功原理 — 桁架挠度的单位载荷法

用虚功原理(单位载荷法)实时计算三杆桁架的顶点挠度。改变形状、载荷和刚度,直观看出哪一根杆主导位移。

参数设置
底边长 b
m
高度 h
m
载荷 P
kN
刚度 EA(所有杆共用)
kN

EA 取为三根杆(两根斜杆+底边)共用。变形后形状以放大倍率用虚线显示。

计算结果
顶点竖向挠度 δ
斜杆内力 N_AC(压)
底边杆内力 N_AB(拉)
斜杆对挠度的贡献率
桁架几何与内力

蓝字=受拉杆、红字=受压杆、绿色箭头=外载 P、虚线=变形后形状(放大)

各杆对挠度的贡献

对比各杆的 N·n·L/EA。柱越高,对挠度的贡献越大。

理论与主要公式

在虚功原理(单位载荷法)中,沿所求位移方向施加一个虚拟单位载荷 1,对各杆的虚内力 n_i 与实际内力 N_i 的乘积求和,即得位移。

桁架挠度(对所有杆求和)。N_i 为实际载荷 P 时的内力,n_i 为单位虚载荷时的内力,L_i 为杆长,E·A_i 为轴向刚度:

$$\delta = \sum_i \frac{N_i\,n_i\,L_i}{E A_i}$$

本桁架的内力(由对称性与顶点竖向平衡):

$$N_\text{AC}=N_\text{BC}=\frac{P\,L_\text{AC}}{2h},\quad N_\text{AB}=\frac{P\,b}{4h}$$

单位虚载荷时,同样的公式中令 P=1:

$$n_\text{AC}=\frac{L_\text{AC}}{2h},\quad n_\text{AB}=\frac{b}{4h}$$

当 EA 在各杆共用时,每一项的贡献与 N·n·L 成正比。注意两根斜杆都参与求和。

什么是虚功原理模拟器

🙋
桁架的挠度是不是像弹簧那样「力除以弹簧常数」就能算?可是桁架杆件那么多,根本看不出哪一根在起作用呀。
🎓
好问题。桁架杆件多、是联立方程的问题,朴素的 F/k 根本追不过来。这时就用虚功原理(单位载荷法)。简单说:在你想求位移的那一点加一个「虚拟的 1 的力」,把每根杆的 N·n·L/(EA) 全加起来,就得到位移。写成公式就是 $\delta = \sum N_i n_i L_i / (EA_i)$。在上面的模拟器里调底边长和高度,能看到贡献条柱在变化。
🙋
「虚拟的 1 的力」是什么意思?不是真的施加载荷吧?
🎓
对,它只是计算上的「虚」载荷。你「假设」在所求位移的位置、沿所求方向施加一个大小为 1 的单位载荷,并算出此时各杆的内力 n_i。根据能量守恒(外力功=内力功),把它与实际载荷 P 下的 N_i 结合起来就得到位移。实务里这叫「单位载荷法」,桁架、梁、刚架的步骤都一样,这就是它的强大之处。
🙋
模拟器显示「斜杆贡献率 85%」,这要怎么理解?
🎓
这就是这种方法最强的地方。顶点的竖向挠度 δ 中,两根斜杆就占了整体的 85%。也就是说,想增加刚度,把底边杆加粗几乎没用,正确的做法是增大斜杆的截面 A。在模拟器里改「刚度 EA」时,它对所有杆一起改;真实设计是要分杆单独优化。这正是结构优化的核心思想。
🙋
原来如此!把高度 h 调大,挠度就急剧变小是为什么呢?
🎓
观察很到位。看公式 $N_\text{AC} = P L_\text{AC}/(2h)$,h 在分母上。h 翻倍内力就减半,再加上挠度是 N 与 n 的乘积(两者都与 h 成反比),所以按 h² 的关系起作用。实务中常说「桁架越高越轻越刚」就是这个道理。但现场常见的情况是 h 受层高或建筑规划限制,能在约束内找出最优的 b/h 比,就是设计师真正的功夫。

常见问题

数学上等价。把卡氏第二定理 δ = ∂U/∂P 用于桁架的应变能 U = Σ N²L/(2EA),对 P 求偏导得到 ∂N/∂P,恰好就是单位虚载荷下的内力 n,所以 δ = Σ N·n·L/(EA) 与单位载荷法的式子完全一样。手算时,单位载荷法步骤更机械化所以更常用,但二者的能量学起点相同。
为了判断该加强哪根杆才最有效。例如斜杆贡献率为 85% 时,把底边杆加粗几乎不会减小 δ,应改为加大斜杆截面。这种感觉在解读商用 FEM 结果时同样有用,是看出「哪根杆主导整体刚度」的第一步。
可以。对梁来说,公式变成 δ = ∫ M·m·dx/(EI)——对杆的求和换成沿长度的积分。对刚架,则把弯矩、轴力、剪力各项贡献加起来;通常弯矩项占主导,轴力和剪力项可忽略。本工具只考虑只有轴力的桁架,目的是先建立对虚功原理的直觉。
适用,但需要多一步。超静定时仅靠平衡无法确定内力 N,所以把多余力作为未知数,按「协调条件(位移连续)」联立求解。而协调条件本身正是用单位载荷法写出来的,所以它位于超静定分析标准方法(柔度法/力法)的中心。本工具的三杆桁架是静定的,是仅由平衡就能确定 N 的最基本情况。

实际应用

建筑、桥梁的初步设计:在大型桁架桥和屋盖桁架的设计中,进入商用 FEM 之前的初步尺寸阶段,常用单位载荷法。先用手算识别出主导杆件并给出合理的初始截面,可以大大提高后续 FEM 分析的效率和精度。

起重机、臂架、塔架的刚度评估:工程机械的臂架(伸缩臂)和塔式起重机的端部挠度直接关系到操作精度和起吊精度。单位载荷法能明确每根杆对端部位移的贡献,给出兼顾轻量化与刚度提升的设计思路。

结构优化的出发点:「在满足规定刚度的前提下最小化重量」的优化问题,第一步是知道各杆的灵敏度(对位移的贡献)。虚功原理以物理上易于解释的形式给出该灵敏度,因此被广泛用于尺寸优化和拓扑优化算法的初始设计阶段。

有限元法的理论基础:支撑商用 FEM 软件(Ansys、Abaqus、Nastran 等)的变分原理,正是虚功原理在多自由度系统上的推广。单元刚度矩阵的组装和整体方程 K·u = f 的推导都来自虚功的评估。能否从物理上解读 FEM 结果,往往取决于对这一原理的理解程度。

常见误解与注意事项

最常见的错误是把「虚拟单位载荷」和实际施加的载荷混为一谈。虚拟单位载荷是计算上的「假如」,并不真的施加到结构上。你假设在所求位移的位置、沿所求方向施加一个大小为 1 的单位载荷,并算出该状态下的内力 n——它纯粹是数学工具。若与实际载荷 P 区分不清,就会把 N 和 n 混用,结果完全对不上。

其次常见的是压力和拉力的符号处理的栽跟头。本模拟器把内力当作「大小」处理,用 C(压)和 T(拉)的标签来区分。其依据是:当实际载荷和虚拟载荷在同一杆同一位置产生同向的内力时,N·n 为正,对挠度的贡献为正。实务里也有人用带符号的算法,但那样的话虚拟载荷也必须按与实际载荷一致的符号约定处理。两种约定混用会让某些项错误地相互抵消,导致挠度被低估。

最后请注意本工具中 EA 取为所有杆共用的简化。在真实结构中,斜杆和底边杆的截面通常不同。本工具旨在直观理解虚功原理;若需按杆设置不同的 EA,请改用手算(分项写出)或商用 FEM。本工具也只考虑杆件的弹性(线性范围),未考虑屈曲、塑化以及节点刚度等效应。实际设计中务必把这些效应连同安全系数一并加以考虑。