经典力学#

矢量#

本模块从 sympy.physics.vector . 请看一下 sympy.physics.vector 以及它所必需的API来理解 sympy.physics.mechanics .

机械#

在物理学中,力学描述静止(静力学)或运动(动力学)的条件。所有力学问题都有几个常见的步骤。首先,描述了一个系统的理想表示。接下来,我们使用物理定律来生成定义系统行为的方程。然后,我们解这些方程,有时是解析的,但通常是数值的。最后,我们从这些方程和解中提取信息。该模块当前的范围是多体动力学:多粒子和/或刚体系统的运动。例如,这个模块可以用来理解双摆,行星,机械手,自行车和任何其他可能吸引我们的刚体系统的运动。

通常,多体动力学的目标是获得刚体系统在时间上的轨迹。这项任务的挑战是首先建立系统的运动方程。一旦形成,就必须加以解决,即及时整合。当数字计算机出现的时候,解决问题就变得很容易了。现在,我们可以解决更复杂的问题,这就剩下了公式化的挑战。

“运动方程”一词用来描述牛顿第二定律在多体系统中的应用。运动方程的形式取决于生成它们的方法。这个包实现了其中的两种方法:凯恩方法和拉格朗日方法。本模块有助于运动方程的制定,然后可以使用通用常微分方程(ODE)解算器对其进行求解(集成)。

对于一类特殊的动力学问题,即前向动力学问题,其方法包括以下步骤:

  1. 描述系统的几何结构和配置,

  2. 指定系统的移动方式,包括对其运动的约束

  3. 描述系统上的外力和力矩,

  4. 根据牛顿第二定律综合上述信息 (\(\mathbf{{F}}=m\mathbf{{a}}\)

  5. 将得到的方程组组织起来,这样就可以积分得到系统在时间上的轨迹。

Together with the rest of SymPy, this module performs steps 4 and 5, provided that the user can perform 1 through 3 for the module. That is to say, the user must provide a complete representation of the free body diagrams that themselves represent the system, with which this code can provide equations of motion in a form amenable to numerical integration. Step 5 above amounts to arduous algebra for even fairly simple multi-body systems. Thus, it is desirable to use a symbolic math package, such as SymPy, to perform this step. It is for this reason that this module is a part of SymPy. Step 4 amounts to this specific module, sympy.physics.mechanics.

力学指南#