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

This component extends from PartialCompliantWithRelativeStates

Usage ​

RotationalComponents.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 ​

phi_rel(t)=spline_b.phi(t)−spline_a.phi(t)spline_b.tau(t)=tau(t)spline_a.tau(t)=−tau(t)dphi_rel(t)dt=w_rel(t)dw_rel(t)dt=a_rel(t)tau_c(t)=c(−phi_rel0+phi_rel(t))tau_d(t)=dw_rel(t)tau(t)=tau_d(t)+tau_c(t)

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}) MarkdownAST.LineBreak()

\tau_d &= d w_{rel} MarkdownAST.LineBreak()

\tau &= \tau_c + \tau_d \end

"""
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}) MarkdownAST.LineBreak()

\tau_d &= d w_{rel} MarkdownAST.LineBreak()

\tau &= \tau_c + \tau_d \end

"""
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