$(instance)SpringDamper Icon

SpringDamper

Models a linear 1D rotational spring and damper acting in parallel.

This component represents a parallel combination of a linear rotational spring and a linear rotational damper. It calculates the total torque based on the relative angular displacement and velocity between its mechanical connection flanges. The spring torque ($\tauc$) is proportional to the angular displacement from an unstretched reference angle ($\phi{rel0}$), defined by the spring constant ($c$). The damper torque ($\taud$) is proportional to the relative angular velocity ($w{rel}$), defined by the damping constant ($d$). The governing equations are:

\[\begin{align*} \tau_c &= c (\\phi_{rel} - \\phi_{rel0}) \\ \tau_d &= d w_{rel} \\ \tau &= \tau_c + \tau_d \end{align*}\]

PartialCompliantWithRelativeStates

Usage

SpringDamper(d, c, phi_rel0=0.0)

Parameters:

NameDescriptionUnitsDefault value
dDamping constant of the rotational damperN.m.s/rad
cSpring constant of the rotational springN.m/rad
phi_rel0Unstretched (zero torque) relative angle of the springrad0

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
phi_relRelative rotation angle between splineb and splinearad
tauTorque transmitted between the splinesN.m
w_relRelative angular velocity between splinesrad/s
a_relRelative angular acceleration between splinesrad/s2
tau_cSpring torque contributionN.m
tau_dDamper torque contributionN.m

Behavior

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

Source

# Models a linear 1D rotational spring and damper acting in parallel.
#
# This component represents a parallel combination of a linear rotational spring and a linear rotational damper. It calculates the total torque based on the relative angular displacement and velocity between its mechanical connection flanges.
# The spring torque (\$\tau_c\$) is proportional to the angular displacement from an unstretched reference angle (\$\\phi_{rel0}\$), defined by the spring constant (\$c\$).
# The damper torque (\$\tau_d\$) is proportional to the relative angular velocity (\$w_{rel}\$), defined by the damping constant (\$d\$).
# The governing equations are:
# ```math
# \begin{align*}
# \tau_c &= c (\\phi_{rel} - \\phi_{rel0}) \\
# \tau_d &= d w_{rel} \\
# \tau &= \tau_c + \tau_d
# \end{align*}
# ```
component SpringDamper
  extends PartialCompliantWithRelativeStates
  # Spring torque contribution
  variable tau_c::Torque
  # Damper torque contribution
  variable tau_d::Torque
  # Damping constant of the rotational damper
  parameter d::RotationalDampingConstant
  # Spring constant of the rotational spring
  parameter c::RotationalSpringConstant
  # Unstretched (zero torque) relative angle of the spring
  parameter phi_rel0::Angle = 0.0
relations
  tau_c = c*(phi_rel-phi_rel0)
  tau_d = d*w_rel
  tau = tau_c+tau_d
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/SpringDamper.svg"}}}
end
Flattened Source
# Models a linear 1D rotational spring and damper acting in parallel.
#
# This component represents a parallel combination of a linear rotational spring and a linear rotational damper. It calculates the total torque based on the relative angular displacement and velocity between its mechanical connection flanges.
# The spring torque (\$\tau_c\$) is proportional to the angular displacement from an unstretched reference angle (\$\\phi_{rel0}\$), defined by the spring constant (\$c\$).
# The damper torque (\$\tau_d\$) is proportional to the relative angular velocity (\$w_{rel}\$), defined by the damping constant (\$d\$).
# The governing equations are:
# ```math
# \begin{align*}
# \tau_c &= c (\\phi_{rel} - \\phi_{rel0}) \\
# \tau_d &= d w_{rel} \\
# \tau &= \tau_c + \tau_d
# \end{align*}
# ```
component SpringDamper
  # First rotational spline interface
  spline_a = Spline() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
  # Second rotational spline interface
  spline_b = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
  # Relative rotation angle between spline_b and spline_a
  variable phi_rel::Angle
  # Torque transmitted between the splines
  variable tau::Torque
  # Relative angular velocity between splines
  variable w_rel::AngularVelocity
  # Relative angular acceleration between splines
  variable a_rel::AngularAcceleration
  # Spring torque contribution
  variable tau_c::Torque
  # Damper torque contribution
  variable tau_d::Torque
  # Damping constant of the rotational damper
  parameter d::RotationalDampingConstant
  # Spring constant of the rotational spring
  parameter c::RotationalSpringConstant
  # Unstretched (zero torque) relative angle of the spring
  parameter phi_rel0::Angle = 0.0
relations
  phi_rel = spline_b.phi-spline_a.phi
  spline_b.tau = tau
  spline_a.tau = -tau
  der(phi_rel) = w_rel
  der(w_rel) = a_rel
  tau_c = c*(phi_rel-phi_rel0)
  tau_d = d*w_rel
  tau = tau_c+tau_d
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/SpringDamper.svg"}}}
end


Test Cases

No test cases defined.

  • Examples
  • Experiments
  • Analyses