Main Content

Translational spring based on polynomial or table lookup parameterizations

Simscape / Driveline / Couplings & Drives / Springs & Dampers

The block represents a translational spring with nonlinear force-displacement curve. The spring force magnitude is a general function of displacement. It need not satisfy Hooke’s law. Polynomial and table lookup parameterizations provide two ways to specify the force-displacement relationship. The spring force can be symmetric or asymmetric with respect to zero deformation.

The symmetric polynomial parameterization defines spring force according to the expression

$$F={k}_{1}x+sign(x)\cdot {k}_{2}{x}^{2}+{k}_{3}{x}^{3}+sign(x)\cdot {k}_{4}{x}^{4}+{k}_{5}{x}^{5},$$

where:

*F*— Spring force*k*_{1},*k*_{2}, ...,*k*_{5}— Spring coefficients*x*— Relative displacement between ports R and C, $$x={x}_{init}+{x}_{R}-{x}_{C}$$*x*_{init}— Initial relative displacement*x*_{R}— Absolute displacement associated with port R*x*_{C}— Absolute displacement associated with port C

At simulation start (t=0), *x*_{R} and
*x*_{C} are zero, making *x*
equal to *x*_{init}.

To avoid zero-crossings that slow simulation, eliminate the sign function from the
polynomial expression by specifying an odd polynomial (*b*_{2},*b*_{4}
= 0).

The asymmetric polynomial parameterization defines spring force according to the expression:

$$F=\{\begin{array}{cc}{k}_{1t}x+{k}_{2t}{x}^{2}+{k}_{3t}{x}^{3}+{k}_{4t}{x}^{4}+{k}_{5t}{x}^{5},& x\ge 0\\ {k}_{1c}x+{k}_{2c}{x}^{2}+{k}_{3c}{x}^{3}+{k}_{4c}{x}^{4}+{k}_{5c}{x}^{5},& x<0\end{array},$$

where:

*k*_{1},*k*_{2}, ...,*k*_{5}— Spring tension coefficients*k*_{1},*k*_{2}, ...,*k*_{5}— Spring compression coefficients

Both polynomial parameterizations use a fifth-order polynomial expression. To use a lower-order polynomial, set the unneeded higher-order coefficients to zero. To use a higher-order polynomial, fit to a lower-order polynomial or use the table lookup parameterization.

The table lookup parameterization defines damping torque based on a set of torque and angular velocity vectors. If not specified, the block automatically adds a data point at the origin (zero angular velocity and zero torque).

Use the **Variables** tab to set the priority
and initial target values for the block variables before simulating.
For more information, see Set Priority and Initial Target for Block Variables.

Unlike block parameters, variables do not have conditional visibility.
The **Variables** tab lists all the existing
block variables. If a variable is not used in the set of equations
corresponding to the selected block configuration, the values specified
for this variable are ignored.

`C`

Rotational conserving port

`R`

Rotational conserving port

**Parameterization**Select spring parameterization. Options are

`By polynomial`

and`By table lookup`

.