MDO does not have nonlinear spring.
Also, relations are not linked/updated to measures during analysis. (limited usage)
The proper way is with a force/torque motor with the math necessary.
This is linear spring example. You should be able to apply similarly to torsion spring.
Setup measures: Lengthofspring(L), Velocityofspringjoint(VelX)
user defined measures:
FreeLength(FreeL) = 5.0 (just a number to capture the free length)
Sign = ((FreeL-L)*VelX)/abs(((FreeL-L)*VelX))
Make force/torque Motor with primary variable Sign.
Set domain for sign positive and one for negative.
Each with force based on spring length
(L-FreeL) * 30 Domain(-1.0 <= Sign < 0.0)
(L-FreeL) * 20 Domain(0.0 <= Sign <= 1.0)
Note: The signs of measures matter, check simulation and reverse Rate1 Rate2 if necessary.
If visualization of the spring is desired, place a very low stiffness spring, otherwise only the force motor applies the representation of the spring.
Also, as a pro tip, many things like friction, aerodynamic drag, etc. can be applied as equations within force motors.


Welcome to the PTC Community
No account yet? Create an account
Please use your PTC eSupport account.
LoginEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.

