InertiaInertia Icon

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:

\[J \\cdot a = \text{spline\\_a}.\\tau + \text{spline\\_b}.\\tau\]

The kinematic relationships defining angular velocity and acceleration are:

\[w = \frac{d\\phi}{dt}\]

\[a = \frac{dw}{dt}\]

Both splines are rigidly attached to the inertia, meaning phi = spline_a.phi and phi = spline_b.phi.

This component extends from PartialTwoSplines

Usage

RotationalComponents.Inertia(J)

Parameters:

NameDescriptionUnitsDefault value
JMoment of inertia of the rotating bodykg.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

NameDescriptionUnits
phiAbsolute rotation angle of the inertiarad
wAbsolute angular velocity of the inertiarad/s
aAbsolute angular acceleration of the inertiarad/s2

Behavior

\[ \begin{align} \mathtt{phi}\left( t \right) &= \mathtt{spline\_a.phi}\left( t \right) \\ \mathtt{phi}\left( t \right) &= \mathtt{spline\_b.phi}\left( t \right) \\ \frac{\mathrm{d} \mathtt{phi}\left( t \right)}{\mathrm{d}t} &= w\left( t \right) \\ \frac{\mathrm{d} w\left( t \right)}{\mathrm{d}t} &= a\left( t \right) \\ J a\left( t \right) &= \mathtt{spline\_b.tau}\left( t \right) + \mathtt{spline\_a.tau}\left( t \right) \end{align} \]

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`.
"""</span>
<span class="hljs-keyword">component</span> Inertia
&nbsp;&nbsp;<span class="hljs-keyword">extends</span> <span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/RotationalComponents/types/PartialTwoSplines.html">PartialTwoSplines</a></span>
&nbsp;&nbsp;<span class="hljs-comment">"Moment of inertia of the rotating body"</span>
&nbsp;&nbsp;<span class="hljs-keyword">parameter</span> <span class="hljs-symbol">J</span>::<span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/Dyad/types/MomentOfInertia.html">MomentOfInertia</a></span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute rotation angle of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">phi</span>::<span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/Dyad/types/Angle.html">Angle</a></span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute angular velocity of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">w</span>::<span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/Dyad/types/AngularVelocity.html">AngularVelocity</a></span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute angular acceleration of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">a</span>::<span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/Dyad/types/AngularAcceleration.html">AngularAcceleration</a></span>
<span class="hljs-keyword">relations</span>
&nbsp;&nbsp;phi = spline_a.phi
&nbsp;&nbsp;phi = spline_b.phi
&nbsp;&nbsp;der(phi) = w
&nbsp;&nbsp;der(w) = a
&nbsp;&nbsp;J * a = spline_a.tau + spline_b.tau
<span class="hljs-keyword">metadata</span> {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Inertia.svg"}}}
<span class="hljs-keyword">end</span></code></pre>
Flattened 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`.
"""</span>
<span class="hljs-keyword">component</span> Inertia
&nbsp;&nbsp;<span class="hljs-comment">"First spline"</span>
&nbsp;&nbsp;<span class="hljs-symbol">spline_a</span> = <span>Spline</span>() {"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}
&nbsp;&nbsp;<span class="hljs-comment">"Second spline"</span>
&nbsp;&nbsp;<span class="hljs-symbol">spline_b</span> = <span>Spline</span>() {"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}
&nbsp;&nbsp;<span class="hljs-comment">"Moment of inertia of the rotating body"</span>
&nbsp;&nbsp;<span class="hljs-keyword">parameter</span> <span class="hljs-symbol">J</span>::<span>MomentOfInertia</span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute rotation angle of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">phi</span>::<span>Angle</span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute angular velocity of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">w</span>::<span>AngularVelocity</span>
&nbsp;&nbsp;<span class="hljs-comment">"Absolute angular acceleration of the inertia"</span>
&nbsp;&nbsp;<span class="hljs-keyword">variable</span> <span class="hljs-symbol">a</span>::<span>AngularAcceleration</span>
<span class="hljs-keyword">relations</span>
&nbsp;&nbsp;phi = spline_a.phi
&nbsp;&nbsp;phi = spline_b.phi
&nbsp;&nbsp;der(phi) = w
&nbsp;&nbsp;der(w) = a
&nbsp;&nbsp;J * a = spline_a.tau + spline_b.tau
<span class="hljs-keyword">metadata</span> {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Inertia.svg"}}}
<span class="hljs-keyword">end</span></code></pre>


Test Cases

No test cases defined.