运行仿真
BlockWerk 基于编译为 WebAssembly(WASM)的高性能内核运行系统仿真。您的模块系统图将在每个时间增量上按步进逐步求解计算,并在每个采样点实时更新各信号的数值。
启动、暂停与停止
仿真控制按钮位于屏幕底部的工具栏中:
- 运行 / 启动(
Ctrl+Enter):从设定的起始时间开始执行新的仿真计算。若当前处于暂停状态,点击运行将从当前仿真时间点恢复执行。 - 暂停:暂时挂起仿真计算并冻结所有波形与信号显示。点击运行可在原时间点继续求解。
- 停止:结束当前仿真并恢复为空闲状态。各个显示模块将保持其最后计算所得的值,直到下一次仿真启动。
时间设置
展开工具栏中的设置面板,可配置仿真的时间窗口:
- 起始时间(Start Time):仿真时钟的起始时刻。默认值:
0s。 - 终止时间(Stop Time):仿真时钟的结束时刻。默认值:
10s。 - 采样时间(Sample Time):信号记录与可视化的更新周期。采样时间越小,波形曲线越细腻平滑,但占用的内存也越多。推荐的通用默认值为
0.01s(100 Hz)。
选择求解器(Solver)
求解器(数值积分器)决定了模型图中微分方程的数值积分方式:
- Euler(欧拉法):一阶定步长。计算速度极快,但仅适用于简单或缓慢变化的动态系统。
- Heun(RK2 / 改进欧拉法):二阶定步长。在计算速度与数值精度之间具备出色的平衡,适用于绝大多数常规系统。
- RK4(四阶经典龙格-库塔法):四阶定步长。通用工程建模中强烈推荐的标准求解器。
- RK45:自适应变步长求解器(Dormand-Prince)。适合动态突变或需要高精度的场景。
- TR-BDF2:隐式变步长求解器。专为刚性(stiff)系统设计,可在显式求解器发散时保持数值稳定。
步长(Step Size)
对于定步长求解器,步长即为每次积分的时间间隔(以秒为单位)。常用的工程经验法则是将其设定为系统最小时间常数的十分之一以下。如果您在仿真中观察到数值发散、剧烈振荡或失真,请尝试减小步长。
实时参数调谐(Live Parameter Tuning)
在属性编辑器中标记有绿色 LIVE 徽章的参数,可以在仿真运行过程中直接动态调整。参数的变动将在下一个积分步长中即时生效——无需重新启动仿真。
提示: 建议从 RK4 求解器和 0.001 s 的步长开始配置。如果系统为刚性系统,请切换为 TR-BDF2;需要自适应精度时选用 RK45;只有在系统动态极其缓慢且追求极速计算时,才选用 Euler 求解器。
另请参阅
- Integrator:连续时间状态积分器模块。
- Step:阶跃响应测试信号源。
- uPlotDisplay:高性能内联时间序列示波器模块。