modelBarrierSpring
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.
Non-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.
This spring only exerts force when in compression. The force exerted increases exponentially as the spring length gets smaller, to prevent contact between frame_a and frame_b.
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.
Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.TranslationalSpringConstant | c | Spring constant | |
| SI.TranslationalDampingConstant | d | 0 | Damping constant |
| SI.Length | s_unstretched | 0 | Unstretched spring length |
| Real | normal | {0, 1, 0} | Direction of barrier normal relative to frame_a |
| Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB | resolveInFrame | Modelica.Mechanics.MultiBody.Types.ResolveInFrameAB.frame_a | Frame in which input force is resolved (1: world, 2: frame_a, 3: frame_b, 4: frame_resolve) |
| Advanced | |||
| SI.Position | s_small | 0.0000000001 | Prevent zero-division if distance between frame_a and frame_b is zero |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Frame_a | frame_a (from PartialTwoFrames) | Coordinate system a fixed to the component with one cut-force and cut-torque | |
| Interfaces.Frame_b | frame_b (from PartialTwoFrames) | Coordinate system b fixed to the component with one cut-force and cut-torque | |
| Interfaces.Frame_resolve | frame_resolve | The input signals are optionally resolved in this frame |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Mechanics.MultiBody.Forces.Force | force1 | ||
| Modelica.Blocks.Sources.RealExpression | const | ||
| SI.Position | length | Distance between the origin of frame_a and the origin of frame_b | |
| SI.Position[3] | r_rel_0 | Position vector from frame_a to frame_b resolved in world frame | |
| Real | vec | ||
| Real | f | ||
| Boolean | compression | =true, if in compression, otherwise in tension | |
| Modelica.SIunits.Force | f_d | Damping force |