Nonlinear Translational Spring
Page in progress. |
Progressive spring based on polynomial or tabular parameterization.
blockType: Engee1DMechanical.Elements.Translational.NonlinearSpring
Path in the library:
|
Description
The Nonlinear Translational Spring block is a spring with a non-linear dependence of the elastic force on the displacement. The magnitude of the elastic force is an arbitrary function of the displacement and does not have to satisfy Hooke’s law. You can parameterise the force-displacement relationship using a polynomial or lookup table. The elastic force can be symmetric or asymmetric with respect to zero strain.
A symmetric polynomial parameterization defines the elastic force according to the expression:
where
-
- is the elastic force of the spring;
-
- spring coefficients;
-
- relative displacement between ports R and C:
where
-
- is the initial offset, at the beginning of the simulation ;
-
- absolute position of port R;
-
- absolute position of port C.
-
To avoid zero crossings that slow down the simulation, exclude the sign function from the polynomial expression by specifying an odd polynomial ( ).
The two-way polynomial parameterization defines the elastic force according to the expression:
where
-
- spring stretching coefficients;
-
- spring compression coefficients.
Both polynomial parameterizations use a fifth order polynomial. To use a lower order polynomial, set the higher order coefficients to zero. For polynomials of order greater than five, approximate with a polynomial of order no higher than five, or use a look-up table parameterization.
The lookup table parameterization determines the elastic force based on the given displacement and force vectors. If a point with zero velocity and zero force is not included in the specified vectors, the block automatically adds it as a data point at the origin.
Ports
Conserving
#
R
—
slave port
translational mechanics
Details
A non-directional progressive mechanical port connected to the driven end of a spring.
Program usage name |
|
#
C
—
base port
translational mechanics
.
Details
A non-directional progressive mechanical port associated with the base end of a spring.
Program usage name |
|
Parameters
Main
#
Parameterization —
spring parameterization method
By polynomial
| By table lookup
Details
Select the type of spring parameterization: polynomial or look-up table.
Values |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
# Symmetry — spring behaviour symmetry
Details
Symmetry of spring behaviour with respect to the zero strain point. If this checkbox is checked, the block applies a single polynomial symmetrically about the zero strain point. If this checkbox is unchecked, the block applies unique polynomials for tension and compression.
Dependencies
To use this parameter, set the Parameterization parameters to . By polynomial
.
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Vector of spring coefficients —
polynomial coefficients at symmetric deformation
N/m
| lbf/ft
| lbf/in
Details
Spring elasticity coefficients for a polynomial relationship. The largest element of non-zero order must be positive. The vector must consist of 5 elements.
Dependencies
To use this parameter, set the Parameterization parameters to By polynomial
and tick the checkbox Symmetry.
Units |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Vector of spring tension coefficients —
polynomial coefficients for spring tension
N/m
| lbf/ft
| lbf/in
Details
Polynomial coefficients for stretching a spring. The vector must consist of 5 elements.
Dependencies
To use this parameter, set the Parameterization parameters to the value of By polynomial
and uncheck Symmetry.
Units |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Vector of spring compression coefficients —
polynomial coefficients for spring compression
N/m
| lbf/ft
| lbf/in
Details
The coefficients of the polynomial for spring compression. The vector must consist of 5 elements.
Dependencies
To use this parameter, set the Parameterization parameters to the value of By polynomial
and uncheck Symmetry.
Units |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Deformation vector —
relative offset for tabular parameterization
m
| cm
| ft
| in
| km
| mi
| mm
| um
| yd
Details
Relative displacement values for the corresponding values of the elastic forces given in the parameters Force vector. This vector must have the same dimensionality as Force vector.
The minimum number of elements of the vector depends on the chosen interpolation method. If the parameter Interpolation method is set to:
-
Linear
, then the minimum number of vector elements is two. -
`Smooth`If the parameter is set to: , then the minimum number of elements of the vector is three.
If you do not specify a reference point for the origin, the block will automatically add a reference point to the origin, i.e. at the intersection of zero displacement and zero force.
Dependencies
To use this parameter, set the Parameterization parameters to . By table lookup
.
Units |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Force vector —
force values for tabular parameterization
N
| kN
| lb
| mN
| dyn
| lbf
Details
Force values for the corresponding displacements given in the parameters Deformation vector. This vector must have the same dimensionality as Deformation vector. The minimum number of elements of the vector depends on the chosen interpolation method. If the parameter Interpolation method is set to:
-
Linear
, then the minimum number of vector elements is two. -
`Smooth`If the parameter is set to: , then the minimum number of elements of the vector is three.
If you do not specify a reference point for the origin, the block will automatically add a reference point to the origin, i.e. at the intersection of zero displacement and zero force.
Dependencies
To use this parameter, set the Parameterization parameters to . By table lookup
.
Units |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Interpolation method —
method of interpolation between the values of reference points
Linear
| Smooth
Details
The method used to interpolate between the reference points of the search table:
-
Linear
- select this value for the lowest computational cost; -
Smooth
- select this value to obtain a continuous curve with continuous first order derivatives.
For more information on lookup tables, see Methods of approximation of function values.
Dependencies
To use this parameter, set the Parameterization parameters to . By table lookup
.
Values |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |
#
Extrapolation method —
extrapolation method for points outside the range defined by the reference points
Linear
| Nearest
| Error
Details
A method used to extrapolate breakpoints in the lookup table. This method determines the output value when the input value falls outside the range specified in the argument list:
-
Linear
- select this value to obtain a curve with continuous first-order derivatives in the extrapolation region and on the boundary with the interpolation region. -
Nearest
- select this value to use extrapolation that does not rise above the largest value in the data or fall below the smallest value in the data. -
Error
- select this value to avoid extrapolation when you want the data to be within the range of the table. If the input signal is outside the table range, the simulation stops and displays an error.
Dependencies
To use this parameter, set the Parameterization parameters to By table lookup
.
Values |
|
Default value |
|
Program usage name |
|
Evaluatable |
Yes |