Engee documentation

Nonlinear Rotational Spring

A rotary spring based on polynomial or tabular parameterization.

blockType: Engee1DMechanical.Elements.Rotational.NonlinearSpring

Path in the library:

/Physical Modeling/1D Mechanical/Couplings & Drives/Springs & Dampers/Nonlinear Rotational Spring

Description

Block Nonlinear Rotational Spring It is a rotating spring with a nonlinear dependence of the torque on the angular displacement. The amount of spring torque is an arbitrary function of angular displacement and does not necessarily have to satisfy Hooke’s law. You can parameterize the dependence of torque on displacement using a polynomial or a lookup table. The torque of the spring can be symmetrical or asymmetrical with respect to zero deformation.

The symmetric polynomial parameterization determines the torque of the spring according to the expression:

where:

  • — the torque of the spring;

  • — spring coefficients;

  • — relative angular displacement between ports R and C:

    where

    • — the initial deformation of the spring, at the beginning of the simulation ;

    • — absolute angular position of the port R;

    • — the absolute angular position of the port C.

To avoid zero crossings that slow down the simulation, eliminate the sign function from the polynomial expression by specifying an odd polynomial ( ).

The two-way polynomial parameterization determines the torque of the spring according to the expression:

where

  • — the coefficients of tension of the spring;

  • — compression ratios of the spring.

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, perform an approximation with a polynomial of order no higher than the fifth, or use parameterization according to the search table.

Parameterization with a table lookup determines the torque of the spring based on the specified torque and angular displacement vectors. If a point with zero angular velocity and zero moment is not included in the specified vectors, the block automatically adds it as a data point at the origin.

Ports

Conserving

# R — the slave port
rotational mechanics

Details

A non-directional rotary mechanical port connected to the driven end of the spring.

Program usage name

rod_flange

# C — base port
rotational mechanics

Details

A non-directional rotary mechanical port connected to the base end of the spring.

Program usage name

case_flange

Parameters

Parameters

# Parameterization — spring parameterization method
By polynomial | By table lookup

Details

Choose the type of spring parameterization: a polynomial or a search table.

Values

By polynomial | By table lookup

Default value

By polynomial

Program usage name

parameterization

Evaluatable

Yes

# Symmetry — symmetry of spring behavior

Details

The symmetry of the behavior of the spring relative to the point of zero deformation. If this option is selected, the block applies one polynomial symmetrically with respect to the zero deformation point. If this option is unchecked, the block applies unique polynomials for stretching and compressing.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By polynomial.

Default value

true (switched on)

Program usage name

symmetric_parameterization

Evaluatable

Yes

# Vector of spring coefficients — coefficients of a polynomial in symmetric deformation
HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Details

Spring elasticity coefficients for the polynomial dependence. The largest element of nonzero order must be positive. The vector should consist of 5 elements.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By polynomial and check the box Symmetry.

Units

HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Default value

[1.0, 0.0, 0.1, 0.0, 0.01] N*m/rad

Program usage name

stiffness_polinomial_coefficients_vector

Evaluatable

Yes

# Vector of spring tension coefficients — coefficients of the polynomial for spring tension
HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Details

Coefficients of the polynomial for spring tension. The largest element of nonzero order must be positive. The vector should consist of 5 elements.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By polynomial and uncheck the box Symmetry.

Units

HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Default value

[1.0, 0.0, 0.1, 0.0, 0.01] N*m/rad

Program usage name

tension_stiffness_polinomial_coefficients_vector

Evaluatable

Yes

# Vector of spring compression coefficients — coefficients of the polynomial for spring compression
HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Details

Coefficients of the polynomial for spring compression. The largest element of nonzero order must be positive. The vector should consist of 5 elements.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By polynomial and uncheck the box Symmetry.

Units

HP_DIN/rpm | N*m/rad | W*s/rad | m*mN/rad | HP_DIN*s/rad | ft*lbf/rad

Default value

[10.0, -0.1, 1.0, 0.0, 0.0] N*m/rad

Program usage name

compression_stiffness_polinomial_coefficients_vector

Evaluatable

Yes

# Deformation vector — relative angular offset for tabular parameterization
deg | rad | rev | mrad

Details

Relative angular displacement values for the corresponding torque values specified in the parameter Torque vector. This vector must have the same dimension as Torque vector.

The minimum number of vector elements depends on the chosen interpolation method. If for the parameter Interpolation method the value is set:

  • Linear, then the minimum number of elements of the vector is two.

  • Smooth, then the minimum number of elements of the vector is three.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By table lookup.

Units

deg | rad | rev | mrad

Default value

[-1.0, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 1.0] rad

Program usage name

delta_phi_vector

Evaluatable

Yes

# Torque vector — torque values for tabular parameterization
N*m | mN*m | lbf*ft

Details

The torque values for the corresponding angular displacements specified in the parameter Deformation vector. This vector must have the same dimension as Deformation vector. The minimum number of vector elements depends on the chosen interpolation method. If for the parameter Interpolation method the value is set:

  • Linear, then the minimum number of elements of the vector is two.

  • Smooth, then the minimum number of elements of the vector is three.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By table lookup.

Units

N*m | mN*m | lbf*ft

Default value

[-10.0, -4.0, -2.0, -0.5, 0.5, 2.0, 4.0, 10.0] N*m

Program usage name

T_vector

Evaluatable

Yes

# Interpolation method — the method of interpolation between the values of the reference points
Linear | Smooth

Details

The method used to interpolate between the reference points of the search table:

  • Linear — choose this value for the lowest computational cost;

  • Smooth — select this value to get a continuous curve with continuous first-order derivatives.

For more information about the search tables, see Methods for approximating function values.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By table lookup.

Values

Linear | Smooth

Default value

Linear

Program usage name

interpolation_method

Evaluatable

Yes

# Extrapolation method — extrapolation method for points outside the range specified by the reference points
Linear | Nearest | Error

Details

The method used to extrapolate breakpoints in the search table. This method determines the output value when the input value is 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 an 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 range of the table, the simulation stops and outputs an error.

Dependencies

To use this parameter, set for the parameter Parameterization meaning By table lookup.

Values

Linear | Nearest | Error

Default value

Linear

Program usage name

extrapolation_method

Evaluatable

Yes