modelTensionSpring

Linear translational tension-only spring with optional mass

Extends from Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames (Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected).

Information

Attribution Notice

This model is an extension of the Spring block in the Mechanics.MultiBody.Forces package of the Modelica Standard Library
Copyright © 1998-2016, Modelica Association and DLR.

Linear spring acting as line force between frame_a and frame_b. A force f is exerted on the origin of frame_b and with opposite sign on the origin of frame_a along the line from the origin of frame_a to the origin of frame_b according to the equation:

        f = c*(s - s_unstretched);
     

where "c" and "s_unstretched" are parameters and "s" is the distance between the origin of frame_a and the origin of frame_b.

This spring only exerts force when in tension.

Optionally, the mass of the spring is taken into account by a point mass located on the line between frame_a and frame_b (default: middle of the line). If the spring mass is zero, the additional equations to handle the mass are removed.

In the following figure a typical animation of the spring is shown. The blue sphere in the middle of the spring characterizes the location of the point mass.

model Examples.Elementary.SpringWithMass

Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
BooleanshowMassfalse= true, if point mass shall be visualized as sphere if animation=true and m>0
Booleanuse_eventstrue=true, if an event should be used to find changes in tension state
SI.TranslationalSpringConstantcSpring constant
SI.TranslationalDampingConstantd0Damping constant
SI.Lengths_unstretched0Unstretched spring length
Booleans_rel_fixedtrueFixed spring length at initialization?
Booleanv_rel_fixedtrueFixed spring length rate of change at initialization?
SI.Massm0Spring mass located on the connection line between the origin of frame_a and the origin of frame_b
ReallengthFraction0.5Location of spring mass with respect to frame_a as a fraction of the distance from frame_a to frame_b (=0: at frame_a; =1: at frame_b)
Animation › if animation = true
IntegernumberOfWindings5Number of spring windings
Advanced › If enabled, can give wrong results, see MultiBody.UsersGuide.Tutorial.ConnectionOfLineForces
BooleanfixedRotationAtFrame_afalse=true, if rotation frame_a.R is fixed (to directly connect line forces)
BooleanfixedRotationAtFrame_bfalse=true, if rotation frame_b.R is fixed (to directly connect line forces)

Connectors

TypeNameDefaultDescription
Interfaces.Frame_aframe_a (from PartialTwoFrames)Coordinate system a fixed to the component with one cut-force and cut-torque
Interfaces.Frame_bframe_b (from PartialTwoFrames)Coordinate system b fixed to the component with one cut-force and cut-torque

Components

TypeNameDefaultDescription
SI.Distancewidthworld.defaultForceWidthWidth of spring
SI.DistancecoilWidthwidth/10Width of spring coil
Types.ColorrelaxedColor{0, 255, 0}Color when spring is relaxed
Types.ColortensionedColor{255, 128, 0}Color when spring is in tension
Types.SpecularCoefficientspecularCoefficientworld.defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)
SI.DiametermassDiametermax(0, (width - 2*coilWidth)*0.9)Diameter of mass point sphere
Types.ColormassColorModelica.Mechanics.MultiBody.Types.Defaults.BodyColorColor of mass point
Forces.LineForceWithMasslineForce
Translational.TensionSpring1Dspring
Modelica.Mechanics.MultiBody.Visualizers.Advanced.ShapelineShape