经典力学¶
In this documentation many components of the physics/mechanics will be discussed.
sympy.physics.mechanics
has been written to allow for creation of
symbolic equations of motion for complicated multibody systems.
向量¶
This explanation derives the vector-related abilities and related functionalities
from sympy.physics.vector
. Please have a look at the documentation of
sympy.physics.vector
and its necessary explanation to understand the vector capabilities
of sympy.physics.mechanics
.
力学¶
在物理学中,力学描述静止(静力学)或运动(动力学)的条件。所有力学问题都有几个常见的步骤。首先,描述系统的理想化表示。接下来,我们使用物理定律生成定义系统行为的方程。然后,我们求解这些方程,有时是解析地,但通常是数值地。最后,我们从这些方程和解中提取信息。当前解释的范围是多体动力学:多个粒子和/或刚体系统的运动。例如,这个解释可以用来理解双摆、行星、机器人操纵器、自行车以及任何其他可能让我们着迷的刚体系统的运动。
通常,多体动力学中的目标是获得一组刚体随时间变化的轨迹。这项任务的挑战在于首先建立系统的运动方程。一旦方程建立,就必须求解,即在时间上向前积分。当数字计算机出现后,求解问题变得相对容易。现在,我们可以处理更复杂的问题,这使得建立方程成为新的挑战。
术语“运动方程”用于描述将牛顿第二定律应用于多体系统的应用。运动方程的形式取决于生成它们所使用的方法。此包实现了两种方法:Kane方法和拉格朗日方法。此解释有助于运动方程的制定,然后可以使用通用的常微分方程(ODE)求解器进行求解(积分)。
解决一类特定动力学问题的方法,即正向动力学,包括以下步骤:
描述系统的几何形状和配置,
指定系统可以移动的方式,包括对其运动的约束
描述作用在系统上的外力和外力矩,
根据牛顿第二定律 (\(\mathbf{F}=m\mathbf{a}\)) 结合上述信息,
组织生成的方程,以便它们可以被积分以获得系统随时间的轨迹。
与 SymPy 的其他部分一起,这个解释执行步骤 4 和 5,前提是用户能够为解释执行 1 到 3 步。也就是说,用户必须提供一个完整的自由体图表示,这些图本身代表系统,这个代码可以提供适合数值积分的运动方程形式。上述步骤 5 对于即使是相当简单的多体系统来说,也涉及繁琐的代数运算。因此,使用符号数学包(如 SymPy)来执行此步骤是可取的。正是出于这个原因,这个解释是 SymPy 的一部分。步骤 4 相当于这个特定的解释,即 sympy.physics.mechanics。