Torsional spring based on polynomial or lookup table parameterizations
The block represents a torsional spring with nonlinear torque-displacement curve. The spring torque magnitude is a general function of displacement. It need not satisfy Hooke's law. Polynomial and lookup-table parameterizations provide two ways to specify the torque-displacement relationship. The spring torque can be symmetric or asymmetric with respect to zero deformation.
The symmetric polynomial parameterization defines spring torque according to the expression:
T — Spring force
k1, k2, ...,k5 — Spring coefficients
θ — Relative displacement between ports R and C,
θinit — Initial spring deformation
θR — Absolute angular position of port R
θC — Absolute angular position of port C
At simulation start (t=0), θR and θC are zero, making θ equal to θinit.
Specifying an odd polynomial (b2,b4 = 0) eliminates the sign function from the polynomial expression. This avoids zero-crossings that slow down simulation.
The two-sided polynomial parameterization defines spring torque according to the expression:
k1t, k2t, ..., k5t — Spring tension coefficients
k1c, k2c, ..., k5c — 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 lookup table parameterization.
The lookup table parameterization defines spring 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).