Skip to content
SpringDamper.md

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 (τ∗c) is proportional to the angular displacement from an unstretched reference angle (ϕ∗rel0), defined by the spring constant (c). The damper torque (τ∗d) is proportional to the relative angular velocity (w∗rel), defined by the damping constant (d). The governing equations are:

τc=c(phirel−phirel0)τd=dwrelτ=τc+τd

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 spline_b and spline_arad
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 ​

julia
using RotationalComponents #hide
using ModelingToolkit #hide
@variables d #hide
@variables c #hide
@variables phi_rel0 #hide
@named sys = SpringDamper(d=d, c=c, phi_rel0=phi_rel0) #hide
full_equations(sys) #hide
<< @example-block not executed in draft mode >>

Source ​

dyad
# 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
dyad
# 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