a_ref$(instance)AccelerationSource Icon

AccelerationSource

Defines the forced angular movement of a spline based on an input acceleration signal.

This component models a rotational element where the angular acceleration of a spline, relative to its support, is directly driven by an external input signal, a_ref. It calculates the relative angle phi between the spline and its support. The relative angular velocity w and angular acceleration a are then determined as the time derivatives of phi:

w=dphidtw = \frac{d\\phi}{dt}

a=dwdt=d2phidt2a = \frac{dw}{dt} = \frac{d^2\\phi}{dt^2}

The primary function of this component is to ensure that the calculated relative angular acceleration a of the spline equates to the provided input signal a_ref:

a=arefa = a_{ref}

This makes the component act as a source of prescribed acceleration for the spline's motion relative to its support.

PartialElementaryOneSplineAndSupport

Usage

AccelerationSource()

Connectors

  • spline - This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline)
  • support - This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline)
  • a_ref - This connector represents a real signal as an input to a component (RealInput)

Variables

NameDescriptionUnits
phi_supportAbsolute angle of the support splinerad
phiRotation angle of spline with respect to supportrad
wAngular velocity of spline with respect to supportrad/s
aAngular acceleration of spline with respect to supportrad/s2

Behavior

support.phi(t)=phi_support(t)support.tau(t)=spline.tau(t)phi(t)=spline.phi(t)phi_support(t)w(t)=dphi(t)dta(t)=dw(t)dta(t)=a_ref(t) \begin{align} \mathtt{support.phi}\left( t \right) &= \mathtt{phi\_support}\left( t \right) \\ \mathtt{support.tau}\left( t \right) &= - \mathtt{spline.tau}\left( t \right) \\ \mathtt{phi}\left( t \right) &= \mathtt{spline.phi}\left( t \right) - \mathtt{phi\_support}\left( t \right) \\ w\left( t \right) &= \frac{\mathrm{d} \mathtt{phi}\left( t \right)}{\mathrm{d}t} \\ a\left( t \right) &= \frac{\mathrm{d} w\left( t \right)}{\mathrm{d}t} \\ a\left( t \right) &= \mathtt{a\_ref}\left( t \right) \end{align}

Source

# Defines the forced angular movement of a spline based on an input acceleration signal.
#
# This component models a rotational element where the angular acceleration of a spline, relative to its support, is directly driven by an external input signal, `a_ref`.
# It calculates the relative angle `phi` between the spline and its support. The relative angular velocity `w` and angular acceleration `a` are then determined as the time derivatives of `phi`:
# ```math
# w = \frac{d\\phi}{dt}
# ```
# ```math
# a = \frac{dw}{dt} = \frac{d^2\\phi}{dt^2}
# ```
# The primary function of this component is to ensure that the calculated relative angular acceleration `a` of the spline equates to the provided input signal `a_ref`:
# ```math
# a = a_{ref}
# ```
# This makes the component act as a source of prescribed acceleration for the spline's motion relative to its support.
component AccelerationSource
  extends PartialElementaryOneSplineAndSupport
  # Absolute angular acceleration of spline with respect to support as input signal
  a_ref = RealInput() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
  # Rotation angle of spline with respect to support
  variable phi::Angle
  # Angular velocity of spline with respect to support
  variable w::AngularVelocity
  # Angular acceleration of spline with respect to support
  variable a::AngularAcceleration
relations
  phi = spline.phi-phi_support
  w = der(phi)
  a = der(w)
  a = a_ref
metadata {
  "Dyad": {"icons": {"default": "dyad://RotationalComponents/Pos-Speed-Acc-Move.svg"}}
}
end
Flattened Source
# Defines the forced angular movement of a spline based on an input acceleration signal.
#
# This component models a rotational element where the angular acceleration of a spline, relative to its support, is directly driven by an external input signal, `a_ref`.
# It calculates the relative angle `phi` between the spline and its support. The relative angular velocity `w` and angular acceleration `a` are then determined as the time derivatives of `phi`:
# ```math
# w = \frac{d\\phi}{dt}
# ```
# ```math
# a = \frac{dw}{dt} = \frac{d^2\\phi}{dt^2}
# ```
# The primary function of this component is to ensure that the calculated relative angular acceleration `a` of the spline equates to the provided input signal `a_ref`:
# ```math
# a = a_{ref}
# ```
# This makes the component act as a source of prescribed acceleration for the spline's motion relative to its support.
component AccelerationSource
  # Primary rotational shaft spline connector
  spline = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
  # Support spline connector
  support = Spline() [{
    "Dyad": {
      "placement": {"icon": {"iconName": "support", "x1": 450, "y1": 950, "x2": 550, "y2": 1050}}
    }
  }]
  # Absolute angle of the support spline
  variable phi_support::Angle
  # Absolute angular acceleration of spline with respect to support as input signal
  a_ref = RealInput() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
  # Rotation angle of spline with respect to support
  variable phi::Angle
  # Angular velocity of spline with respect to support
  variable w::AngularVelocity
  # Angular acceleration of spline with respect to support
  variable a::AngularAcceleration
relations
  support.phi = phi_support
  support.tau = -spline.tau
  phi = spline.phi-phi_support
  w = der(phi)
  a = der(w)
  a = a_ref
metadata {
  "Dyad": {"icons": {"default": "dyad://RotationalComponents/Pos-Speed-Acc-Move.svg"}}
}
end


Test Cases

No test cases defined.

  • Examples
  • Experiments
  • Analyses