Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
In Creo Mechanism (MDO) motion simulation,
I would like to use different spring constants for the loading and unloading (return) directions, in order to represent spring hysteresis.
Is there any way to simulate this behavior in MDO?
If not directly supported, what is the recommended workaround?
Hi
just thinking out loud : did you try and use a parameter, relations and analysis ?
the stiffness could take a value depending on the direction.
the stiffness of the spring can be set a parameter
that parameter can be define by a relation
that relation could give different values to the stiffness
now you need to find how to pick the direction
maybe try with measures
my two scents
I will try it like below.
If measure_ω > 0
spring_k=30
Else
spring_k=20
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.
relations are not linked/updated to measures during analysis.
-> thank you for the information.
Your solution looks like it work. I will try.
Thank you
