# Variable Translational Spring

Translational spring with variable spring stiffness

**Libraries:**

Simscape /
Driveline /
Couplings & Drives /
Springs & Dampers

## Description

The Variable Translational Spring block represents a translational spring with variable stiffness. A physical signal input port provides the variable spring stiffness. The magnitude of the spring force is equal to the product of the physical signal input and the relative linear displacement between the two translational conserving ports. A minimum spring rate prevents nonphysical values.

The translational spring force satisfies the following expression:

$$F=\{\begin{array}{cc}K\cdot x,& K\ge {K}_{\mathrm{min}}\\ {K}_{\mathrm{min}}\cdot x,& K<{K}_{\mathrm{min}}\end{array}$$

where:

*F*is the force transmitted through the spring between the two translational conserving ports.*K*is the spring rate coefficient.*K*is the minimum allowed spring rate._{min}*x*is the relative displacement between the two translational conserving ports according to $$x={x}_{init}+{x}_{R}-{x}_{C}$$.*x*is the initial spring deformation._{init}*x*is the absolute displacement of the translational conserving port_{R}**R**.*x*is the absolute displacement of the translational conserving port_{C}**C**.

The block applies equal and opposite spring forces on the two translational conserving
ports. The sign of the spring force acting on port **R** is equal to
the sign of the relative linear displacement between the two ports. A positive linear
velocity corresponds to a positive spring force acting on port **R**,
and a negative spring force of equal magnitude acting on port
**C**.

### Assumptions and Limitations

The block limits the value of the variable spring stiffness to remain above zero.

### Variables

To set the priority and initial target values for the block variables prior to simulation,
use the **Initial Targets** section in the block dialog box or Property
Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model.
Using system scaling based on nominal values increases the simulation robustness. Nominal
values can come from different sources, one of which is the **Nominal
Values** section in the block dialog box or Property Inspector. For more
information, see Modify Nominal Values for a Block Variable.

## Examples

## Ports

### Input

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2013a**