教程:质量-弹簧-阻尼
在本次教程中,你将搭建并仿真一个经典的一自由度(SDOF)质量-弹簧-阻尼系统,并在几分钟内可视化其响应。
前置条件
- 已安装 Simit,或可访问网页版工作区
- 对动态系统术语有基本了解
目标
建立一个带外力输入的单位质量-弹簧-阻尼系统,并观察位移随时间的变化。
参数(后续可编辑):
m = 1.0 kgk = 50.0 N/mc = 0.8 N·s/m
1. 创建新模型
- File → New Model → “MSD Quick Tour”
- 设置仿真:步长
dt = 0.002 s,总时长T = 5 s
2. 添加模块
- Sources:
Step(力输入),初始值 0 → 在 0.2 s 跳变到 1 N - Dynamics:
Integrator(速度)、Integrator(位置) - Elements:
Gain(−k)、Gain(−c) - Sinks:
Scope(位置)
提示:按 / 打开组件面板并键入以插入。
3. 连线动力学
SDOF 方程为 ( m \dot v = F - kx - cv )、( \dot x = v )。
- 合力求和:创建
Sum模块,输入设为+ + − −- 连接:
F(Step)→+,k*x→−,c*v→−
- 连接:
- 计算
k*x:position→Gain(−k)→Sum - 计算
c*v:velocity→Gain(−c)→
4. 设置参数
- 设置增益:
1/m = 1.0、−k = −50.0、−c = −0.8 - 初始条件:
velocity(0) = 0、position(0) = 0
可在控制台输入:
m = 1.0
k = 50.0
c = 0.8若编辑器支持表达式,可将增益与变量 1/m、-k、-c 绑定;或将字段与 m,k,c 关联。
5. 运行仿真
- 点击运行 ▶;位置曲线应呈现轻微阻尼的阶跃响应
- 使用游标测量峰值与稳定时间
6. 快速迭代
- 将
c改为2.0(阻尼更大)并重新运行;对比曲线 - 若曲线看起来有锯齿,可将
dt缩短为0.001 s
故障排查
- 若信号发散:检查
1/m、-k、-c的符号及积分器连线 - 若执行因环路警告中止:确保存在状态(积分器)以打断代数回路