STEM 隨筆︰古典力學︰運動學【二.六】

一路跟隨 PyDy tutorial-human-standing 範例文本之腳步,來到了『轉動慣量』的部份︰

An overview of rigid body dynamics

 Each particle or rigid body has interial properties. We will assume that these properties are constant with respect to time. Each particle in a system has a scalar mass and each rigid body has a scalar mass located at it’s center of mass and an inertia dyadic (or tensor) that represents how that mass is distributed in space, which is typically defined with respect to the center of mass.

Just as we do with vectors above, we will use a basis dependent expression of tensors. The inertia of a 3D rigid body is typically expressed as a tensor (symmetric 3 x 3 matrix).

I = \begin{bmatrix} I_{xx} & I_{xy} & I_{xz} \\ I_{xy} & I_{yy} & I_{yz} \\ I_{xz} & I_{yz} & I_{zz} \end{bmatrix}_N

We can write this tensor as a dyadic to allow for easy combinations of inertia tensors expressed in different frames, just like we combine vectors expressed in different frames above. This basis dependent tensor takes the form:The three terms on the diagnol are the moments of inertia and represent the resistance to angular acceleration about the respective axis in the subscript. The off diagonal terms are the products of inertia and represent the coupled resistance to angular acceleration from one axis to another. The NN subscript denotes that this tensor is expressed in the NN reference frame.

I = I_{xx} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}_N + I_{xy} \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}_N + I_{xz} \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}_N + I_{yx} \begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}_N + I_{yy} \begin{bmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix}_N + I_{yz} \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix}_N + \\ I_{zx} \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix}_N + I_{zy} \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}_N + I_{zz} \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}_N

These “unit” tensors are simply the outer product of the associated unit vectors and can be written as such:

I = I_{xx} \u{n}_x \otimes \u{n}_x + I_{xy} \u{n}_x \otimes \u{n}_y + I_{xz} \u{n}_x \otimes \u{n}_z + I_{yx} \u{n}_y \otimes \u{n}_x + I_{yy} \u{n}_y \otimes \u{n}_y + I_{yz} \u{n}_y \otimes \u{n}_z + I_{zx} \u{n}_z \otimes \u{n}_x + I_{zy} \u{n}_z \otimes \u{n}_y + I_{zz} \u{n}_z \otimes \u{n}_z

 

※ 參考

Moment of inertia

The moment of inertia, otherwise known as the angular mass or rotational inertia, of a rigid body is a tensor that determines the torque needed for a desired angular acceleration about a rotational axis. It depends on the body’s mass distribution and the axis chosen, with larger moments requiring more torque to change the body’s rotation. It is an extensive (additive) property: For a point mass the moment of inertia is just the mass times the square of perpendicular distance to the rotation axis. The moment of inertia of a rigid composite system is the sum of the moments of inertia of its component subsystems (all taken about the same axis). One of its definitions is the second moment of mass with respect to distance from an axis r, \displaystyle I=\int _{Q}r^{2}\mathrm {d} m, integrating over the entire mass \displaystyle Q.

For bodies constrained to rotate in a plane, it is sufficient to consider their moment of inertia about an axis perpendicular to the plane. For bodies free to rotate in three dimensions, their moments can be described by a symmetric 3 × 3 matrix; each body has a set of mutually perpendicular principal axes for which this matrix is diagonal and torques around the axes act independently of each other.

Tightrope walkers use the moment of inertia of a long rod for balance as they walk the rope. Samuel Dixon crossing the Niagara River in 1890.

 

進入之前,請先確定 SymPy 版本夠新︰

Potential Issues/Advanced Topics/Future Features in Physics/Vector Module

This document will describe some of the more advanced functionality that this module offers but which is not part of the “official” interface. Here, some of the features that will be implemented in the future will also be covered, along with unanswered questions about proper functionality. Also, common problems will be discussed, along with some solutions.

Inertia (Dyadics)

A dyadic tensor is a second order tensor formed by the juxtaposition of a pair of vectors. There are various operations defined with respect to dyadics, which have been implemented in vectorin the form of class Dyadic. To know more, refer to the Dyadic and Vector class APIs. Dyadics are used to define the inertia of bodies within mechanics. Inertia dyadics can be defined explicitly but theinertia function is typically much more convenient for the user:

>>> from sympy.physics.mechanics import ReferenceFrame, inertia
>>> N = ReferenceFrame('N')

Supply a reference frame and the moments of inertia if the object
is symmetrical:

>>> inertia(N, 1, 2, 3)
(N.x|N.x) + 2*(N.y|N.y) + 3*(N.z|N.z)

Supply a reference frame along with the products and moments of inertia
for a general object:

>>> inertia(N, 1, 2, 3, 4, 5, 6)
(N.x|N.x) + 4*(N.x|N.y) + 6*(N.x|N.z) + 4*(N.y|N.x) + 2*(N.y|N.y) + 5*(N.y|N.z) + 6*(N.z|N.x) + 5*(N.z|N.y) + 3*(N.z|N.z)

Notice that the inertia function returns a dyadic with each component represented as two unit vectors separated by a |. Refer to the Dyadic section for more information about dyadics.

Inertia is often expressed in a matrix, or tensor, form, especially for numerical purposes. Since the matrix form does not contain any information about the reference frame(s) the inertia dyadic is defined in, you must provide one or two reference frames to extract the measure numbers from the dyadic. There is a convenience function to do this:

>>> inertia(N, 1, 2, 3, 4, 5, 6).to_matrix(N)
Matrix([
[1, 4, 6],
[4, 2, 5],
[6, 5, 3]])

 

 

接著展開『Dyadics』之旅。