多体动力学通常建立如下的第一类拉格朗日方程
针对不同刚度类型的系统,针对不同拓扑结构,采用不同方法建立了上述方程,并引入若干数值方法求解上述方程。这个过程中涌现了多种多体动力学代码/软件。这些代码/软件不仅可以减少研究人员的负担,而且可以加速多体动力学的发展。
| 名称 | 类型 | 描述 |
|---|---|---|
| Adams | 闭源独立软件 | 世界上使用最多的机械系统仿真分析软件 |
| AVL EXCITE | 闭源独立软件 | 针对动力传动系统的多体动力学仿真软件 |
| Bullet | 开源物理引擎 | 柔性多体动力学的跨平台开源物理引擎 |
| Chrono | 开源代码/软件 | 用于车辆、机器人和其他机械系统的多物理场仿真系统 |
| Havok | 闭源物理引擎 | 用于计算机图形和游戏的动力学物理引擎 |
| LMS Virtual.Lab Motion | 闭源独立软件 | 多体动力学分析优化软件 |
| MapleSim | 闭源独立软件 | 结合物理模型和符号计算的高精度多体仿真软件 |
| MBSim | 开源代码 | 机械系统的多体动力学仿真环境 |
| Neweul-M$^2$ | 闭源软件模块 | 机械系统的柔性多体动力学仿真 |
| Newton Dynamics | 开源物理引擎 | 跨平台物理仿真库 |
| ODE | 开源物理引擎 | 基于互补接触方法的多刚体动力学代码 |
| PhysX | 闭源物理引擎 | 用于计算机图形的高速物理引擎 |
| RBDL | 开源代码 | 求解多刚体动力学正问题和逆问题的代码 |
| RecurDyn | 闭源独立软件 | 基于相对坐标和递归算法的多体动力学系统仿真软件 |
| Siconos | 开源代码 | 软件 & 求解非光滑动力学系统的仿真框架 |
| Simbody | 开源代码/软件 | 机械系统和生物力学的高性能多体动力学和多物理场仿真库 |
| Simpack | 闭源仿真软件 | 用于任何机械或机电系统的动态分析的通用多体仿真软件 |
| Simscape Multibody | 闭源软件模块 | 三维机械系统的多体动力学仿真环境 |
| Solfec | 开源代码 | 非光滑接触动力学方法柔性多体动力学仿真代码 |
其中闭源独立软件一般由商业公司开发,为工业界提供分析和仿真的支持,也为学术界提供参考。开源代码/软件一般由学术机构或个人研究者发起,并将原始代码发布到开源代码托管平台如 Github 或 Bitbucket上,通过与其他学者进行讨论和分享代码来更新代码/软件。软件模块一般是通用的计算平台下的部分模块,专门用于多体动力学的分析和计算。物理引擎指对真实物理世界的模拟的计算库,虽然一般用于游戏和计算机图形学,但所用的理论也属于多体动力学。由于需要高效的实时仿真,物理引擎一般借用计算力学原理,对模型进行必要的简化,也对算法进行高度的优化。