Inertia
A 1D-rotational component with inertia, subject to torques from two splines.
This component represents a rigid body with a moment of inertia J that can rotate in one dimension. It connects to other components via two rotational splines, spline_a and spline_b (inherited from PartialTwoSplines). The absolute rotation angle of the inertia is phi, its angular velocity is w, and its angular acceleration is a. The core dynamic behavior is defined by Newton's second law for rotation:
The kinematic relationships defining angular velocity and acceleration are:
Both splines are rigidly attached to the inertia, meaning phi = spline_a.phi and phi = spline_b.phi.
This component extends from PartialTwoSplines
Usage
Inertia(J)
Parameters:
| Name | Description | Units | Default value |
|---|---|---|---|
J | Moment of inertia of the rotating body | kg.m2 |
Connectors
spline_a- This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline)spline_b- This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline)
Variables
| Name | Description | Units |
|---|---|---|
phi | Absolute rotation angle of the inertia | rad |
w | Absolute angular velocity of the inertia | rad/s |
a | Absolute angular acceleration of the inertia | rad/s2 |
Behavior
Source
# A 1D-rotational component with inertia, subject to torques from two splines.
#
# This component represents a rigid body with a moment of inertia `J` that can rotate in one dimension.
# It connects to other components via two rotational splines, `spline_a` and `spline_b` (inherited from `PartialTwoSplines`).
# The absolute rotation angle of the inertia is `phi`, its angular velocity is `w`,
# and its angular acceleration is `a`.
# The core dynamic behavior is defined by Newton's second law for rotation:
# ```math
# J \\cdot a = \text{spline\\_a}.\\tau + \text{spline\\_b}.\\tau
# ```
# The kinematic relationships defining angular velocity and acceleration are:
# ```math
# w = \frac{d\\phi}{dt}
# ```
# ```math
# a = \frac{dw}{dt}
# ```
# Both splines are rigidly attached to the inertia, meaning `phi = spline_a.phi` and `phi = spline_b.phi`.
component Inertia
extends PartialTwoSplines
# Moment of inertia of the rotating body
parameter J::MomentOfInertia
# Absolute rotation angle of the inertia
variable phi::Angle
# Absolute angular velocity of the inertia
variable w::AngularVelocity
# Absolute angular acceleration of the inertia
variable a::AngularAcceleration
relations
phi = spline_a.phi
phi = spline_b.phi
der(phi) = w
der(w) = a
J * a = spline_a.tau + spline_b.tau
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Inertia.svg"}}}
endFlattened Source
# A 1D-rotational component with inertia, subject to torques from two splines.
#
# This component represents a rigid body with a moment of inertia `J` that can rotate in one dimension.
# It connects to other components via two rotational splines, `spline_a` and `spline_b` (inherited from `PartialTwoSplines`).
# The absolute rotation angle of the inertia is `phi`, its angular velocity is `w`,
# and its angular acceleration is `a`.
# The core dynamic behavior is defined by Newton's second law for rotation:
# ```math
# J \\cdot a = \text{spline\\_a}.\\tau + \text{spline\\_b}.\\tau
# ```
# The kinematic relationships defining angular velocity and acceleration are:
# ```math
# w = \frac{d\\phi}{dt}
# ```
# ```math
# a = \frac{dw}{dt}
# ```
# Both splines are rigidly attached to the inertia, meaning `phi = spline_a.phi` and `phi = spline_b.phi`.
component Inertia
# First spline
spline_a = Spline() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
# Second spline
spline_b = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Moment of inertia of the rotating body
parameter J::MomentOfInertia
# Absolute rotation angle of the inertia
variable phi::Angle
# Absolute angular velocity of the inertia
variable w::AngularVelocity
# Absolute angular acceleration of the inertia
variable a::AngularAcceleration
relations
phi = spline_a.phi
phi = spline_b.phi
der(phi) = w
der(w) = a
J * a = spline_a.tau + spline_b.tau
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Inertia.svg"}}}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses
Tests