Shock Absorber
The Shock Absorber is a damper entity designed to dissipate the energy stored in the suspension springs and damp the chassis motion.
The Shock Absorber force can be linear or non-linear reading the force versus velocity data from a table stored in a TeimOrbit format property file.
Parameters
- Damper Type
- The Shock Absorber can be a linear or non-linear type. When linear is selected, it enables the Damping Constant option and when non-linear is selected, it enables the Property File option.
- Damping Coefficient
- Damping coefficient value used when Shock Absorber is a linear type.
- Property File
- Shock Absorber properties stored in a TeimOrbit format property file containing a table of the force versus velocity.
- Use Rebound Stop
- Includes a Rebound Stop entity to limit the Shock Absorber component in rebound. The rebound stop is connected to the same bodies and points defined in the Shock Absorber. For more information, refer to the Rebound Stop documentation.
- Use Bump Stop
- Includes a Bump Stop entity to limit Shock Absorber component in jounce. The bump stop is connected to the same bodies and points defined in the Shock Absorber. For more information, refer to the Bump Stop documentation.
- Use Bushings
- Includes bushings at the top and bottom ends of the shock absorber. When this option
is not checked, Constant Velocity joints are used to connect the shock rod/tube with
the external attachments.
- Graphic
- Scale: The scale option enables the scaling of the bushing graphics.
- Bushing @ Body 1
- Enter the properties for the bushing that is used to connect the attachment Body 1 with the shock rod.
- Bushing @ Body 2
- Enter the properties for the bushing that is used to connect the attachment Body 2 with the shock tube.
For more information on bushing properties, refer the Bushings page.
- Scale
- The scale options enable the scaling of the force and spring height without the need to directly modify the property file.
- Graphics
- Two cylinder graphics represent the Shock Absorber rod and tube in MotionView. This parameter allows you to modify the Rod and Tube radius for the visualization purposes.
Connecting a Shock Absorber
-
From the guide bar, select the first body to
connect.
- Click Body 1 and select a
body from the modeling window.
OR
- Click the Body 1 Advanced Selector and select the required body from the dialog.
- Click Body 1 and select a
body from the modeling window.
- Similarly, select the second body to connect by clicking the Body 2 input collector.
-
Select a point and enter the location where the Shock Absorber connects to Body
1.
- Click Point on Body 1 and select a point from the
modeling window.
OR
- Click the Point on Body 1 Advanced Selector and select the required point from the dialog.
- Click Point on Body 1 and select a point from the
modeling window.
- Similarly, select the second point by clicking the Point 2 on Body 2 input collector.
-
Open the Shock Absorber Entity Editor to edit the
parameters.
Figure 1. Shock Absorber connectivity 
Property File for Shock Absorber
The Shock Absorber properties are stored in a TeimOrbit format property file. When the model is submitted to the solver, MotionSolve reads the property file for use during the simulation. If the units specified in property file differ from the model units, the solver converts the air spring properties to model units, however it leaves the property file unchanged.
The Shock Absorber property file contains header, units, and curve blocks. The units block specifies the length, mass, force, time, and angle units employed in the file. The curve block holds a table of velocity against force values for the damping force component, the data should be in ascending order.
$----------------------------------------------------------- HEADER
[HEADER]
FILE_TYPE = 'dpr'
FILE_VERSION = 4.0
FILE_FORMAT = 'ASCII'
$---------------------------------------------------------------------UNITS
[UNITS]
LENGTH = 'mm'
ANGLE = 'degrees'
FORCE = 'newton'
MASS = 'kg'
TIME = 'second'
$---------------------------------------------------------------------CURVE
[CURVE]
{ vel force}
-4916.935 -8.889
-1000.0 -3.0
-500.0 -1.5
-250.0 -0.75
-100.0 -0.3
0.0 0.0
100.0 0.3
250.0 0.75
500.0 1.5
1000.0 3.0
4914.298 9.0416Subroutine Definition
Input Parameters
The Shock Absorber subroutine is defined in the msautoutils.dll (.so) with sfosub function name.
Force subroutine input user string:
usrsub_param_str="USER(P1,P2,P3,P4)"| Parameter | Description |
|---|---|
P1
|
Branch Flag = 2; ensures the shock absorber force function |
P2 |
Shock Absorber property file name solver string ID (.dpr) |
P3 |
Force scale |
P4 |
Velocity scale |
Force Definition Block in the xml
<!-- MODEL.shockabsorber_0.frcDpr -->
<Force_Scalar_TwoBody
id = "30301"
label = "ShockAbsorber 0-damper"
type = "Force"
i_marker_id = "30302033"
j_marker_id = "30301014"
usrsub_param_string = "USER(2,303001,1,1)"
usrsub_dll_name = "msautoutils"
usrsub_fnc_name = "sfosub"
/>Outputs
The Shock Absorber outputs channels in the MotionSolve .plt and .abf files are summarized in the table below.
| Type | Component | Quantity |
|---|---|---|
| User Defined (.plt) REQSUB (.abf) |
ShockAbsorber - Damper Output | Length |
| Rate of change of length | ||
| Damper force | ||
| Direction Cosine - X | ||
| Direction Cosine - Y | ||
| Direction Cosine - Z |
Output Subroutine Definition
The Shock Absorber output subroutine is defined in the msautoutils.dll with FORCEREQ function name.
Output subroutine input user string:
usrsub_param_str="USER(P1,P2,P3)"| Parameter | Description |
|---|---|
| P1 | Branch Flag = 1 |
| P2 | Marker ID of body I |
| P3 | Marker ID of body J |
Output Definition Block in the xml
<!-- MODEL.shockabsorber_0.o_userFrcDamper -->
<Post_Request
id = "70000000"
label = "ShockAbsorber 0-Damper output"
comment = "ShockAbsorber 0-Damper output"
type = "USERSUB"
usrsub_param_string = "USER(1,30302033,30301014)"
usrsub_dll_name = "msautoutils"
usrsub_fnc_name = "FORCEREQ"
cname2 = "Length"
cname3 = "Rate of change of length"
cname4 = "Damper force"
cname6 = "Direction Cosine-X"
cname7 = "Direction Cosine-Y"
cname8 = "Direction Cosine-Z"
/>