4. 阻尼对单自由度系统的影响
阻尼单自由度系统的动力学模型
在弹簧-质量系统基础上引入黏性阻尼器,阻尼力与速度成正比、方向与速度相反:F_d = -c·ẋ。单自由度阻尼系统的运动方程为:
m·ẍ + c·ẋ + k·x = 0
将其化为标准形式:ẍ + 2ζωₙ·ẋ + ωₙ²·x = 0,其中固有频率 ωₙ = √(k/m),阻尼比 ζ = c / (2√(mk))。阻尼比 ζ 是决定响应形态的唯一无量纲参数。
不同阻尼比下的响应形态
取教学示例参数:m = 1.0 kg,k = 100 N/m,则 ωₙ = 10 rad/s。初始条件 x₀ = 0.1 m,ẋ₀ = 0。改变阻尼系数 c 得到不同阻尼比:
| 工况 | c (N·s/m) | ζ | 响应类型 | 衰减包络 |
|---|---|---|---|---|
| A | 0 | 0 | 无阻尼等幅振荡 | 不衰减 |
| B | 2 | 0.1 | 欠阻尼 | e^(−ζωₙt) |
| C | 10 | 0.5 | 欠阻尼 | e^(−ζωₙt) |
| D | 20 | 1.0 | 临界阻尼 | 最快无振荡归零 |
| E | 40 | 2.0 | 过阻尼 | 缓慢无振荡归零 |
阻尼对频率的影响
欠阻尼条件下,有阻尼固有频率 ω_d = ωₙ√(1−ζ²)。ζ = 0.1 时 ω_d ≈ 9.95 rad/s,周期 T_d ≈ 0.631 s;ζ = 0.5 时 ω_d ≈ 8.66 rad/s,周期 T_d ≈ 0.726 s。阻尼使振荡频率降低、周期变长,但影响幅度在 ζ 较小时并不显著。
相邻两个振幅峰值之比的对数衰减率:δ = ln(x₁/x₂) = 2πζ/√(1−ζ²)。ζ = 0.1 时 δ ≈ 0.631,每周期振幅衰减约 47%;ζ = 0.5 时 δ ≈ 3.627,每周期振幅衰减约 97%。
仿真实现与结果判读
用 Python 对上述五种工况进行数值积分,核心代码如下:
import numpy as np
from scipy.integrate import solve_ivp
m, k = 1.0, 100.0
wn = np.sqrt(k / m) # 10 rad/s
x0, v0 = 0.1, 0.0
def make_ode(c):
def ode(t, y):
x, v = y
return [v, (-c*v - k*x) / m]
return ode
cases = {'ζ=0': 0.0, 'ζ=0.1': 2.0, 'ζ=0.5': 10.0,
'ζ=1.0': 20.0, 'ζ=2.0': 40.0}
t_eval = np.linspace(0, 2.0, 2000)
for label, c in cases.items():
sol = solve_ivp(make_ode(c), [0, 2.0], [x0, v0],
t_eval=t_eval, rtol=1e-8, atol=1e-10)
zeta = c / (2 * np.sqrt(m * k))
wd = wn * np.sqrt(1 - zeta**2) if zeta < 1 else 0
print(f"{label}: ζ={zeta:.2f}, ω_d={wd:.2f} rad/s, "
f"x(2s)={sol.y[0][-1]:.5f} m")
预期输出(教学示例,非实测):
| 工况 | ζ | ω_d (rad/s) | x(2s) (m) | 判读 |
|---|---|---|---|---|
| ζ=0 | 0.00 | 10.00 | ≈ 0.100 | 等幅振荡,无衰减 |
| ζ=0.1 | 0.10 | 9.95 | ≈ 0.013 | 衰减至约 13% 初始幅值 |
| ζ=0.5 | 0.50 | 8.66 | ≈ 0.000 | 2 s 内基本衰减完毕 |
| ζ=1.0 | 1.00 | — | ≈ 0.000 | 无振荡,最快归零 |
| ζ=2.0 | 2.00 | — | ≈ 0.000 | 无振荡,归零更慢 |
判读要点:ζ < 1 时系统振荡衰减,ζ 越大衰减越快、频率越低;ζ = 1 时无振荡且归零最快;ζ > 1 时无振荡但归零速度反而变慢。工程中常取 ζ = 0.05~0.2 以兼顾快速性与平稳性。
注意:数值积分时若阻尼很大(ζ ≫ 1),系统时间常数 τ = 1/(ζωₙ) 可能远大于振荡周期,需保证仿真时长足够覆盖衰减过程,否则会误判为“未归零”。建议仿真时长取 5τ 以上。