Force: Spring Damper

Model ElementForce_SpringDamper defines a spring damper force acting between two Reference_Markers.

Description

The element can be translational (applies a force) or rotational (applies a torque). In both cases, the force is characterized by a stiffness coefficient, a damping coefficient, a free-length and a preload.

Format

<Force_SpringDamper
       id               = "integer"     
     [ label            = "string" ]       
       i_marker_id      = "integer"       
       j_marker_id      = "integer"       
       type             = { "TRANSLATIONAL" | "ROTATIONAL" }  
       stiffness        = "real"       
       damping          = "real"       
       length           = "real"       
       preload          = "real" >
</Force_SpringDamper>

Attributes

id
Element identification number (integer > 0). This number is unique among all Force_SpringDamper elements.
label
The name of the Force_SpringDamper element.
i_marker_id
Specifies the Reference_Marker at which the force or torque is applied. This is designated as the point of application of the force.
j_marker_id
Specifies the Reference_Marker at which the reaction force or torque is applied. This is designated as the point of application of the reaction force.
type
Specifies the type of Force_SpringDamper. Select from "TRANSLATIONAL" and "ROTATIONAL".
"TRANSLATIONAL"
Implies that the element applies a force between the two Reference_Markers. No torque is applied.
"ROTATIONAL"
Implies that the element applies a torque between the two Reference_Markers. No force is applied.
stiffness
Specifies the spring stiffness. For translational spring-dampers, this has units of force/unit translational deflection. For rotational spring-dampers, this has units of torque/radian. Note that stiffness0. A negative value is not allowed.
damping
Specifies the damping coefficient. For translational spring-dampers, this has units of force/unit translational deflection velocity. For rotational spring-dampers, this has units of torque/unit angular deflection velocity.
Note: damping0. A negative value is not allowed.
length
Specifies the free-length or the installed (reference) length of the spring.
Note: length > 0. A zero or negative value is not legal.
preload
Specifies any assembly or pre-load in the spring-damper. This is the force or torque when the distance or angle between the I and J markers is equal to the value specified by length.
A positive value implies a force that tends to increase the distance or a torque that tends to increase the angle (repulsive), and vice versa.

Example

The first example shows how to model a translational spring damper.

Assume a spherical steel ball of radius 0.0313m (approximately 3 cm) is suspended from the ceiling by a spring damper. The ball has a mass of 1 Kg, and inertia Ixx=Iyy=Izz=4.89E-4 Kg.m2. The spring properties are as follows:
  • Stiffness = 1200 N/m.
  • Damping = 40 Ns/m.
  • Free Length = 0.5m.
  • Pre-load = 300 N.

The ball is pushed vertically up until its attachment to the spring is at a distance of 0.4m from the ceiling. The ball is then let loose, and it starts oscillating. The model is shown schematically in Figure 1. Also shown are sample results for the oscillatory motion of the ball.



Figure 1. A simple translational spring damper system and its response

The Force_SpringDamper modeling element for this scenario is:

< Force_SpringDamper
     id                   = "18"
     i_marker_id          = "22"
     j_marker_id          = "11"
     type                 = "TRANSLATIONAL"
     stiffness            = "1200"
     damping              = "10"
     length               = "0.5"
     preload              = "300" >
</ Force_ SpringDamper >

The image below illustrates the use of a rotational spring damper that acts on the second revolute joint of a two link (double) pendulum. An initial angular velocity of 40 rads/sec sets the system in motion. The spring-damper parameters are shown in the image. The plot shows the torque generated by the spring-damper.



Figure 2. A rotational spring damper system and its response

The rotational spring-damper definition for this model is:

<Force_SpringDamper
     id                   = "18"
     i_marker_id          = "1029"
     j_marker_id          = "1039"
     type                 = "ROTATIONAL"
     stiffness            = "500"
     damping              = "50"
     length               = "0.3"
     preload              = "0." >
</ Force_SpringDamper >

Comments

  1. The sign convention used for Force_SpringDamper (and all other forces) is as follows:
    • A positive force or torque is repulsive. It tends to increase the distance or the angle between the I and J Reference_Markers. A negative force, consequently, is an attractive force.
    • Angles are measured counter clockwise, from the X-axis of the J Reference_Marker to the X-axis of the I Reference_Maker. See the image below. α is the measured angle.


    Figure 3. The convention used for measuring angles
  2. The image below shows a Force_SpringDamper acting between two bodies. The behavior of a rotational Force_SpringDamper is similar; the only difference is that it acts on the relative rotation of the two bodies about a shared axis.


    Figure 4. Force law for a translational spring-damper
  3. For translational spring-dampers, the force direction becomes undefined if the spring length becomes zero at any time during the simulation. This corresponds to the origins of the I and J Reference_Markers being superposed, and the spring compressing to zero volume. This is not physically realistic and must be avoided.
  4. If you want to implement a nonlinear force characteristic, use the Force_Scalar_TwoBody modeling element.
  5. Force_SpringDamper can act on all types of bodies: Body_Rigid, Body_Flexible, and Body_Point.